Ну, я с ним вообще не работал никогда, поэтому не знаю, какие есть утилиты, конвертеры, симуляторы)
Вид для печати
ну это не страшно... systemVerilog очень простой. навороты языка необязательно использовать. НО есть нюансы (для любого языка HDL): RS-триггер идентичный ТМ2 невозможно изобразить (к примеру сложно описать выходы при запрещённой комбинации на входе) u190 R=1 S=1 что должно быть на выходе ?.
Другая сложность - это крайне не рекомендуется использовать тактовый сигнал как логический сигнал. U475+u192
Мне, в принципе, верилог и не нужен, т.к. никогда не занимаюсь разработкой для 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гр"), либо адаптировать схему принципиальную под одну тактовую. Разница в рабочей частоте примерно в раза будет отличаться (куча нюансов).
Я думаю, что для FPGA во многих местах эта комбинация вполне может быть заменена на триггер с защелкиванием по спаду. Правда, нельзя это тупо все менять, надо смотреть, где можно так, а где немного иначе.
https://pic.maxiol.com/images2/17246...52473.01cc.png
А в плис одновременно используются триггеры по фронту и спаду? Или чтобы реализовать и такие, и такие, надо иметь две CLK, одна сдвинутая на 180 градусов? Или как-то еще.
- - - Добавлено - - -
И еще вопросы:
1. Я так понимаю, что в ФПГА нет внутренних шин с Z-состоянием и открытым коллектором?
2. Как можно реализовать обьединение двух шин, когда они в какой-то такт процессора запараллеливаются (LBUS и HBUS)? Т.е. получается так, что в режиме обьединения шин все, что выводится на шину LBUS, например, появляется и на HBUS, и наоборот.
Я может не так выразился) Не один тот же триггер чтобы работал по фронту и спаду, а чтобы на кристалле были триггеры, одни из которых по фронту, другие по спаду.
Вообще, я думаю, что может быть зря обходил стороной сферу эмуляции в FPGA. Ведь гораздо проще перенести логическую схему в FPGA с небольшими адаптациями, чем программно эмулировать тоже самое на компьютере (с адекватной скоростью, на на уровне симуляции работы транзисторов, как в Z80 Explorer). Хотя, программная эмуляция мне наиболее интересна, т.к. привычнее.
Отсюда пара оффтопных вопросов:
Скрытый текст
1. Какие сейчас самые хорошие и ходовые вместительные FPGA? Производитель, серия? (китайцев лучше не предлагать). И чтобы отладочная плата продавалась готовая с HDMI, VGA, даже может композитом.
2. В каких средах и на каких языках сейчас пишут под FPGA? Какой есть нормальный симулятор, чтобы загрузил проект, и мог посмотреть симуляцию работы в виде диаграмм?
3. Какие есть учебники/ролики и т.д. чтобы ознакомиться с темой?
4. Есть ли пример проекта какого-то простенького спектрума, чтобы посмотреть, как вообще это делают.[свернуть]