iCE40 IceStorm FPGA Flow: двунаправленные выводы ввода / вывода
Использование потока iCE40 FOSS IceStorm FPGA: как записать Verilog для вывода ввода-вывода с 3 состояниями (например, вывод двунаправленной шины данных), используя yosys/iceStorm?
1 ответ
Решение
В настоящее время существует только ограниченная поддержка для вывода нетривиальных буферов ввода-вывода из поведенческого кода. Таким образом, лучший способ создания двунаправленных буферов ввода-вывода - создание экземпляра ячейки SB_IO вручную. Например:
SB_IO #(
.PIN_TYPE(6'b 1010_01),
.PULLUP(1'b 0)
) raspi_io [8:0] (
.PACKAGE_PIN(iopin),
.OUTPUT_ENABLE(dout_en),
.D_OUT_0(dout),
.D_IN_0(din)
);
(С iopin
будучи портом модуля верхнего уровня.)
См. Документацию библиотеки технологий Lattice iCE40 для более подробной информации о SB_IO и других примитивах iCE40.