作业帮 > 综合 > 作业

verilog语言中,

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/04 19:56:17
verilog语言中,
assign emif_oen_o = ((nn_mode == 2'b00) & nor_en | (nn_mode == 2'b01) & nand_en);
其中 emif_oen_o ,nor_en ,nand_en 均为1bit的
我想问的是这局话是啥意思呢~
还有就是,emif_oen_o 是1 bit的,而nn_mode 2 bit的,运算后怎么连接呢~
我是新学verilo,还请各位大哥教教小弟~
verilog语言中,
其实这是一个判断式,假设a == (nn_mode == 2'b00),所以这个意思就是如果nn_mode == 2'b00说明括号内式子成立,a == 1;否则 a == 0.是1bit的.emif_oen_o 是1 bit的,而nn_mode 2 bit的他俩之间没什么关系.
再问: 您看我这样理解对么: 如果nn_mode == 2'b00 , 那么 emif_oen_o = nor_en
再答: 不是。其实你的式子是想表达下面这个意思,与的优先级比或高。 assign emif_oen_o = (((nn_mode == 2'b00) & nor_en) | ((nn_mode == 2'b01) & nand_en)); 所以,如果nn_mode == 2'b00 , 那么 : emif_oen_o = ((1 & nor_en)|(0 & nand_en)); 所以,如果nn_mode == 2'b01 , 那么 : emif_oen_o = ((0 & nor_en)|(1 & nand_en));
再问: 嗯啊, 所以,如果nn_mode == 2'b00 , 那么 : emif_oen_o = ((1 & nor_en)|(0 & nand_en)) = nor_en 所以,如果nn_mode == 2'b01 , 那么 : emif_oen_o = ((0 & nor_en)|(1 & nand_en))= nand_en 那个 “0 & 一个数” ,结果不是0么~~,先与最后才或 我这样理解对么~~
再答: 第二次回答是,打错了!very good!~