Verilog的135个经典设计实例

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Verilog的135个经典设计实例

1、立即数放大器:立即数放大器是一种用于将输入电平放大到更高电平的电路,它可以实现任意输入到输出的映射,并且可以在Verilog中使用。立即数放大器的Verilog实现如下:

module immedamp(in, out);

input in;

output out;

reg [3:0] immed;

assign out = immed[3];

begin

case (in)

4'b0000: immed = 4'b1000;

4'b0001: immed = 4'b1001;

4'b0010: immed = 4'b1010;

4'b0011: immed = 4'b1011;

4'b0100: immed = 4'b1100;

4'b0101: immed = 4'b1101;

4'b0110: immed = 4'b1110;

4'b0111: immed = 4'b1111;

4'b1000: immed = 4'b1000;

4'b1001: immed = 4'b1001;

4'b1010: immed = 4'b1010;

4'b1011: immed = 4'b1011;

4'b1100: immed = 4'b1100;

4'b1101: immed = 4'b1101;

4'b1110: immed = 4'b1110;

4'b1111: immed = 4'b1111;

endcase

end

endmodule

2、多路复用器:多路复用器是一种用于将多个输入选择转换为单个输出的电路,它可以实现由多种方式选择的输出,并可以使用Verilog实现。多路复用器的Verilog实现如下:

module multiplexer ( sel, d1, d2, d3, d4, q);

input [1:0] sel;

input d1, d2, d3, d4;

output q;

reg q;

begin

case (sel)

2'b00:q=d1;

2'b01:q=d2;

2'b10:q=d3;

2'b11:q=d4;

endcase

end

endmodule

3、压缩器:压缩器是一种用于将较大的数据字缩小的电路,它可以实现由较大的数据字放大到较小的数据字的映射,并可以使用Verilog实现。

input a,b,c,d,e,f,g,h;

output out1,out2;

reg [3:0] temp;

assign out1 = temp[3];

assign out2 = temp[2:0];

begin

case ({a,b,c,d,e,f,g,h})

相关文档
最新文档