Verilog HDL数字设计教程 作者 贺敬凯 全书 第4章 Verilog HDL常用电路设计.pptVIP

  • 12
  • 0
  • 约8.68千字
  • 约 30页
  • 2015-12-12 发布于广东
  • 举报

Verilog HDL数字设计教程 作者 贺敬凯 全书 第4章 Verilog HDL常用电路设计.ppt

第4章 Verilog HDL常用电路设计 4.1 常用组合逻辑电路设计 4.2 常用时序逻辑电路设计 4.3 小结 4.1 常用组合逻辑电路设计 4.1 常用组合逻辑电路设计 数据选择器 译码器 加法器 乘法器 比较器 ALU 三态总线 三态总线 三态总线 三态总线 4.2 常用时序逻辑电路设计 4.2 常用时序逻辑电路设计 D触发器和锁存器 寄存器 寄存器 移位寄存器 计数器 计数器 分频器 分频器 分频器 分频器 程序存储器 ROM 数据存储器 RAM P104 T1、2、3、4、 5、 6、 7、8 * * 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 1 数据选择器 2 译码器 3 加法器 4 乘法器 5 比较器 6 ALU 7 三态总线 【例4-1】 参数型n位,mx1数据选择器 module multiplexer_N( X1,X2,X3,X4, sel,Y); parameter N=8; //该参数定义了一个(8位)的4选一多路选择器 input[N-1: 0] X1,X2,X3,X4; input[1:0] sel; output reg [N-1: 0] Y; always @(sel,X1,X2,X3,X4) case(sel) 2b00: Y = X1; 2b01: Y = X2; 2b10: Y = X3; 2b11: Y = X4; endcase endmodule 【例4-2】 参数型log nxn译码器 module decode_N( sel, Y); parameter N=4; //该参数定义了一个4输出(4位)的译码器 input[1:0] sel; //此参数为2位,通过计算log4=2得到,可得到4输出译码器 output reg [N-1: 0] Y; always @(sel) case(sel) 2b00: Y = 4b0001; 2b01: Y = 4b0010; 2b10: Y = 4b0100; 2b11: Y = 4b1000; endcase endmodule 【例4-3】 参数型N位加法器 module add_N( X, Y, sum, co); parameter N=8; input [N-1: 0] X, Y; output [N-1: 0] sum; output co; assign { co, sum } = X + Y; endmodule 【例4-4】 参数型N位乘法器 module mul_N( X, Y, mul); parameter N=8; input [N-1: 0] X, Y; output [2*N-1: 0] mul; assign mul = X * Y; endmodule 【例4-5】 参数型N位比较器 module compare_N( X, Y, X_gt_Y, X_eq_Y, X_lt_Y); parameter N=8; //参与比较的数的位数为8 input [N-1: 0] X, Y; output reg X_gt_Y, X_eq_Y, X_lt_Y; always @(X,Y) if(XY) begin X_gt_Y=1;X_eq_Y=0; X_lt_Y=0; end else if(X==Y) begin X_gt_Y=0;X_eq_Y=1; X_lt_Y=0; end else begin X_gt_Y=0;X_eq_Y=0; X_lt_Y=1; end endmodule 【例4-6】 参数型n位,m功能ALU module alu_N(X, Y, sel,result); parameter N=8; input[2:0] sel; //3位可定义m=8功能 input [N-1: 0] X, Y; output reg[N-1: 0] result; always @(X, Y, sel) begin case(sel) 3b000: result=X+Y; //加法 3b001: result=X-Y; //减法 3b010: result=X1; //左移1位 3b011: result=X1; //右移1位 3b100: result=XY; //相与 3b101: result=X^Y; //异或 3b110: result=~X; //求反 3b111: result=X; //直通 endcase

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档