- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 常用组合逻辑电路设计 下面使用Verilog HDL分别对上述组合元件及常用的组合逻辑电路进行建模。 1. 数据选择器 例4-1实现了一个n位,m?×?1的数据选择器。 【例4-1】 参数型n位,m?×?1数据选择器。 module multiplexer_N( X1,X2,X3,X4, sel,Y); parameter N=8; //该参数定义了一个8位的4选1多路选择器 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 程序说明: (1) 程序中定义了4个输入X1、X2、X3、X4,一个输出Y,使用控制信号sel选择4个输入中的1个赋给Y。 (2) 程序中使用parameter定义了一个参数常量N,通过修改参数可以很容易地改变输入、输出的位数。 2. 译码器 例4-2实现了一个log2 n?×?n的译码器。 【例4-2】 参数型log2 n?×?n译码器。 module decode_N( sel, Y); parameter N=4; //该参数定义了一个4输出(4位)译码器 input[1:0] sel; //此参数为2位,通过计算log24=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 程序说明: (1) 程序中定义了一个输入sel,一个输出Y,使用控制信号sel来确定Y的输出。 (2) 由于本程序涉及求以2为底的对数计算,因此若修改参数N,sel的位数就要手工做相应调整,这样才可实现任意位数的译码器。 3. 加法器 例4-3实现了N位加法器。 【例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 程序说明: (1) 程序中,X和Y分别为加数和被加数,sum和co分别为本位和及进位。 (2) 本例使用数据流建模实现,在综合时会自动映射为Quartus Ⅱ自带的加法器宏功能模块。 4. 乘法器 例4-4实现了N位乘法器。 【例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 程序说明: (1) 程序中,X和Y分别为乘数和被乘数,mul为两者的积。 (2) 本例使用数据流建模实现,在综合时,会自动映射为Quartus Ⅱ自带的乘法器宏功能模块。 5. 比较器 例4-5实现了N位比较器。 【例4-5】 参数型N位比较器。 module compare_N( X, Y, X_gt_Y, X_eq_Y, X_lt_Y); parameter N=8; //参与比较的数的位数为8 nput [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 程序说明: (1) 比较器实现的功能见表4-1。 6. ?ALU 例4-6实现了一个n位、m功能的ALU。 【例4-6】 参数型n位、m功能ALU。 module alu_N(X,
您可能关注的文档
最近下载
- 新版PFMEA第五版实例.xls VIP
- 东华理工大学数学分析考研真题试题2016年—2018年.pdf VIP
- 校长在2025年秋季新学期教学工作会议上的讲话_:把功夫下在课堂里,把心思放在学生上,把质量落到细节中.docx
- 机械伤害事故专项应急预案及现场处置方案.pdf VIP
- 碧桂园精装修专家班培训之项目总如何做好精装管理.pdf VIP
- 商用厨房间净水工程方案(3篇).docx VIP
- 2025福建福州闽侯县精神病医院招聘一类编外专业技术人员43人笔试备考试题及答案解析.docx VIP
- 平安意外(B款)医疗保险条款.pdf VIP
- 东华理工大学数学分析2018年考研真题试题.pdf VIP
- 2025福建福州闽侯县精神病医院招聘一类编外专业技术人员43人笔试备考题库及答案解析.docx VIP
文档评论(0)