当我用Yosys和arachne合成一个空电路时,我得到了一些不规则的比特:
.io_tile 6 17
IoCtrl IE_1
.io_tile 6 0
IoCtrl REN_0
IoCtrl REN_1到目前为止,这些文件也是我可以生成的所有其他文件的一部分。由于未使用的I/O块同时设置了IE位,因此我将其读为:
然而,根据文档,没有IE/REN区块6 17 0。这些片段的意义是什么?如果块6 17 0的IE位因为块不存在而取消设置,为什么其他块的位也不存在?其他IE/REN块似乎对应于I/O块6 0 1和7 0 0。这些块是做什么的,为什么它们总是被配置为输入?
技术库条目SB_IO没有提到IE位。它与PIN_TYPE参数设置有什么关系?
当我使用一个I/O引脚作为输入,任位被设置(拉上电阻禁用)。这表明,拉起电阻主要是为了防止未使用的引脚浮动,而不是为有条件连接的输入(例如按钮)提供拉出电阻。这个假设正确吗?为了这个目的,可以使用内部的拉起电阻吗?
技术图书馆说:
defparam IO_PIN_INST.PULLUP = 1'b0;
// By default, the IO will have NO pull up.
// This parameter is used only on bank 0, 1,
// and 2. Ignored when it is placed at bank 3这是否意味着银行3没有拉电阻,或者仅仅是他们不能重新启用使用Verilog?如果我手动清除ASCII比特流中的位会发生什么?(我会尝试这样做,但iCEstick评估委员会并没有让3号银行的任何密码可以访问--这是巧合吗?--我还不确定自己是否想弄乱硬件。)
当我使用I/O引脚作为输出时,IE位不会被清除,但是输入引脚函数被设置为PIN_INPUT。这有什么影响,为什么要这样做?
发布于 2017-03-01 14:04:26
未使用的IO引脚的默认行为是启用拔起电阻和禁用输入启用。在iCE40 1k芯片上,这意味着设置了IE_0和IE_1,并在未使用的IO块中清除了REN_0和REN_1。(在8k芯片上,IE_*是活动高的,即8k芯片上未使用的IO块中的所有位都被清除。)
默认情况下,icebox_explain隐藏具有“无趣”内容的块。(运行icebox_explain -A禁用此功能。)
看起来,arachne-pnr没有为当前包中不可用的IO引脚设置那些位。因此,您可以在一些IO块中获得一些不寻常的位模式,其中包含未连接到任何包引脚的IO块的IE/REN位。
在1k架构上,“正常”未使用的IO瓷砖是这样的:
$ icebox_explain -mAt '1 0' example.asc
Reading file 'example.asc'..
Fabric size (without IO tiles): 12 x 16
.io_tile 1 0
B0 ------------------
B1 ------------------
B2 ------------------
B3 ------------------
B4 ------------------
B5 ------------------
B6 ---+--------------
B7 ------------------
B8 ------------------
B9 ---+--------------
B10 ------------------
B11 ------------------
B12 ------------------
B13 ------------------
B14 ------------------
B15 ------------------
IoCtrl IE_0
IoCtrl IE_1为了这个目的,可以使用内部的拉起电阻吗?
是。
SB_IO的技术库条目没有提到IE位。它与PIN_TYPE参数设置有什么关系?
当D_IN_0或D_IN_1从SB_IO连接到某物时,这就意味着IE。
当我使用I/O引脚作为输出时,IE位不会被清除
请注意,IE在1k芯片上是活动低的,而在8k芯片上是活动高的。当您在1k设备上使用I/O引脚作为输出引脚时,应该设置相应的IE位,否则应该清除它。
发布于 2017-06-12 16:19:22
我找到了这个解释,所以我在这里分享它,供将来参考:
.io_tile 6 17
IoCtrl IE_1I/O块16 7 0连接到某些包中的引脚,而不是在TQFP包中。
.io_tile 6 0
IoCtrl REN_0
IoCtrl REN_1这对应于I/O块6 0 1和7 0 0(引脚49和50),其输入路径分别输入PLL PORTA和PORTB时钟。
https://stackoverflow.com/questions/42423960
复制相似问题