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.

Другие вопросы по тегам