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