FPGA — это тип полупроводниковых микросхем, которые можно перепроектировать после того, как они были разработаны и отправлены заказчику. Разработчики могут создавать программы для изменения структуры FPGA, чтобы помочь своей организации выполнить конкретный вариант использования, который они имели в виду. Я описываю шаги на основе руководства, разработанного Intel.
Требования:
- Аппаратное обеспечение: плата DE-10 Nano Kit, построенная на основе системы на кристалле FPGA от устройства Intel Cyclone V.
- Программное обеспечение: Intel Quartus Prime можно использовать в качестве среды разработки для разработки, компиляции и программирования кода для FPGA. Языком программирования будет VHDL (Verilog Hardware Definition Language), аналогичный языку C.
Этапы программирования ПЛИС:
- Дизайн: создайте проект Quartus и выберите семейство FPGA и другие детали. Создайте файл Verilog в проекте Quartus и запишите в него следующий код Verilog. Выберите контакты, которые будут действовать как часы, вход и выход. Создайте файл SDC (ограничения дизайна синопсиса), чтобы указать временные ограничения для дизайна, включая целевую частоту и т. д.
- Компиляция: Fitter размещает и направляет логику синтезированного дизайна в ресурсы целевого устройства. Ассемблер генерирует программный образ, который можно загрузить в устройство FPGA. Выполняется временной анализ, чтобы обеспечить закрытие по времени — все временные ограничения соблюдены.
- Simulate/Program: подключите плату к компьютеру, а также подключите компонент питания.
- Проверка оборудования. Убедитесь, что оборудование работает в соответствии с проектом.
// create module for a sample HELLO WORLD program with a blinking LED module blink ( input wire clk, // 50MHz input clock output wire LED // LED ouput ); // create a binary counter reg [31:0] cnt; // 32-bit counter initial begin cnt <= 32'h00000000; // start at zero end always @(posedge clk) begin cnt <= cnt + 1; // count up end //assign LED to 25th bit of the counter to blink the LED at a few Hz assign LED = cnt[24]; endmodule