iCE40 IceStorm FPGA 流程:双向 IO 引脚

iCE40 IceStorm FPGA Flow: Bi-directional IO pins

使用 iCE40 FOSS IceStorm FPGA 流程:如何使用 yosys/iceStorm 为三态 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 原语的更多详细信息,请参阅 Lattice iCE40 technology library documentation