html5作业 建设网站,百度导航下载2021最新版,wordpress如何cdn加速,网页制作方案策划1.x和z值 1.1.定义 x#xff1a;表示不定值 z#xff1a;表示高阻态#xff0c;还有一种表达方式“#xff1f;” 一个x/z可以用来定义十六进制#xff08;h#xff09;数的4位二进制的状态#xff0c;八进制#xff08;o#xff09;数的3位#xff0c;二进制#x…1.x和z值 1.1.定义 x表示不定值 z表示高阻态还有一种表达方式“” 一个x/z可以用来定义十六进制h数的4位二进制的状态八进制o数的3位二进制b数的1位或者十进制d数的整体值。 举例如下 4b10x0 //位宽为4的二进制数其bit1为不定值 8h4z //位宽为8的十六进制数其低4bit为高阻态第1种表达方式 12d? //位宽为12的十进制数其值为高阻态第2种表达方式 1.2.使用注意 在rtl仿真中x和z是两个情况而在综合时被视为一种情况因此在需要综合的代码中是不允许出现x和z的。
2.case的使用 2.1.定义 case 按位全等比较 casez忽略高阻态的bit位只关注其他位的比较结果 casex进一步放松比较范围忽略高阻态或不定态的bit位 真值表如下 2.2.使用规则 2.2.1.case 分支中不允许出现x、z/ case语句中出现“x”“z”“”,容易导致综合前后不一致。 2.2.2.可以使用casez或casex但是不允许使用z和x casez和casex仿真不一样但都可综合且综合后电路一样尽量使用casez。 使用casez(x)语句可以和”?”配合过滤可忽略bit位但是语句中不能有“x”和“z”。 举例正确代码如下“?”表示可忽略的无关比较位这里不代表高阻态。
wire [2:0] sel;
always(posedge clk)casez(sel)3’b001 : data_out data_in0 ;3’b01? : data_out data_in1 ;3’b1?? : data_out data_in2 ;default: data_out 4’b0 ;endcase 2.2.3.default项一定最好补齐 default项的补齐避免在组合逻辑中出现latch。