收藏 分销(赏)

可编程逻辑器件设计及应用试验报告样本.doc

上传人:二*** 文档编号:4746588 上传时间:2024-10-11 格式:DOC 页数:41 大小:3.27MB
下载 相关 举报
可编程逻辑器件设计及应用试验报告样本.doc_第1页
第1页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Harbin Institute of Technology可编程逻辑器件设计及应用实验报告 实验一:电路图办法设计:异步16分频 一、 实验内容1、 熟悉ISE M安装及使用2、 熟悉电路图方式输入办法;3、 熟悉ISE环境下波形仿真4、 学习SIE安装过程5、 建立一种新工程(cpld 9500系列)6、 输入电路图异步16分频,如图1-1所示:图1-1二 实验成果1、异步16分频电路图如图1-2所示:图1-22、 建立测试波形办法仿真勉励图形,如图1-3所示:图1-33、 引脚约束条件如下:NET CLK LOC = P6;NET CLR LOC = P7;NET O1 LOC = P4

2、2;NET O2 LOC = P37;NET O3 LOC = P40;NET O4 LOC = P39;4、 最后仿真成果如图1-4,1-5所示:图1-4图1-5三 实验成果讨论分析通过本次实验,初步掌握了ISE用法,通过ISE自带库文献完毕电路搭建,实现了对输入时钟2分频,4分频,8分频和16分频,通过最后实验验证得到了正的确验成果。指引教师签字:实验二 电路图办法分层设计:全加器 一、实验内容1、 建立一种新工程(cpld 9500系列)2、 建立一种独立电路图(All_ADD)3、 输入电路图: 一位全加器图2-1一位全加器4、 建立测试波形办法仿真勉励图形图2-2波形仿真勉励5、 功

3、能仿真记录成果,分析对的性。6、 生成电路模块 图2-3模块建立7、 运用电路模块设计8位全加器,(新电路图或者顶层电路图)图2-4 8位全加器(顶层电路图)8、 建立测试波形办法仿真勉励图形图2-5 8位全加器波形仿真勉励9、 学习总线数据预置方式:通过使用相似名字来对总线进行连接设立,和总线数据格式。二 实验成果一位全加器功能仿真成果:图2-6 功能仿真成果8位全加器功能仿真成果一(无进位):图2-7 功能仿真成果8位全加器功能仿真成果二(有进位):图2-8 功能仿真成果三 实验成果讨论分析本次实验充分体现了模块化设计思想,一方面咱们运用库文献实现了一位全加器,也即实验中ALL_ADD模块

4、,在实现此模块后进行仿真分析,拟定无误后,运用8个一位全加器实现实现8位全加器,考虑进位。在实验中进一步熟悉了软件使用流程和详细实际操作如操作总线构造等基本操作,可谓知行合一。指引教师签字:实验三 Verilog语言办法设计:8位全加器 一、实验内容1、 建立一种新工程(cpld 9500系列)2、 建立一种Verilog模块(All_ADD8)图3-1 建立一种新verilog模块3、 输入全加器图3-2 输入全加器4、 建立测试波形办法仿真勉励图形测试波形一:图3-3 测试波形测试波形二:图3-4 测试波形5、 功能仿真记录成果,分析对的性。6、 建立Verilog测试模块源代码如下:7、

5、 功能仿真记录成果,分析对的性。进位成果。理解掌握语言描述。8、 8位可预置计数器(实验扩展)9、 建立一种Verilog模块(Counter8)源代码如下:timescale 1ns / 1psmodule extentest_v;reg 7:0 D;reg CLK;reg CLR;reg PR;wire 7:0 Q;extendex uut (.D(D),.CLK(CLK),.CLR(CLR),.PR(PR),.Q(Q); parameter PERIOD = 200; always begin CLK = 1b0; #(PERIOD/2) CLK = 1b1; #(PERIOD/2);

6、end initial beginD = 0;CLR = 0;PR = 0;#100;每隔100ns变换一次输入数据PR = 1;D = 17;CLR = 0;#100;PR = 0;#100;end endmodule10、 学习总线数据预置方式11、 自己建立仿真过程(波形+Verilog测试)二 实验成果测试波形一成果:图3-5 仿真测试成果测试波形二成果:图3-6 仿真测试成果文献测试成果:图3-7 仿真测试成果更改数据测试成果:图3-8 仿真测试成果三 实验成果讨论分析本次实验与上次实验不同之处在于:上次实验是通过库文献链接电路图先实现1位全加器,在此基本上运用8个1位全加器按照逻辑

7、链接在一起实现8位全加器,而在本次实验中,咱们运用是Verilog语言实现,个人感觉这种更加简朴清晰,一方面是这种办法省去了电路链接麻烦,另一方面是它实现过程中只需要编程实现模块即可,不用先生成1位全加器,然后再去实现8位全加器,编程仿真实现想要成果后可以直接生成8位全加器模块,操作极为简朴。指引教师签字:实验四 LED显示模块设计 一、实验内容1、 在上一工程基本上继续做a、 工程名称:MyProject1b、 选取器件:Spartan3E2、 建立LED显示模块(verilog)图4-1 LED显示模块l 功能阐明:a、 数据输入:4bits; b、 数据输出;8bits;c、 功能:翻译

8、16进制到7段LED显示(参照显示16进制数对照表)l 过程阐明:a、 建立Verilog模块;b、 建立Verilog仿真;c、 验证模块对的性;3、 建立显示数据锁存分派模块(verilog)图4-2 数据锁存模块l 功能阐明:a、 数据输入:8bits。b、 CK:锁存信号,上升沿锁存输入数据c、 数据输出:锁存输出最后输入两字节数据,分别相应4位输出l 过程阐明:a、 建立Verilog模块;b、 建立Verilog仿真;c、 验证模块对的性;4、 建立电路图方式顶层模块显示模块图4-3 顶层5、 联合验证;二 实验成果输入波形一:图4-4 测试波形得到相应仿真成果图一:图4-5 仿真

9、成果输入波形二:图4-6 测试波形得到相应仿真波形成果图二:图4-7 仿真成果三 实验成果讨论分析本次实验依然使用是Verilog语言,个人觉得实现核心之处在于输入输出相应,咱们对照共阴极发光二极管显示模式,为每一种输入通过编程实现其相应输出即可。本次实验更进一步理解Verilog编程语言,以及电路设计模块化实现,在本次实验中引入了时钟,对时钟生成与操作有了初步理解为下一次实验打下了基本,与此同步,我还学习到了Verilog语言某些特有编程规则。指引教师签字:实验五 串行口设计一、 实验内容预备知识:串行通信:数据一位一位顺序发送或接受。异步通信:它用一种起始位表达字符开始,用停止位表达字符结

10、束。其每帧格式如下: 在一帧格式中,先是一种起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(能省略),最后是停止位1。用这种格式表达字符,则字符能一种接一种地传送。无奇、偶校验工作模式(10位):有奇、偶校验工作模式(11位):(1) 波特率:在串行通信中,用波特率来描述数据传播速度,所谓波特率,即每秒钟传送二进制位数,其单位是bps(bits per second).它是衡量串行数据速度快慢重要指标.国际上规定一种原则波特率系列:110,300,600,1200,1800,2400,4800,9600,14.4K,19.2K,28.8K,33.6K,56Kbps(2)

11、 奇偶校验:对传送数据中1个数进行校验,若两者不一致,则阐明数据传送过程中浮现了差错.奇偶校验特点是按字符校验,数据传播速度将受到影响,普通只用于异步串行通信中。实验过程:1、 建立一种新工程 a、 工程名称:MyProject1b、 选取器件:Spartan3E2、 建立模式控制模块(verilog)图5-1 模式控制模块l 功能阐明:a、 DataIn:控制数据输入、8bits;低4位用于选取波特率模式,最高位用于选取奇、偶校验与否有效;b、 WR:控制数据写入,1bit;上升沿锁存输入数据;c、 FreOut:波特率模式选取输出,DataIn低4位,由WR上升沿锁存保持;09变化;不不大

12、于9不变化。d、 ModOut:奇、偶校验模式选取;DataIn最高位,由WR上升沿锁存保持;e、 默认值:FreOut =6;ModOu=1;l 过程阐明:a、 建立Verilog模块;b、 建立Verilog仿真;c、 验证模块对的性;源代码如下:module ModeCon(DataIn,WR,FreOut,ModOut); input 7:0 DataIn; input WR; output 3:0 FreOut; output ModOut; reg ModOut=1;/ModOut初始值为1 reg 3:0 FreOut=6;/FreOut初始值为6 always (posedge

13、 WR) beginModOut=DataIn7;if(DataIn3:09)FreOut=DataIn3:0; endendmodule测试代码如下:module ModeConTest_v; reg 7:0 DataIn;reg WR;wire 3:0 FreOut;wire ModOut; parameter PERIOD = 100;/value=时钟周期(单位ns) always begin WR = 1b0; #(PERIOD/2) WR = 1b1; #(PERIOD/2); end / Instantiate the Unit Under Test (UUT)ModeContr

14、ol uut (.DataIn(DataIn),.WR(WR),.FreOut(FreOut),.ModOut(ModOut);initial beginDataIn = 0;WR = 0;/ Wait 100 ns for global reset to finish#100; DataIn=16h12; #100; DataIn=16h23; #100; DataIn=16h44; #100; DataIn=16h96;/ Add stimulus hereend endmodule3、 建立波特率发生器模块(verilog)图5-2 波特率发生模块l 功能阐明:a、 FreSel:波特率

15、控制数据输入、4bits;09变化,相应选取波特率300、600、1200、1800、2400、4800、9600、14.4K、19.2K、28.8Kbps共10种变化。b、 CLK:时钟射入,频率为22.1184MHz;c、 CLK_S:相应波特率分频输出,依照FreSel输入控制数据进行相应分频,相应模式有300、600、1200、1800、2400、4800、9600、14.4K、19.2K、28.8Kbpsd、 CLK_S16:相应波特率16倍分频输出;l 过程阐明:a、 建立Verilog模块;b、 建立Verilog仿真;c、 验证模块对的性;d、 建立电路图方式顶层模块Seria

16、le、 连接波特率发生器模块和模式控制模块进行联合验证;源代码如下:module FreqMod(FreSel,CLK,CLK_S16,CLK_S); input 3:0 FreSel; input CLK; output CLK_S16; output CLK_S; reg CLK_S=0; reg CLK_S16=0; reg 16:0count=0; reg 16:0count_16=0; reg 16:0num=0; reg 16:0num16=0; always (posedge CLK) beginif(FreSel=0)num=36864;/300 else if(FreSel=

17、1)num=18432;/600else if(FreSel=2)num=9216;/1200else if(FreSel=3)num=6144;/1800else if(FreSel=4)num=4608;/2400else if(FreSel=5)num=2304;/4800else if(FreSel=6)num=1152;/9600else if(FreSel=7)num=768;/14.4kelse if(FreSel=8)num=576;/19.2kelse if(FreSel=9)num=384;/28.8k end always (posedge CLK) begin coun

18、t=count+1; num16=num) beginCLK_S=CLK_S;count=num16)beginCLK_S16=CLK_S16;count_16=0;endendendmodule测试代码如下:module FreqModTest_v;/ Inputsreg 3:0 FreSel;reg CLK;/ Outputswire CLK_S16;wire CLK_S; parameter PERIOD = 100;/value=时钟周期(单位ns) always begin CLK= 1b0; #(PERIOD/2) CLK = 1b1; #(PERIOD/2); end / Ins

19、tantiate the Unit Under Test (UUT)BitProducer uut (.FreSel(FreSel),.CLK(CLK),.CLK_S16(CLK_S16),.CLK_S(CLK_S);initial begin/ Initialize Inputs/ Wait 100 ns for global reset to finish #100; FreSel=1001;/ Add stimulus hereend endmodule4、 建立发送数据模块(verilog)图5-3 发送数据模块l 功能阐明:a、 DataIn:发送数据输入、8bits;b、 WR:控

20、制数据写入,1bit;上升沿锁存输入数据;写入后下一种CLK上升沿开始及时发送数据c、 CLK:时钟射入,相应波特率时钟;d、 Mod:模式输入,0相应无奇偶校验;1相应有奇偶校验;e、 TX:串行数据输出,平时高电平,当有数据输入后,下一种CLK上升沿开始及时发送数据;f、 BUSY:空闲批示,当TX输出时为高,其他时间为低;l 过程阐明:a、 建立Verilog模块;b、 建立Verilog仿真;c、 验证模块对的性;d、 加入顶层模块Seriale、 进行联合验证;源代码如下:module TxMod(DataIn,WR,CLK,Mod,TX,BUSY); input 7:0 DataI

21、n; input WR; input CLK; input Mod; output TX; output BUSY; reg Tx=1; reg Busy=0; reg 7:0data=0; reg flag=0; reg 3:0count=1; reg num=0; always (posedge WR) begin data=DataIn; num=data0+data1+data2+data3+data4+data5+data6+data7; flag=1; end always (posedge CLK) begin if(flag=1) begin Busy=1; if(count=

22、1) Tx=0; else if(count=2) Tx=data0; else if(count=3) Tx=data1; else if(count=4) Tx=data2; else if(count=5) Tx=data3; else if(count=6) Tx=data4; else if(count=7) Tx=data5; else if(count=8) Tx=data6; else if(count=9) Tx=data7; else if(count=10) begin if(Mod=0) Tx=1;else if(Mod=1) Tx=num;count=0;flag=0

23、; end count=count+1; end else Tx=1; Busy=0; endendmodule5、 建立发送数据模块(verilog)图5-4 发送数据模块l 功能阐明:a、 RX:串行数据输入、1bits;b、 CLK:时钟输入,相应16倍波特率时钟。目:提高采样率,在第一时刻发现起始脉冲;同步对每一位进行3次采样(时间平均),已剔出干扰;c、 Mod:模式输入,0相应无奇偶校验;1相应有奇偶校验;d、 TX:串行数据输出,平时高电平,当有数据输入后,下一种CLK上升沿开始及时发送数据;e、 DataOut:接受转换后数据;f、 EN:接受完毕使能,平时为第电平,接受完毕后

24、保持一种波特率周期高电平。g、 ERR:奇偶校验错误批示,平时为第电平,接受完毕后保持一种波特率周期高电平。l 过程阐明:a、 建立Verilog模块;b、 建立Verilog仿真;c、 验证模块对的性;d、 加入顶层模块Serial进行联合验证;二 实验成果(1) 模式选取模块在Mod=1时,进行如下仿真波形设立:图5-5 测试波形设立得到如下仿真成果:图5-6 仿真成果在Mod=0时,进行如下仿真波形设立:图5-7 测试波形设立得到如下仿真成果:图5-8 仿真成果在FreOut =6;ModOut=1默认值时,设立仿真测试波形如下:图5-9 测试波形设立得到仿真成果如下:图5-10 仿真成

25、果(2) 波特率发生模块仿真波形设立如下:图5-11 测试波形设立仿真成果如下:图5-12 仿真成果(3) 数据发送模块仿真测试输入波形如下:图5-13 测试波形设立仿真成果如下:图5-14 仿真成果(4) 接受模块测试波形设立如下:图5-15 测试波形设立仿真成果如下:图5-16 仿真成果图5-17 仿真成果(5) 联合仿真验证由上述四个模块构成顶层文献如下图所示:图5-18 顶层文献对其进行波形仿真验证,测试波形设立如下图:图5-19 测试波形图5-20 测试波形测试成果如下:图5-21 仿真成果图5-22 仿真成果三 实验成果讨论分析实验中串行口模块由4个基本模块构成,分别是模式控制模块、波特率产生模块、接受模块和发送模块,本次实验令我收获最大地方就是就是对设计流程逐渐熟悉,从模式控制模块、波特率控制模块、接受模块到发送模块一步一步实现,在每一步仿真验证后最后将每个某些合在一起实现本次实验。本次实验耗时时间最长,前期预备工作及其重要,多和同窗讨论最后才干顺利完毕本次实验。指引教师签字:

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服