【发布时间】:2020-03-31 18:59:43
【问题描述】:
我正在玩cliffordwolf/picorv32,但在理解picosoc (link to source) 中的以下sn-p 时遇到了一些问题:
SB_IO #(
.PIN_TYPE(6'b 1010_01),
.PULLUP(1'b 0)
) flash_io_buf [3:0] (
.PACKAGE_PIN({flash_io3, flash_io2, flash_io1, flash_io0}),
.OUTPUT_ENABLE({flash_io3_oe, flash_io2_oe, flash_io1_oe, flash_io0_oe}),
.D_OUT_0({flash_io3_do, flash_io2_do, flash_io1_do, flash_io0_do}),
.D_IN_0({flash_io3_di, flash_io2_di, flash_io1_di, flash_io0_di})
);
我在Lattice iCE40 technology library documentation 中找到了SB_IO 原语的图形描述,但我仍然无法理解它的用途,因为它太复杂了,我无法解释。关于原语有another question,在阅读后我认为它会创建某种双向连接,但我不明白这与使输出引脚“三态”有什么关系。
我希望能对SB_IO 单元在此特定配置下的效果进行高级描述。哪个引脚连接到哪个引脚?哪些是输入,哪些是输出?实例化这个单元格的目的是什么?
【问题讨论】:
-
唯一没有显示 4 个 Verilog 引脚与您提供链接的 PDF 的 P.87 上的 SB IO 焊盘之间的现成相关性的是连接到焊盘引脚的内容(flash_io_buf [3:0])。 .PIN_TYPE 描述了多路复用器的编程方式。没有上拉,并且锁存器似乎未使用。这里有编程问题还是您在错误的网站上询问硬件问题?
-
嗨@user1155120,我想问一下单元实例化计数作为编程问题的影响?如果您有兴趣,这里是背景:我刚刚学习了 Verilog 的基础知识,但从未见过像
SB_IO这样的 FPGA“原语”。我搞砸这个的原因是我的 FPGA 课程的讲师鼓励我们参加 FPGA 竞赛(这是有道理的:这将是一种很好的学习方式),为此,我需要将picosoc合并到我的设计。 -
@user1155120 另外,“焊盘引脚”
flash_io_buf [3:0]以后不再使用,所以这个实例化一定有某种副作用? -
它们是 IO 引脚。
标签: verilog fpga lattice yosys ice40