本文主要是介绍Verilog HDL小练习(一)二路选择器amp;amp;三位加法器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
二路选择器是一种及基础的逻辑电路其基本功能描述为,当选择0时输出a,选择1时输出b
RTL级描述如下:
module muxtwo(out,a,b,sl);
input a,b,sl;
output out;
//============================
reg out;
always@(sl or a or b)//表示只要有一个变化就执行下面的语句
if(!sl)
out=a;
else
out=b;
endmodule
NetList如下:
门级电路描述如下:
module muxtwo(out,a,b,sl);
input a,b,sl;
output out;
not u1(nsl,sl); //not 表示非门,原语,只有一个输出 输出在前,为nsl
and #1 u2(sela,nsl,a); //#1表示延时一个时间单位
and #1 u3(selb,sl,b); //and 表示与门,原语,只有一个输出
or #2 u4(out,sela,selb); //or 表示或门,原语,只有一个输出
endmodule
NetList如下:
综上所述就是寄存器级与门级的区别
下面是三位二进制加法器
module adder(count,sum,a,b,cin);//三位加法器
input [2:0]a,b;
input cin;
output count;
output [2:0]sum;
//============================
assign{count,sum}=a+b+cin;
endmodule
NetList如下图所示:
综合(Synthesis):就是将RTL(Register tranfer level)级文件转换为门(Gate)级文件
个人的学习体会,不足之处请多指教。
这篇关于Verilog HDL小练习(一)二路选择器amp;amp;三位加法器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!