Примеры кода
Перейдите к OpenCores, и вы найдете десятки проектов с открытым исходным кодом. Многие написаны на Verilog и охватывают весь спектр от устройств ввода-вывода до процессоров.
Также не забывайте о многих заметках по применению, доступных в Xilinx. Они очень помогают со своими устройствами.
Дизайн Flow
Подберите одну или две книги о процессе проектирования, чтобы получить представление о шагах, связанных с проектированием ПЛИС. В итоге они будут включать:
- Дизайн записи - в вашем случае, Verilog.
- Функциональное моделирование - использование различных инструментов.
- Синтез - в вашем случае, используя инструменты Xilinx ISE.
- Симуляция - для проверки вашей конструкции после синтеза, потому что некоторые аспекты Verilog не являются синтезируемыми.
- Place & Route - с использованием инструментов Xilinx ISE.
- Реализация - загрузка дизайна на ПЛИС.
- Тестирование.
Компоненты ПЛИС
Что касается использования компонентов ПЛИС, есть разные способы их использования. Но, предполагая, что вы используете элемент дизайна Verilog, вы можете сделать выводы или создать экземпляры различных компонентов.
Вывод, как правило, подразумевает получение инструментом синтеза для выбора лучших компонентов для использования на основе требуемой функциональности. Лучшим примером этого может быть разработка сумматора.
Делая q <= a + b
или q = a + b
вы можете сделать вывод сумматора. Оба будут выводить сумматор, но есть разница в том, что вы используете блокирующий / неблокирующий синтаксис.
Как правило, создание экземпляра включает вызов точного компонента библиотеки в коде. Некоторые компоненты просто не могут быть легко выведены в коде, такие как DCM. Вы можете использовать инструменты и примеры ISE, чтобы узнать больше об этом.
Фактический список самих компонентов представлен Xilinx в Руководстве по библиотекам .
Protip
Лучший способ научиться этому - это поэкспериментировать с короткими фрагментами кода и запустить их через синтез ISE, чтобы увидеть, что он выплевывает. Есть также много примеров в самом наборе инструментов ISE.
Для часов вы используете мегакор DLL / PLL.
источник