- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西电verilog课件第九章讲述
例9.4-2: Verilog HDL串行语句块中并行化描述语句。 (1)代码1。 module paralle1(clk,in1,in2,in3,in4,out); input clk,in1,in2,in3,in4; output out; reg d1,d2,out; always @(posedgeclk) begin d1=in1in2; d2=in3d1; out=in4|d2; end endmodule (2)代码2。 module paralle1(clk,in1,in2,in3,in4,out); input clk,in1,in2,in3,in4; output out; reg d1,d2,out; always @(posedgeclk) begin out=in4|d2; d2=in3d1; d1=in1in2; end endmodule 9.5 非阻塞赋值语句和流水线设计 (a)无流水线 (b)穿插一级流水线 图9.5-1 流水线穿插示意图 (a)时序 (b)时序 图9.5-2 流水线时序示意图 例9.5-1:乘加器电路。 (1)无流水线。 module muti_add(clk,in1_a,in1_b,in2_a,in2_b,in3_a,in3_b,in4_a,in4_b,out); input clk; input [3:0] in1_a,in1_b,in2_a,in2_b,in3_a,in3_b,in4_a,in4_b; output [8:0] out; reg [8:0]out; reg [6:0] mult1,mult2,mult3,mult4; reg [7:0]adder1,adder2; always@(posedgeclk) begin multi1=in1_a*in1_b; multi2=in2_a*in2_b; multi3=in3_a*in3_b; multi4=in4_a*in4_b; adder1= multi1+multi2; adder2= multi3+multi4; out=adder1+adder2; end endmodule (2)穿插两级流水线。 module muti_add(clk,in1_a,in1_b,in2_a,in2_b,in3_a,in3_b,in4_a,in4_b,out); input clk; input [3:0] in1_a,in1_b,in2_a,in2_b,in3_a,in3_b,in4_a,in4_b; output [8:0] out; reg [8:0]out; reg [6:0]mult1,mult2,mult3,mult4; reg [7:0]adder1,adder2; always@(posedgeclk) begin multi1=in1_a*in1_b; multi2=in2_a*in2_b; multi3=in3_a*in3_b; multi4=in4_a*in4_b; adder1= multi1+multi2; adder2= multi3+multi4; out=adder1+adder2; end endmodule 9.6 循环语句在可综合设计中的使用 module count32(clk,q); input clk; output [4:0] q; reg [4:0]q; always @(posedge clk) for(q=0;q32;) q=q+1; endmodule Verilog HDL语言在可综合设计时建议不使用循环赋值语句。但是,是不是所有循环语句都是不可综合的? 果希望用循环次数作为信号,是不可以综合的;如果循环次数仅是一个用来标识的变量,没有信号的这个概念,那么是可以综合的。 module shift8_right(clk,shift_in,shift_out); input clk,shift_in; output shift_out; reg [7:0]q; integer i: assign shift_out =q[0] always @(posedge clk) begin for(i=0;i7;i++) q[i]=q[i+1]; q[7]=shift_in; end endmodule 例9.6-1:循环语句设计模32计数器(错误程序)。 例9.6-2:循环语句设计8bits右移位寄存器。 9.7 时间优先级的概念 9.7.1 if语句和case语句的优先级 module singl
您可能关注的文档
- 西方人文精神之启蒙运动讲述.ppt
- 西安市赛格国际购物中心研究报告讲述.pptx
- 西师大版一年级上册《悯农》讲述.ppt
- 西方列强瓜分中国讲述.ppt
- 西方哲学智慧讲述.doc
- 西方现代舞史纲——名词解释笔记讲述.doc
- 西方文学史第五章讲述.ppt
- 西方社会学讲述.doc
- 西方文论1讲述.ppt
- 西方管理理论(教案)讲述.doc
- 教科版四年级下册科学第三单元岩石与土壤测试卷及参考答案【满分必刷完整版721006839.pdf
- 二年级上册数学单元测试-4.角的认识 冀教版(2014秋)(含解析) .pdf
- 【北师大版】六年级上册数学第一单元试卷_含答案 .pdf
- 教科版科学四年级下册第三单元《岩石与土壤》测试卷带完整答案(必.pdf
- 2020-2021学年选择性必修2第二单元资源、环境与区域发展达标检测卷 A.pdf
- 【名师一号】2014-2015学年高中数学第一章立体几何初步双基限时练10.pdf
- 2022年小学美术新课程标准考试测试卷(无答案) .pdf
- 受限空间、密闭空间、有限空间警示标志 .pdf
- 2022年煤矿探放水复审考试及考试题库及答案参考31 .pdf
- 电大《成本管理》形考作业任务01-04网考试题和答案 .pdf
文档评论(0)