使用 iCE40 FOSS IceStorm FPGA 流程:如何使用 yosys/iceStorm 为 3 态 I/O 引脚(如双向数据总线引脚)编写 Verilog?
目前,对从行为代码推断非平凡 IO 缓冲区的支持有限。因此,创建双向 IO 缓冲区的最佳方法是手动实例化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
是顶级模块端口。
有关SB_IO和其他iCE40基元的更多详细信息,请参阅莱迪思iCE40技术库文档。