




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验六:流水线与分频设计实验班级: 姓名: 学号: 作业完成后,以班级为单位,班长或课代表收集齐电子版实验报告,统一提交.文件命名规则如“通1_王五_学号”一、实验目的1、 掌握分频技术思路2、 掌握流水线设计的方法和基本形式二、预习要求1.了解veirlogHDL行为语句。2.流水线和分频设计方法。三、 实验基本概念o 偶数分频2N:模N计数器,0到N,输出翻转 o 奇数分频2N+1: n (1)占空比X/(2N+1):用模2N+1的计数器,0x2N。从0计数到X时钟翻转,计数到2N+1再再翻转,并复位计数器。 n (2)占空比50%:基于(1)中占空比为非50的输出时钟在输入时钟的上升沿触发翻转;若在同一个输入时钟周期内,此计数器的两次输出时钟翻转分别在与(1)中对应的下降沿触发翻转,输出的时钟与(1)中输出的时钟进行逻辑或,即可得到占空比为50的奇数倍分频时钟。当然其输出端再与偶数倍分频器串接则可以实现偶数倍分频。o N-0.5分频: n N模计数器,从0开始上升沿奇数,N-1时输出翻转,在时钟翻转后经历0.5个周期时,计数器输出时钟必须进行再次翻转,即当CLK为下降沿时计数器的输入端应为上升沿脉冲,使计数器计数达到N而复位为0重新开始计数同时输出时钟翻转。这个过程所要做的就是对CLK进行适当的变换,使之送给计数器的触发时钟每经历N-0.5个周期就翻转一次。o 任意N+A/B分频 n 分别设计一个分频值为N和分频值N1的整数分频器,采用脉冲计数来控制单位时间内两个分频器出现的次数。 n 设N出现的频率为a,则Na(N+1)(B-a)NBA 求解aB-A; 所以N1出现的频率为A。 n 例如: o 8.1分频 N=8 N+1=9 A=1 B=10 a=9o N*a+(N+1)x1=8*9+9*1o 10.23分频: N=10 N+1=11 A=23 B=100 a=77 N*a+(N+1)x1=10*77+11*23o 【例9.10】 占空比50%的奇数分频(模7)o module count7(reset,clk,cout);o input clk,reset; output wire cout;o reg2:0 m,n; reg cout1,cout2;o assign cout=cout1|cout2;/两个计数器的输出相或o always (posedge clk)o begino if(!reset) begin cout1=0; m=0; endo else begin if(m=6) m=0; else m=m+1;o if(m3) cout1=1;else cout1=0; endo endo always (negedge clk)o begino if(!reset) begin cout2=0; n=0; endo else begin if(n=6) n=0; else n=n+1;o if(n3) cout2=1; else cout2=0; endo endo endmodule o 【例9.11】 占空比50%的奇数分频o module count_num(reset,clk,cout);o parameter NUM=13;o input clk,reset; output wire cout;o reg4:0 m,n; reg cout1,cout2;o assign cout=cout1|cout2;o always (posedge clk)o begin if(!reset) begin cout1=0; m=0; endo elseo begin if(m=NUM-1) m=0; else m=m+1;o if(m(NUM-1)/2) cout1=1; else cout1=0;o endo endo always (negedge clk)o begin if(!reset) begin cout2=0; n=0; endo else begino if(n=NUM-1) n=0; else n=n+1;o if(n(NUM-1)/2) cout2=1; else cout2=0; endo endo endmoduleo 【例9.12】 5.5半整数分频源代码o module fdiv5_5(clkin,clr,clkout);o input clkin,clr; output reg clkout;o reg clk1; wire clk2; integer count;o xor xor1(clk2,clkin,clk1); /异或门o always(posedge clkout or negedge clr) /2分频器o begin if(clr) begin clk1=1b0; endo else clk1=clk1;o endo always(posedge clk2 or negedge clr) /模5分频器o begin if(clr)o begin count=0; clkout=1b0; endo else if(count=5) /要改变分频器的模,只需改变count的值o begincount=0; clkout=1b1; endo else begin count=count+1; clkout=1b0; endo endo endmodule o 【例9.13】 8.1小数分频源代码o module fdiv8_1(clk_in,rst,clk_out);o input clk_in,rst; output reg clk_out;o reg3:0 cnt1,cnt2;/cnt1计分频的次数o always(posedge clk_in or posedge rst)o begin if(rst) begin cnt1=0; cnt2=0; clk_out=0; endo else if(cnt19)/9次8分频o begino if(cnt27) begin cnt2=cnt2+1; clk_out=0; endo else begin cnt2=0; cnt1=cnt1+1; clk_out=1; endo endo else begin /1次9分频o if(cnt28) begin cnt2=cnt2+1; clk_out=0; endo else begin cnt2=0; cnt1=0; clk_out=1; endo endo endo endmodule 流水线:如某个复杂逻辑功能的实现需较长的延时,可将其分解为几个(如3个)步骤来实现,每一步的延时变小,在各步间加入寄存器,以暂存中间结果,这样可大大提高整个系统的最高工作两级流水实现的8位加法器module adder_pipe2(cout,sum,ina,inb,cin,clk);input7:0 ina,inb; input cin,clk; output reg7:0 sum;output reg cout; reg3:0 tempa,tempb,firsts; reg firstc;always (posedge clk)begin firstc,firsts=ina3:0+inb3:0+cin;tempa=ina7:4; tempb=inb7:4;endalways (posedge clk)begin cout,sum7:4=tempa+tempb+firstc;sum3:0=firsts;endendmodule 四级流水线实现的8位加法器module pipeline(cout,sum,ina,inb,cin,clk);output7:0 sum;output cout;input7:0 ina,inb;input cin,clk; reg7:0 tempa,tempb,sum;reg tempci,firstco,secondco,thirdco, cout;reg1:0 firsts, thirda,thirdb;reg3:0 seconda, secondb, seconds; reg5:0 firsta, firstb, thirds;always (posedge clk)begin tempa=ina; tempb=inb; tempci=cin; end /输入数据缓存 always (posedge clk)begin firstco,firsts=tempa1:0+tempb1:0+tempci; /第一级加(低2位) firsta=tempa7:2; firstb=tempb7:2; /未参加计算的数据缓存 endalways (posedge clk)begin secondco,seconds=firsta1:0+firstb1:0+firstco,firsts; seconda=firsta5:2; secondb=firstb5:2; /数据缓存 endalways (posedge clk)begin thirdco,thirds=seconda1:0+secondb1:0+secondco,seconds;thirda=seconda3:2;thirdb=secondb3:2; /数据缓存 endalways (posedge clk)begin cout,sum=thirda1:0+thirdb1:0+thirdco,thirds; /第四级加(高两位相加) end endmodule 四、实验内容1、将偶数、奇数、点5、小数分频的实例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备维修工作总结
- 设备设施部强电与暖通管理方案
- 安徽省阜阳市阜南实验中学2024-2025学年高二下学期第二次阶段性检测(期中)生物试卷(有答案)
- 打造高效运营网络剧与微电影行业公司的策略框架
- 森林古猿生物题目及答案
- 日语授受关系题目及答案
- 2021年12月山东省普通高中学业水平合格性考试物理仿真模拟试卷A(考试版)
- 2025届北京市西城区高三一模语文试题(解析版)
- 2024-2025学年四川省乐山市普通高中高二上学期期末质量检测语文试题(解析版)
- 高炉炉顶装料设备课件
- 酒吧入职合同模版
- 医师法课件教学课件
- GB/T 44831-2024皮肤芯片通用技术要求
- 校园安全主题团课
- 新版申请银行减免利息的申请书
- 中职英语新课标词汇表
- 2024秋期国家开放大学《国际法》一平台在线形考(形考任务1至5)试题及答案
- 中华文明的起源与早期国家课件
- Unit 8 I come from China. (教学设计)-2023-2024学年湘少版(三起)英语四年级下册
- 2024年湖南中考道德与法治试卷真题答案解析(精校打印)
- 2024年浙江高考英语考纲词汇表
评论
0/150
提交评论