问个不起眼的问题 ,output的reg赋值为高阻可以输出高阻吗?
做一个并行总线,不知该用寄存器reg还是用wire来输出数据,并实现高阻,帮忙看下~~reg Dat;
if( (Addrslatch==16'H0001) || (RWn==1'b1) )
Dat = cnumber;
else Dat = 16'bzzzz_zzzz_zzzz_zzzz;//
编译没有问题,就是不知能不能实现~~ 因为我只见过线是可以高阻的,reg是怎样高阻的啊,。。{{{(>_<)}}} 代码是可以这样写的。可不可以实现要单具体的综合器 高阻态最后是在io pad处实现的,不是在register处实现的 回复【2楼】usingavr
代码是可以这样写的。可不可以实现要单具体的综合器
-----------------------------------------------------------------------
我是用的Quartus 9.0,
这样写会有问题吗?,怎么改好呢?。。 回复【楼主位】Ian11122840船儿
做一个并行总线,不知该用寄存器reg还是用wire来输出数据,并实现高阻,帮忙看下~~
reg dat;
if( (addrslatch==16'h0001) || (rwn==1'b1) )
dat = cnumber;
else dat = 16'bzzzz_zzzz_zzzz_zzzz;//
编译没有问题,就是不知能不能实现~~
-----------------------------------------------------------------------
大概是这样吧,很久没写verilog了,不保证对
reg dat;
always @(addrslatch or rwn or cnumber) begin
dat <= ((addrslatch == 16'h0001) || (rwn == 1'b1))
? cnumber
: 16'dz;
end 回复【5楼】usingavr
-----------------------------------------------------------------------
谢啦~~./emotion/em021.gif
页:
[1]