[求助] 大家看看下面的代码有问题吗??

feng1020300125   2011-8-22 17:36 楼主

module decoder_74LS138(G1,
            G2A,
            G2B,
            A,
            Y );  //定义输入输出端口
input G1,G2A,G2B;
input [2:0] A;
output [7:0] Y;       //除非G2A和G2B置低且G1置高,否则74HC138将保持所有输出为高
 
assign Y = ((G1==1)&&(G2A+G2B==0))? ~(1'b1<<A) : 8'hff;    //利用赋值语句实现译码

endmodule

这里用吧~(1'b1<<A) 中的1‘1改成8’b1吗???????

回复评论 (6)

我个人认为你上面可能还是有点问题。具体我没验证过。

G2A+G2B==0这个条件不能表达,G2A,G2B都为低的唯一条件。

G2A,G2B都为高时,上面的表达式也成立。

一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2011-8-22 21:43
我想知道的是这里用吧~(1'b1<
点赞  2011-8-23 10:24
这里用吧~(1'b1<
点赞  2011-8-23 10:24
~(1'b1<
点赞  2011-8-23 10:25
最好用8'b1
一个为理想不懈前进的人,一个永不言败人! http://shop57496282.taobao.com/ 欢迎光临网上店铺!
点赞  2011-8-23 11:20

知道了 谢谢 呵呵

我明白了  不用8‘b1也是可以
编译器会自动把后面的扩展成8位的 就是代码开起来不是很明白
不如8’b1好理解
点赞  2011-8-25 12:44
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复