Sim/circuit1从波形不难看出ab是相与的关系。moduletop_module(inputa,inputb,outputq);//assignq=a&b;//FixmeendmoduleSim/circuit2 根据波形图可以画出卡诺图并且之前有写过这个卡诺图的逻辑表达式,不难看出相邻逻辑输出会取反,所以这个是一个四变量的异或,0000输出为1,所以还要再取反。moduletop_module(inputa,inputb,inputc,inputd,outputq);//assignq=~(a^b^c^d);//FixmeendmoduleSim/circuit3继续画卡诺图 m
Sim/circuit1从波形不难看出ab是相与的关系。moduletop_module(inputa,inputb,outputq);//assignq=a&b;//FixmeendmoduleSim/circuit2 根据波形图可以画出卡诺图并且之前有写过这个卡诺图的逻辑表达式,不难看出相邻逻辑输出会取反,所以这个是一个四变量的异或,0000输出为1,所以还要再取反。moduletop_module(inputa,inputb,inputc,inputd,outputq);//assignq=~(a^b^c^d);//FixmeendmoduleSim/circuit3继续画卡诺图 m
Alwaysblock1组合逻辑always块的使用,注意这里的wire和reg综合出来的结果是一样的,这里只是verilog语法导致二者声明不一样。//synthesisverilog_input_versionverilog_2001moduletop_module(inputa,inputb,outputwireout_assign,outputregout_alwaysblock);assignout_assign=a&b;always@(*)beginout_alwaysblock=a&b;endendmoduleAlwaysblock2组合逻辑用阻塞赋值,时序逻辑用非阻塞赋值,这里
Alwaysblock1组合逻辑always块的使用,注意这里的wire和reg综合出来的结果是一样的,这里只是verilog语法导致二者声明不一样。//synthesisverilog_input_versionverilog_2001moduletop_module(inputa,inputb,outputwireout_assign,outputregout_alwaysblock);assignout_assign=a&b;always@(*)beginout_alwaysblock=a&b;endendmoduleAlwaysblock2组合逻辑用阻塞赋值,时序逻辑用非阻塞赋值,这里
Tb/clock这题要求给dut模块一个时钟。moduletop_module();regclk;always#5clk=~clk;initialbeginclk=0;enddutu0(clk);endmoduleTb/tb1产生指定的波形,使用延时语句给信号赋值即可。moduletop_module(outputregA,outputregB);////generateinputpatternshereinitialbeginA=0;B=0;#10A=1;#5B=1;#5A=0;#20B=0;endendmoduleTb/and题目要求对一个与门进行测试,要求产生波形图中的激励向量。modu
Tb/clock这题要求给dut模块一个时钟。moduletop_module();regclk;always#5clk=~clk;initialbeginclk=0;enddutu0(clk);endmoduleTb/tb1产生指定的波形,使用延时语句给信号赋值即可。moduletop_module(outputregA,outputregB);////generateinputpatternshereinitialbeginA=0;B=0;#10A=1;#5B=1;#5A=0;#20B=0;endendmoduleTb/and题目要求对一个与门进行测试,要求产生波形图中的激励向量。modu