在模拟IP仿真时,通常会使用到上拉、下拉电阻设置(此时还不是网表或hi spice仿真),其上拉电阻对应信号可赋值为1,下拉电阻赋值为0。因此会使用到pullup或pulldown。
如下举例(引自某度问答):
wire abc;
pullup(abc);
assign abc = enable ? 1’b0 : 1’bz;
enable为1的时候 abc信号为0
enable 为0的时候 assign语句的输出为高阻,但是因为pullup了abc,所以abc的值为1;
pullup是不可综合的,其实需要在PCB上做一个上拉的电阻,然后在库里面选一个open drain的pad,把 enable接到pad的enable输入。
如果是FPGA的话,看到这个语句, FPGA的综合器会自动知道把enable 接到pad的enable端 assign abc = enable ? 1’b0 : 1’bz;
但在实际的EDA数字仿真时,对应信号直接tie0/1其仿真效果一样,因此个人觉得pullup/down可能在数仿并无实际意义,应该在模拟电路仿真时才有实际的爬坡或缓降效果。
本文探讨了在模拟电路仿真中pullup和pulldown电阻的作用,指出在数字仿真中它们可能并非必需,而在实际PCB设计和硬件实现时有实际意义。讨论了如何在FPGA中处理这些概念,并提到了在EDA仿真中的简化处理方式。
1347

被折叠的 条评论
为什么被折叠?



