数字系统设计与VHDL 实验指导书2014 - 图文
更新时间:2023-12-08 00:18:01 阅读量: 教育文库 文档下载
实验一 QuartusⅡ9.0快速入门
一、实验目的
通过实验让学生了解,熟悉和掌握QuartusⅡ9.0开发软件的使用方法及Verilog HDL的编程方法。学习简单时序电路的设计和硬件测试。
二、实验原理
在LED1~LED8引脚上周期性的输出流水数据,如原来输出的数据是11111100 则表示点亮LED1,LED2,流水一次后,输出地数据应该为11111000,而此时应该点亮LED1~LED3三个发光二极管,就可以实现LED流水灯。为了观察方便,流水速率最好在2Hz左右,在MagicSOPC核芯板上有一数字信号源,可选择CLOCK3的2HZ时钟信号源源作为流水灯的时钟源。
三、主要实验设备
计算机和MagicSOPC实验箱。
四、实验内容
本实验的内容是建立可用于控制LED流水灯的简单硬件电路,要求在MagicSOPC试验箱上实现LED1~LED8发光二极管流水灯显示。实验步骤如下:
1.启动Quartus II建立一个空白工程,然后命名为led_water.qpf。
2.新建Verilog HDL 源程序文件ledwater.v,输入程序代码并保存,进行综合编译,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
程序清单:
module ledwater(led,clk); //模块名ledwater output[7:0] led; //定义LED输出口 input clk; //定义时钟输出口 reg[8:0] led_r; //定义输出寄存器
assign led = led_r[7:0]; //寄存器输出
always @(posedge clk) //在时钟上升沿触发进程 begin
led_r <= led_r <<1; //是,则输出左移一位 if(led_r == 9'd0) //循环完毕吗?
led_r <= 9'b111111111; //是,则重新赋初值 end
endmodule
3.从设计文件创建模块,由ledwater.v生成名为ledwater.bsf的模块符号文件。 4.新建图形设计文件命名为led_water.bdf并保存。
在空白处双击鼠标左键,将symbol对话框中libraries:project下的ledwater模块放在图形文件led_water.bdf中,加入输入、输出引脚,
双击各引脚符号,进行引脚命名。将与ledwater模块led[7..0]连接的引脚命名为led[7..0],与clk连接的引脚命名为clock3。完整的顶层模块原理图如图1-1所示。
ledwaterclock3INPUTVCCclkled[7..0]OUTPUTled[7..0]inst
图1-1 流水灯顶层模块
5.选择目标芯片并对相应的引脚进行锁定,在这里所选择的器件为Altera公司的CycloneII系列的EP2C35F672C8芯片,引脚锁定方法如下表所列。将未使用的引脚设置为三态输入(一定要设置,否则可能会损坏芯片)设置方法。
信号 Led[0] Led[1] Led[2]
引脚 R5 P9 P7 信号 Led[3] Led[4] Led[5] 引脚 P6 P3 R8 信号 Led[6] Led[7] Clock3 引脚 R6 T3 AE14
6.将led_water.bdf设置为顶层实体。对该工程进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
7.最后确保数字源(B4区域)的JP11的短路帽是处于ON位置,JP6中CLOCK3的短路帽处于2Hz位置:拿出Z-Blaster下载电缆,并将此电缆的两端分别接到到PC机的USB接口和实验箱主板模块上的JTAG下载口(提示:下载线有小箭头指示的为第1脚,与JTAG接口的J1脚相连),打开电源,执行下载命令,把程序下载到FPGA器件中,此时,即可在MagicSOPC试验箱上看到流水灯。
8.更改JP6排针CLOCK3处短路帽的位置。观察流水灯的变化。
注意: 选择好器件后,先编译顶层文件,后分配引脚,是比较有利的,因为编译之后,Quartus II软件会自动将所有输入.输出引脚记录下来,不需要重新输入各个引脚的的信号名。分配引脚也可以通过编辑*qsf文件(该文件可以用记事本打开)实现。
五、实验总结
1.文本输入的文件存盘时,文件名与模块名一致,即ledwater.v。 2.项目名称与顶层文件名一样,即led_water.qpf。
3.USB接口和实验箱主板模块上的JTAG下载口(提示:下载线有小箭头指示的为第1脚,与JTAG接口的J1脚相连)。
4.驱动的安装:在初次使用USB-Blaster编程器前,需首先安装USB驱动程序。 将USB-Blaster编程器一端插入PC机的USB口,这时会弹出一个USB驱动程序对话框,根据对话框的引导,选择用户自己搜索驱动程序,假定QuartusⅡ安装在D盘,则驱动程序的路径为D:\\altera\\90sp2\\quartus\\divers\%usb-blaster。
安装完毕后,打开QuartusⅡ,选择编程器,单击左上角的Hardware Setup按钮,在弹出的窗口中选择USB-Blaster项,双击之,此后就能使用。
六、预习及思考
1.思考:如何实现左流水或其他花样流水呢?自己动手试试。
2.reg数据类型:Verilog HDL有两大类数据类型,线网类型和寄存器类型,形式如下: reg[msb:lsb] reg1,reg2....regN;
msb和lsb定义了范围,并且均为常数值表达式。范围定义是可选的:如果没有定义范围,缺省值为1位寄存器。
reg型数据的默认初始值是不定值X,它可以赋正值,也可以赋负值。当一个reg型数
据是一个表达式的操作数时,它的值被当做是无符号值,即正值。(如一个4位寄存器被赋值-1,则在表达式中进行运算时,其值被认为是+15。)
reg型只表示被定义的信号将用在always块内,理解这一点很重要。并不是说reg型信号一定是寄存器或触发器的输出。虽然reg型信号常常是寄存器或触发器的输出,但并不一定总是这样,只有在时序逻辑中它对应的才是寄存器,而在组合逻辑电路中它表示一个节点。
3.按照上述工程进行编译,会出现“Warning:Found pins functioning as undefined clocks and/or memory enables Info:Assuming node \”的警告。大概意思是说发现“clock”节点没有定义成时钟信号。消除之个警告的方法如下:
(1)选择Assignments | Timing Seting 命令,在弹出的对话框中的Clock Setting 项选中Individual Clocks项,如图1-2所示。
图1-2 Clock设置页面1
(2)在图1-2中按Clocks....进行设置,在弹出的对话框中按New...按钮添加节点,如图1-3所示,并按图1-3所示进行设置,图中Required fmax 为系统需求的最大时钟频率,在这里填50MHz就可以了。
图1-3 Clock设置页面2
(3)设置好之后一直按OK按钮保存设置,最后再进行编译,原先的Warning就会消除。以上的操作是将“clock3”加入时钟域。如时“clock3”不是一个时钟信号,可将设置属性改为“Not a clock”,也可以消除Warning。
注意:如果编译后有些Warning 或Error不能消除或解决,可选中提示信息,按F1按键,打开帮助文档,Quartus II的帮助文档将列出Warning或error产生的原因及解决办法。
实验二 一位全加器的设计
一、实验目的
通过此实验让用户逐渐料及、熟悉和掌握FPGA开发软件Quartu II的使用方法及原理图输入程序电路的方法。
二、实验原理
一位全加器的电路原理图如图2-1所示,真值表如表2-1所列。可根据全加器的电路原理图或真值表用Verilog HDL语言描述。
OR2h_adderainbinINPUTVCCINPUTVCCOUTPUTcoutabinstcosoh_adderabinst1inst5cosoOUTPUTsumcinINPUTVCC 图2-1 一位全加器原理图f_adder.bdf 表2-1 一位全加器逻辑功能真值表 ain 0 1 0 1 0 1 0 1 bin 0 0 1 1 0 0 1 1 cin 0 0 0 0 1 1 1 1 sum 0 1 1 0 1 0 0 1 cout 0 0 0 1 0 1 1 1 三、主要实验设备
计算机和MagicSOPC实验箱。
四、实验内容
1.为本项工程设计建立文件夹
假设本项设计的文件夹取名为adder,路径为F:\\adder。
2.建立原理图文件工程和仿真 原理图编辑输入流程如下:
(1)打开原理图编辑窗。打开QuartusⅡ,选菜单File | New,在弹出的New对话框中选择原理图文件编辑输入项Block Diagram/Schematic File(如图2-2所示),按OK按钮后打开原理图编辑窗口。
图2-2 选择编辑文件类型
(2)建立一个初始原理图。在编辑窗口中的任何一个位置上右击鼠标,将出现快捷菜单,选择其中的输入元件项Insert | Symbol(如图2-3所示),或直接双击原理图编辑窗口,于是将弹出如图2-4所示的输入元件的对话框。在左下的Name栏键入输入引脚符号input。然后单击Symbol窗口的Ok按钮,即可将元件调入原理图编辑窗口中。
(3)原理图文件存盘。选择菜单File | Save As,将此原理图文件存于刚才建立的目录F:\\adder中,将已设计好的原理图文件取名为h_adder.bdf(注意默认的后缀是.bdf,而且此原理图尚未完成,因为只加入了一个输入端口),并存盘在此文件夹内。
(4)建立原理图文件为顶层设计的工程。然后将此文件h_adder.bdf设定为工程。 (5)绘制半加器原理图。创建工程后即进入工程管理窗,设工程名是h_adder。注意工程管理窗左上角的工程路径和工程名是:F:/adder/h_adder。双击左侧的工程名,再次进入原理图编辑窗。再双击原理图编辑窗任何位置。再次弹出如图2-4所示的输入元件的对话框。分别在Name栏键入(调入)元件名and2、xor和输出引脚output,并用单击拖动的方法,连接好的电路如图2-5所示。然后分别在input和output引脚的PIN NAME上双击使其变黑
色,再用键盘分别输入各引脚名:a、b、co和so。最后,作为本项工程的顶层电路原理设计图如图2-5所示。
图2-3 选择打开元件输入窗 图2-4 在元件输入对话框输入引脚
aINPUTVCCAND2
OUTPUTcoinstXORbINPUTVCCOUTPUTsoinst3 图2-5 半加器原理图
(6)仿真测试半加器。仿真波形如图2-6所示,显然与表2-2的真值表有对应关系,半加器设计成功。
表2-2 半加器真值表 a 0 0 1 1 b 0 1 0 1 so 0 1 1 0 co 0 0 0 1
图2-6 半加器仿真波形
3.将设计项目设置成可调用的元件
为了构成全加器的顶层设计,必须将以上设计的半加器h_adder.bdf设置成可调用的底层元件。方法如图2-7所示,在半加器原理图文件h_adder.bdf处于打开的情况下,选择菜单命令File | Create/Update | Create Symbol Files for Current File,即可将当前电路图变成一个元件符号存盘(元件文件名是h_adder.bsf),以便在高层次设计中调用。
图2-7 将半加器封装成一个元件
可以使用完全相同的方法将Verilog文本文件变成原理图中的一个元件(Symbol),实现Veriog文本设计与原理图的混合输入设计方法。转换中需要注意以下三点。
(1)被转换的Verilog文本也要呈打开状态,而且必须在某工程打开状态下。 (2)转换好的元件必须存在当前工程的路径文件夹中,文件后缀也默认.bdf。 (3)按图2-7的方式进行转换,选择Create Symbol Files for Current File项。 4.设计全加器顶层文件
为了建立全加器的顶层文件,必须另打开一个原理图编辑窗口,方法同前,即再次选择菜单File | New | Block Diagram/Schematic File。然后将其设置成新的工程。
首先将打开的空的原理图存盘于F:\\adder,文件取名为f_adder.bdf,作为本项设计的顶层文件。然后按照前面介绍的方法将顶层文件f_adder.bdf设置为工程。图2-8是f_adder.bdf的工程设置窗口,其工程名和顶层文件名都是f_adder。
图2-8 全加器f_adder.bdf工程设置 图2-9 在f_adder工程下的原理图编辑
窗中加入半加器 建立工程后,在新打开的原理图编辑窗口双击鼠标,在弹出的窗口(图2-9)中选择Project
正在阅读:
数字系统设计与VHDL 实验指导书2014 - 图文12-08
公差配合试题12-06
C语言程序设计及实验指导练习及习题参考答案(8--10)01-01
2018人教版八年级上册英语综合复习题-单元词汇练习题09-19
初三生活的感悟作文11-03
【职场文档】企业会务工作操作手册04-14
《弟子规》管理班级的体会01-30
世界遗产资料和图片12-08
OBM盘点机操作说明10-03
南昌市西湖区教育体育局(决定)04-07
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 指导书
- 实验
- 图文
- 数字
- 设计
- 系统
- VHDL
- 2014
- 《世俗贱所见贵所闻》阅读答案(附翻译)
- 办公室里适合挂什么字画 - 图文
- 风机技术协议书招标技术要求
- 武汉理工大学第四届学位评定委员会第二次会议授予博士、硕士学位公告
- 学前儿童科学教育 - 参考答案
- 最新部编人教版七年级历史上册教案第13课 东汉的兴衰
- 基础会计第17卷
- 马基试卷3(选择题)
- 2015中考物理电流电压电阻汇编(答案不全)
- 现浇单向板肋梁楼盖中的主梁按连续梁进行内力分析的前
- 全球雇员敬业度中国垫底 缺乏对职业认同
- 新能源汽车概述B卷以及答案2018.6.6 - 图文
- 导乐陪伴分娩242例临床分析
- ADF 和Materials Studio等软件及与编程有关的问题
- 怎样浅显易懂地解释英语各种从句的逻辑?
- 东风实验小学2013年春季学期写字比赛方案
- 企业思想政治工作与企业文化融合性探讨(2)
- Java集合知识测试 - - A卷
- 2017年北京理工大学翻硕(MTI)考研复试各科分数线不能低于多少
- 安全知识考题答案