Verilog HDL小练习(一)二路选择器&&三位加法器

二路选择器是一种及基础的逻辑电路其基本功能描述为,当选择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如下:

Verilog HDL小练习(一)二路选择器&&三位加法器_第1张图片

门级电路描述如下:

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如下:

Verilog HDL小练习(一)二路选择器&&三位加法器_第2张图片

 

综上所述就是寄存器级与门级的区别

 

 

下面是三位二进制加法器

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如下图所示:

Verilog HDL小练习(一)二路选择器&&三位加法器_第3张图片

综合(Synthesis):就是将RTL(Register tranfer level)级文件转换为门(Gate)级文件

个人的学习体会,不足之处请多指教。

你可能感兴趣的:(FPGA小练习)