分享
分销 收藏 举报 申诉 / 33
播放页_导航下方通栏广告

类型可编程逻辑器件设计及应用实验报告.docx

  • 上传人:xrp****65
  • 文档编号:6134832
  • 上传时间:2024-11-28
  • 格式:DOCX
  • 页数:33
  • 大小:3.04MB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    可编程 逻辑 器件 设计 应用 实验 报告
    资源描述:
    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-2 2、 建立测试波形方法仿真激励图形,如图1-3所示: 图1-3 3、 引脚约束条件如下: NET "CLK" LOC = "P6"; NET "CLR" LOC = "P7"; NET "O1" LOC = "P42"; 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、 功能仿真 记录结果,分析正确性。 6、 生成电路模块 图2-3模块建立 7、 利用电路模块设计8位全加器,(新电路图或者顶层电路图) 图2-4 8位全加器(顶层电路图) 8、 建立测试波形方法仿真激励图形 图2-5 8位全加器波形仿真激励 9、 学习总线数据预置方式:通过使用相同名字来对总线进行连接设置,和总线数据格式。 二 实验结果 一位全加器功能仿真结果: 图2-6 功能仿真结果 8位全加器功能仿真结果一(无进位): 图2-7 功能仿真结果 8位全加器功能仿真结果二(有进位): 图2-8 功能仿真结果 三 实验结果讨论分析 本次试验充分体现了模块化设计思想,首先我们运用库文件实现了一位全加器,也即实验中的ALL_ADD模块,在实现此模块后进行仿真分析,确定无误后,运用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、 功能仿真 记录结果,分析正确性。进位结果。理解掌握语言描述。 8、 8位可预置计数器(试验扩展) 9、 建立一个Verilog模块(Counter8) 源代码如下: `timescale 1ns / 1ps module 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 = 1'b0; #(PERIOD/2) CLK = 1'b1; #(PERIOD/2); end initial begin D = 0; CLR = 0; PR = 0; #100;每隔100ns变换一次输入数据 PR = 1; D = 17; CLR = 0; #100; PR = 0; #100; end endmodule 10、 学习总线数据预置方式 11、 自己建立仿真过程(波形+Verilog测试) 二 实验结果 测试波形一结果: 图3-5 仿真测试结果 测试波形二结果: 图3-6 仿真测试结果 文件测试结果: 图3-7 仿真测试结果 更改数据测试结果: 图3-8 仿真测试结果 三 实验结果讨论分析 本次试验与上次试验的不同之处在于:上次试验是通过库文件链接电路图先实现1位全加器,在此基础上运用8个1位全加器按照逻辑链接在一起实现8位全加器,而在本次试验中,我们运用的是Verilog语言实现,个人感觉这种更加简单清楚,首先是这种方法省去了电路链接的麻烦,其次是它的实现过程中只需要编程实现模块即可,不用先生成1位全加器,然后再去实现8位全加器,编程仿真实现想要的结果后可以直接生成8位全加器模块,操作极为简单。 指导教师签字: 实验四 LED显示模块设计 一、实验内容 1、 在上一工程基础上继续做 a、 工程名称:MyProject1 b、 选择器件:Spartan3E 2、 建立LED显示模块(verilog) 图4-1 LED显示模块 l 功能说明: a、 数据输入:4bits; b、 数据输出;8bits; c、 功能:翻译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 仿真结果 输入波形二: 图4-6 测试波形 得到的相应仿真波形结果图二: 图4-7 仿真结果 三 实验结果讨论分析 本次试验依然使用的是Verilog语言,个人觉得实现的关键之处在于输入输出的对应,我们对照共阴极发光二极管的显示模式,为每一个输入通过编程实现其对应的输出即可。 本次试验更深入了解的Verilog编程语言,以及电路设计的模块化实现,在本次试验中引入了时钟,对时钟的生成与操作有了初步的了解为下一次试验打下了基础,与此同时,我还学习到了Verilog语言一些特有的编程规则。 指导教师签字: 实验五 串行口设计 一、 实验内容 预备知识: 串行通信:数据一位一位次序发送或接收。 异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束。其每帧的格式如下: 在一帧格式中,先是一个起始位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) 奇偶校验:对传送数据中1的个数进行校验,若二者不一致,则说明数据传送过程中出现了差错.奇偶校验的特点是按字符校验,数据传输速度将受到影响,一般只用于异步串行通信中。 实验过程: 1、 建立一个新的工程 a、 工程名称:MyProject1 b、 选择器件:Spartan3E 2、 建立模式控制模块(verilog) 图5-1 模式控制模块 l 功能说明: a、 DataIn:控制数据输入、8bits;低4位用于选择波特率模式,最高位用于选择奇、偶校验是否有效; b、 WR:控制数据写入,1bit;上升沿锁存输入数据; c、 FreOut:波特率模式选择输出,DataIn低4位,由WR上升沿锁存保持;0—9变化;大于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 WR) begin ModOut<=DataIn[7]; if(DataIn[3:0]<9) FreOut<=DataIn[3:0]; end endmodule 测试代码如下: module ModeConTest_v; reg [7:0] DataIn; reg WR; wire [3:0] FreOut; wire ModOut; parameter PERIOD = 100; //value=时钟周期(单位ns) always begin WR = 1'b0; #(PERIOD/2) WR = 1'b1; #(PERIOD/2); end // Instantiate the Unit Under Test (UUT) ModeControl uut ( .DataIn(DataIn), .WR(WR), .FreOut(FreOut), .ModOut(ModOut) ); initial begin DataIn = 0; WR = 0; // Wait 100 ns for global reset to finish #100; DataIn=16'h12; #100; DataIn=16'h23; #100; DataIn=16'h44; #100; DataIn=16'h96; // Add stimulus here end endmodule 3、 建立波特率发生器模块(verilog) 图5-2 波特率发生模块 l 功能说明: a、 FreSel:波特率控制数据输入、4bits;0—9变化,对应选择波特率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.8Kbps d、 CLK_S16:对应波特率16倍分频输出; l 过程说明: a、 建立Verilog模块; b、 建立Verilog仿真; c、 验证模块正确性; d、 建立电路图方式顶层模块Serial e、 连接波特率发生器模块和模式控制模块进行联合验证; 源代码如下: 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:0]count=0; reg [16:0]count_16=0; reg [16:0]num=0; reg [16:0]num16=0; always @(posedge CLK) begin if(FreSel==0) num<=36864;//300 else if(FreSel==1) num<=18432;//600 else if(FreSel==2) num<=9216;//1200 else if(FreSel==3) num<=6144;//1800 else if(FreSel==4) num<=4608;//2400 else if(FreSel==5) num<=2304;//4800 else if(FreSel==6) num<=1152;//9600 else if(FreSel==7) num<=768;//14.4k else if(FreSel==8) num<=576;//19.2k else if(FreSel==9) num<=384;//28.8k end always @(posedge CLK) begin count<=count+1; num16<=num/(16); count_16=count_16+1; if(count>=num) begin CLK_S<=~CLK_S; count<=0; end if(count_16>=num16) begin CLK_S16<=~CLK_S16; count_16<=0; end end endmodule 测试代码如下: module FreqModTest_v; // Inputs reg [3:0] FreSel; reg CLK; // Outputs wire CLK_S16; wire CLK_S; parameter PERIOD = 100; //value=时钟周期(单位ns) always begin CLK= 1'b0; #(PERIOD/2) CLK = 1'b1; #(PERIOD/2); end // Instantiate 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 here end endmodule 4、 建立发送数据模块(verilog) 图5-3 发送数据模块 l 功能说明: a、 DataIn:发送数据输入、8bits; b、 WR:控制数据写入,1bit;上升沿锁存输入数据;写入后下一个CLK上升沿开始立即发送数据 c、 CLK:时钟射入,对应波特率时钟; d、 Mod:模式输入,0对应无奇偶校验;1对应有奇偶校验; e、 TX:串行数据输出,平时高电平,当有数据输入后,下一个CLK上升沿开始立即发送数据; f、 BUSY:空闲指示,当TX输出时为高,其它时间为低; l 过程说明: a、 建立Verilog模块; b、 建立Verilog仿真; c、 验证模块正确性; d、 加入顶层模块Serial e、 进行联合验证; 源代码如下: module TxMod(DataIn, WR, CLK, Mod, TX, BUSY); input [7:0] DataIn; input WR; input CLK; input Mod; output TX; output BUSY; reg Tx=1; reg Busy=0; reg [7:0]data=0; reg flag=0; reg [3:0]count=1; reg num=0; always @(posedge WR) begin data<=DataIn; num<=data[0]+data[1]+data[2]+data[3]+data[4]+data[5]+data[6]+data[7]; flag<=1; end always @(posedge CLK) begin if(flag==1) begin Busy<=1; if(count==1) Tx<=0; else if(count==2) Tx<=data[0]; else if(count==3) Tx<=data[1]; else if(count==4) Tx<=data[2]; else if(count==5) Tx<=data[3]; else if(count==6) Tx<=data[4]; else if(count==7) Tx<=data[5]; else if(count==8) Tx<=data[6]; else if(count==9) Tx<=data[7]; else if(count==10) begin if(Mod==0) Tx<=1; else if(Mod==1) Tx<=num; count<=0; flag<=0; end count<=count+1; end else Tx=1; Busy=0; end endmodule 5、 建立发送数据模块(verilog) 图5-4 发送数据模块 l 功能说明: a、 RX:串行数据输入、1bits; b、 CLK:时钟输入,对应16倍波特率时钟。 目的:提高采样率,在第一时刻发现起始脉冲;同时对每一位进行3次采样(时间平均),已剔出干扰; c、 Mod:模式输入,0对应无奇偶校验;1对应有奇偶校验; d、 TX:串行数据输出,平时高电平,当有数据输入后,下一个CLK上升沿开始立即发送数据; e、 DataOut:接收转换后数据; f、 EN:接收完成使能,平时为第电平,接收完成后保持一个波特率周期高电平。 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 仿真结果 (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个基本模块组成,分别是模式控制模块、波特率产生模块、接收模块和发送模块,本次试验令我收获最大的地方就是就是对设计流程的逐步熟悉,从模式控制模块、波特率控制模块、接收模块到发送模块一步一步实现,在每一步仿真验证后最终将每个部分合在一起实现本次试验。 本次试验耗时时间最长,前期的预备工作及其重要,多和同学讨论最终才能顺利完成本次试验。 指导教师签字:
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:可编程逻辑器件设计及应用实验报告.docx
    链接地址:https://www.zixin.com.cn/doc/6134832.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork