ну это не страшно... systemVerilog очень простой. навороты языка необязательно использовать. НО есть нюансы (для любого языка HDL): RS-триггер идентичный ТМ2 невозможно изобразить (к примеру сложно описать выходы при запрещённой комбинации на входе) u190 R=1 S=1 что должно быть на выходе ?.
Другая сложность - это крайне не рекомендуется использовать тактовый сигнал как логический сигнал. U475+u192
Последний раз редактировалось AlexG; 26.08.2024 в 00:26.
Мне, в принципе, верилог и не нужен, т.к. никогда не занимаюсь разработкой для FPGA, а мне интересны только программные эмуляторы.
Про RS-триггеры проще простого. В топологии Z80 они работают так. Если R = 1, и S = 1, то на обоих выходах простом и инверсном будут нули. Кроме того, я при реверсе специально проверяю, может ли такой триггер встать в третье состояние (может ли на него в данном включение быть подано R и S одновременно), и если может под ним подписываю.
- - - Добавлено - - -
А тут в чем сложность? Весь Z80 наполнен такими цепями. Чаще всего это используется чтобы сдвинуть сигнал на пол-такта, а потом выделить из него вторую половину, т.к. Z80 внутренне работает с дискретностью пол-такта.
- - - Добавлено - - -
Правильно ли я понимаю, что FPGA вообще не любит триггеры, которые тактируются уровнем, а не фронтом?
1) ну я и не предлагаю (не заставляю) вписываться в hdl
2) про RS - вот такие нюансы и важны для плисоводов
3) clk - если делать дословно как по схеме - будет бред в плисе (вплоть до непонятных глюков в работе), а если использовать сдвиг по фазе - то придётся адаптировать исходную схему. Компромисия - она такая ;-)
4) ну как бы в плисах (ксалинкс/алтера) нет тригеров по уровню, только по фронту. но есть защёлки аля ир22 (IN74ACT373N). но и они крайне не рекомендуются к использованию.
Другими словами схема в плисе должна описываться D-триггерами с логикой (аля ла3) между оными.
Если отступать от этого правила - падает максимальная рабочая частота.
ПС: для плис: либо пожертвовать частотой (если использовать "две тактовые 0гр/180гр"), либо адаптировать схему принципиальную под одну тактовую. Разница в рабочей частоте примерно в раза будет отличаться (куча нюансов).
Последний раз редактировалось AlexG; 26.08.2024 в 01:39.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Reobne(27.08.2024)
Я думаю, что для FPGA во многих местах эта комбинация вполне может быть заменена на триггер с защелкиванием по спаду. Правда, нельзя это тупо все менять, надо смотреть, где можно так, а где немного иначе.
А в плис одновременно используются триггеры по фронту и спаду? Или чтобы реализовать и такие, и такие, надо иметь две CLK, одна сдвинутая на 180 градусов? Или как-то еще.
- - - Добавлено - - -
И еще вопросы:
1. Я так понимаю, что в ФПГА нет внутренних шин с Z-состоянием и открытым коллектором?
2. Как можно реализовать обьединение двух шин, когда они в какой-то такт процессора запараллеливаются (LBUS и HBUS)? Т.е. получается так, что в режиме обьединения шин все, что выводится на шину LBUS, например, появляется и на HBUS, и наоборот.
Я может не так выразился) Не один тот же триггер чтобы работал по фронту и спаду, а чтобы на кристалле были триггеры, одни из которых по фронту, другие по спаду.
Вообще, я думаю, что может быть зря обходил стороной сферу эмуляции в FPGA. Ведь гораздо проще перенести логическую схему в FPGA с небольшими адаптациями, чем программно эмулировать тоже самое на компьютере (с адекватной скоростью, на на уровне симуляции работы транзисторов, как в Z80 Explorer). Хотя, программная эмуляция мне наиболее интересна, т.к. привычнее.
Отсюда пара оффтопных вопросов:
Скрытый текст
1. Какие сейчас самые хорошие и ходовые вместительные FPGA? Производитель, серия? (китайцев лучше не предлагать). И чтобы отладочная плата продавалась готовая с HDMI, VGA, даже может композитом.
2. В каких средах и на каких языках сейчас пишут под FPGA? Какой есть нормальный симулятор, чтобы загрузил проект, и мог посмотреть симуляцию работы в виде диаграмм?
3. Какие есть учебники/ролики и т.д. чтобы ознакомиться с темой?
4. Есть ли пример проекта какого-то простенького спектрума, чтобы посмотреть, как вообще это делают.[свернуть]
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)