- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安邮电学院计算机系 Verilog HDL模块设计实例 1.组合逻辑电路设计实例: [例1] 八位带进位端的加法器的设计实例(利用简单的算法描述) module adder_8(cout,sum,a,b,cin); output cout; output [7:0] sum; input cin; input[7:0] a,b; assign {cout,sum}=a+b+cin; endmodule [例2]指令译码电路的设计实例 (利用电平敏感的always块来设计组合逻辑) //操作码的宏定义 `define plus 3d0 `define minus 3d1 `define band 3d2 `define bor 3d3 `define unegate 3d4 module alu(out,opcode,a,b); output [7:0] out; input [2:0] opcode; input [7:0] a,b; reg [7:0] out;? always @(opcode or a or b) //用电平敏感的always块描述//组合逻辑 begin case(opcode) //算术运算 `plus: out=a+b; [例3].利用task和电平敏感的always块设 计比较后重组信号的组合逻辑. module sort4(ra,rb,rc,rd,a,b,c,d); parameter t=3; output [t:0] ra, rb, rc, rd; input [t:0] a, b, c, d; reg [t:0] ra, rb, rc, rd; always @(a or b or c or d) //用电平敏感的always块描述组合逻辑 begin reg [t:0] va, vb, vc, vd; {va,vb,vc,vd}={a,b,c,d}; sort2(va,vc); sort2(vb,vd); sort2(va,vb); sort2(vc,vd); sort2(vb,vc); {ra,rb,rc,rd}={va,vb,vc,vd}; end task sort2; inout [t:0] x, y; reg [t:0] tmp; if( x y ) begin tmp = x; x = y; y = tmp; end endtask? endmodule [例4]. 比较器的设计实例(利用赋 值语句设计组合逻辑) module compare(equal,a,b); parameter size=1; output equal; input [size-1:0] a, b; assign equal =(a==b)? 1 : 0; endmodule [例5]. 3-8译码器设计实例(利用赋 值语句设计组合逻辑) module decoder(out,in); output [7:0] out; input [2:0] in; assign out = 1‘b1in;/**** 把最低位的1 左移 in(根据从in口输入的值)位,并 赋予out ****/ endmodule [例6]. 8-3编码器的设计实例 编码器设计方案之一: module encoder1(out,in); output [2:0] out; input [7:0] in; reg [2:0] out; always @(in) begin: local integer i; out = 0; /*returns the value of the highest bit number turned on*/ for( i=0; i8; i=i+1 ) begin if( in[i] ) begin out = i; end end end endmodule 编码器设计方案之二: module encoder2 ( none_on, out2, out1, out0, h, g, f, e, d, c, b, a); input h, g, f, e, d, c, b, a; output none_on, out2, out1, out0; wire [3:0] outvec;? assign outvec= h? 4b0111 : g? 4b0110 : f? 4b0101: e? 4b0100 : d? 4b0011 :c? 4b0010 : b? 4b0001: a? 4b0000 : 4b1000;? assign none_on = ou
您可能关注的文档
- 虚函数与多态性.ppt
- VC1010电子邮件客户应用程序的设计与实现2.doc
- 虾蟹养殖学(第3章).ppt
- VC3004MD5算法的研究与实现-数据存储加密2.doc
- 融资租赁业务(培训用).ppt
- gann原着自然阻力水平和时间周期点.doc
- 融资租赁简史.ppt
- VC60动态生成Word表格实例.doc
- vc60++图文详细使用教程.doc
- GB23445-2009《聚合物水泥防水涂料》解析.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)