《硬件描述语言》试验指导书V1.0
南通大学电子信息学院
年6月
一、课程设计目标、要求
1.经过此次课程设计,增强工程实践能力和创新能力,提升数字系统设计水平。
2.完成课程设计,包含设计仿真和验证。
本课题总共29道题,每个班级中每个题目限一名同学选择。首先,依据所选课题和AlteraDE2开发板资源进行方案设计。然后利用EDA软件对方案进行程序设计、仿真分析。
3.撰写总结汇报。
汇报内容包含以下内容:
1)概述
2)功效
给出系统设计功效和性能参数。
3)设计方案
说明本设计技术方案、工作原理,给出设计框图、软件步骤图、状态转换图等。
4)设计和仿真
给出每个模块和顶层模块设计框图、状态转换图、软件步骤图或VerilogHDL源 给出仿真结果,并对系统功效、性能、资源消耗情况作出程序等,并作一定说明。
分析。
5)硬件验证
将设计文件下载到DE2开发板进行硬件验证,完成检测和调试,对结果进行说明或分析。
6)结束语
7)参考文件
8)附录
将多种篇幅较大图纸、数据表格、源程序等材料附于技术汇报后。
二、课程设计日程安排
日 期 | 内 容 |
06.18 | 1.部署任务, 课题叙述 |
2.设计实例演示 | |
3.学生选题 | |
06.19 | 确定设计方案 |
06.20-06.28 | 1. 完成设计和仿真 |
2. 硬件验证、调试和验收 | |
3. 完成设计汇报 | |
06.29 | 答辩 |
三、设计课题
1、 简易函数发生器1
基础要求:利用DE2上DAC实现方波、正弦波信号发生器功效。方波频率、占空比可设置。正弦波信号幅度可调。
在完成基础要求基础上,可深入增加功效、提升性能。
2、 简易函数发生器2
基础要求:利用DE2上DAC实现方波、三角波信号发生器功效。方波频率、占空比可设置。三角波信号频率、幅度可调。
在完成基础要求基础上,可深入增加功效、提升性能。
3、 简易函数发生器3
基础要求:利用DE2上DAC实现方波、锯齿波信号发生器功效。方波频率、占空比可设置。锯齿波信号频率、幅度可调。
在完成基础要求基础上,可深入增加功效、提升性能。
4、 简易函数发生器4
基础要求:利用DE2上DAC实现方波、梯形信号发生器功效。方波频率、占空比可设置。梯形波信号频率、幅度可调。
在完成基础要求基础上,可深入增加功效、提升性能。
5、 简易函数发生器5
基础要求:利用DE2上DAC实现方波、阶梯信号发生器功效。方波频率、占空比可设置。阶梯波信号频率、幅度可调。
在完成基础要求基础上,可深入增加功效、提升性能。
6、 串行通信发送接口
功效:经过DE2拨码开关来选择要发送数据,当DE2上某一个独立按键被按下时候,数据会经过RS232串口发送到PC。
基础要求:掌握串口通信协议,完成串口数据发送功效
硬件验证要求:在PC机经过“串行通信接口调试助手”软件接收由DE2发送过来数据。在完成基础要求基础上,能够经过拨码开关来选择奇偶校验类别。
7、 | 串行通信接收接口(LED) | 利用DE2 串口进行接收PC 数据。 | 波特率为 | |
基础要求: | 掌握RS232 串口协议, |
9600,8位数据位,无奇偶校验,一个停止位。
硬件验证要求:在PC机经过“串行通信调试助手”软件
发送数据,DE2经过串口接收数据,完成接收数据后在LED上面进行显示。 在完成基础要求基础上,能够经过拨码开关来选择奇偶校验类别。
8、 | 串行通信接收接口(数码管) | 利用DE2 串口进行接收PC 数据。 | 波特率为 | |
基础要求: | 掌握RS232 串口协议, |
9600,8位数据位,无奇偶校验,一个停止位。
硬件验证要求:在PC机经过“串行通信调试助手”软件
发送数据,DE2经过串口接收数据,完成接收数据后在数码管上面进行显示。
在完成基础要求基础上,能够经过拨码开关来选择奇偶校验类别。
9、 数字时钟设计
基础要求:能够正确显示时、分、秒,并有校时、半点报时和整点报时功效。要求能在数码管上面正确显示。
在完成基础要求基础上,可深入增加功效、提升性能,如增加闹铃功效。
10、 | 秒表设计 |
基础要求:最大为1小时,精度要求为0.01秒,含有开始、暂停和清零功效,要求能在数码管上面正确显示。
在完成基础要求基础上,可深入增加功效、提升性能。
11、 定时器设计
基础要求:最大为1小时,精度要求为0.01秒,当倒计时间为0时候能够报警,要求能在数码管上面正确显示。
在完成基础要求基础上,可深入增加功效、提升性能。
12、 交通灯设计
基础要求:
1)设计一个交通红绿灯。要求分主干道和支干道,每条道上安装红(主:R,支:r)绿(主:G, 支:g)黄(主:Y, 支:y)三种颜色灯,由四种状态自动循环组成;
2)在交通灯处于不一样状态时,设计一个计时器以倒计时方法显示计时,主干道上绿灯亮30S,支干道上绿灯亮20S。每个干道上,在绿灯转为红灯时,要求黄灯先亮5S。在完成基础要求基础上,可深入增加功效、提升性能,如绿灯亮时间可调。
13、 密码锁设计
基础要求:设计一个电子密码锁。
操作方法:在锁开状态下输入密码,设置密码共4位,用拨码开关SW1~SW10分别代表数字1,2, …,9, 0, 输入密码用数码管显示,最终输入密码显示在最右边数码管上,即每输入一位数,密码在数码管上显示左移一位。可删除输入数字,删除是最终输入数字,每删除一位,密码在数码管上显示右移一位,并在左边空出位上灭掉。用一位输出电平状态代表锁开闭状态。也可自行要求操作方法。
为确保密码锁主人能打开密码锁,设置一个万能密码,在主人忘记密码时使用。
14、 数字温度传感器控制设计
基础要求:长握SHT-11传感器工作原理,实现FPGA对SHT-11芯片控制,要求能够将读进来温度数值在数码管上面显示。
在完成基础要求基础上,可深入增加功效、提升性能,如增加湿度控制和显示功效。
15、 | 频率计设计 |
关键内容:
设计一个数字显示频率计
关键任务:
1)频率计采取三位数码管显示。
2)频率测量围为1Hz范~999Hz,并有溢出指示。
3)频率计设有1~999Hz和1~10kHz两个量程,并用LED指示。
当频率小于1kHz时,系统选择1s4)频率计能够依据测试信号频率进行量程自动切换。
闸门时间,当频率大于等于1kHz时,在下一次测量时,选择0.1s闸门时间。
在完成基础要求基础上,可深入增加功效、提升性能。
16、 BCD码计数器设计
基础要求:设计一个4位BCD码,含有置数和复位功效,并能够依据外部拨码开关来选择加1计数还是减1计数,要求能在数码管上面正确显示。
在完成基础要求基础上,可深入增加功效、提升性能。
17、 超声波测距设计
基础要求:给定超声波发射接收模块,经过DE2产生频率为40KHZ超声波脉冲信号(脉宽为250-500us)送至超声波发射模块。将超声波接收模块数出回波脉冲信号送至DE2,经处理后在3位数码管上面显示距离(单位为cm)。
18、 数码管亮度控制器设计
基础要求:设计一个数码管亮度控制器,能够依据外部拨码开关来控制数码管亮暗程度。
在完成基础要求基础上,可深入增加功效、提升性能,如能够在LCD上面显示亮暗程度。
19、 跑马灯控制器设计
基础要求:设计一个跑马灯控制器,能够依据外部拨码开关来控制速度。
在完成基础要求基础上,可深入增加功效、提升性能。
20、 直流电机调速控制器设计
基础要求:设计一个直流电机调速控制器,能够依据外部拨码开关来控制直流电机速度。
在完成基础要求基础上,可深入增加功效、提升性能,如能够将速度显示在数码管上面。
21、 进制转换电路设计
基础要求:对输入4位二进制数据,能够依据外部拨码开关来选择10进制转换、8进制转换还是16进制转换。
在完成基础要求基础上,可深入增加功效、提升性能,如增加输入位数。
可控分频器设计22、
基础要求:对DE2上时钟信号进行多个分频,分频系数由外部按键来选择,分频后结果要在数码管上面正确显示。
在完成基础要求基础上,可深入增加功效、提升性能,如增加移相功效。
23、 8位ALU设计
基础要求:设计一个挂在总线上8位ALU,含有加、减、和、或等功效,要求对运算后数据能在数码管上面正确显示。
在完成基础要求基础上,可深入增加功效、提升性能,如增加乘法功效。
24、 序列检测器设计
基础要求:设计一个序列检测器,当输入完数据01011010时候,DE2开发板LED灯将会点亮,其它情况全部是灭掉。
在完成基础要求基础上,可深入增加功效、提升性能,如尝试改变序列检测器设计方法。
抢答器25、
基础要求:设计一个四组抢答器,使用DE2上拨码开关,开始抢答后,先抢答到组经过数码管显示组名,假如提前抢答含有报警功效。
在完成基础要求基础上,可深入增加功效、提升性能,如对抢答器实现加减分功效。
26、 微型打印机接口设计1
基础要求:微型打印机拥有一个RS232输入接口。经过DE2驱动打印机,使其能够经过拨码开关输入ASCII码,使打印机打印对应字符。
27、 | 微型打印机接口设计2 |
基础要求:微型打印机拥有一个RS232输入接口。经过DE2驱动打印机,使其能够输出一行预先设置汉字字符。
28、 微型打印机接口设计3
基础要求:微型打印机拥有一个RS232输入接口。经过DE2驱动打印机,使其能够输出一行预先设置英文字符。
29、 简易电子琴设计
基础要求:设计一个有18个按键电子琴。
四、设计示例
【试验例程1】
试验说明:根据拨码开关点亮DE2上面两个数码管,代码见附件。
1建立工程并完成硬件描述设计
打开quartus7.2工作环境,以下所表示:
2.新建工程,点击File->Newproject Wizard 新建一个工程文件。
接着弹出以下界面,接着点击NEXT
3.输入工程工作路径、工程文件名和顶层实体名字。
4.点击NEXT以后弹出以下界面,这里是提醒添加已经写好程序。
5.选择所用到器件。
6.设置EDA对应工具,quartus一集成开发环境,为此我们能够跳过这一设置,假如使用第
三方综合工具和仿真工具,能够在此设置,当然还需要指明第三方工具路径。
7.点击NEXT以后查看整个设置工程总结。
点击FINISH完成新建工程。
8.新建.V文件
点击菜单选项File->New,选择VerilogHDL File,点击OK,建立Verilog源代码文件。
9.输入源代码
moduleSW_SEG(SW,HEX1,HEX0);
input[7:0]SW;
outputreg[6:0]HEX1,HEX0;
parameter | seg0= 7'b1000000, |
seg1= 7'b1111001,
seg2= 7'b0100100,
seg3= 7'b0110000,
seg4= 7'b0011001,
seg5= 7'b0010010,
seg6= 7'b0000010,
seg7= 7'b1111000,
seg8= 7'b0000000,
seg9= 7'b0010000,
sega= 7'b0001000,
segb= 7'b0000011,
segc= 7'b1000110,
segd= 7'b0100001,
sege= 7'b0000110,
segf= 7'b0001110;
always@(*)
case(SW[3:0])
4'h0:HEX0[6:0] = seg0;
4'h1:HEX0[6:0] = seg1;
4'h2:HEX0[6:0] = seg2;
4'h3:HEX0[6:0] = seg3;
4'h4:HEX0[6:0] = seg4;
4'h5:HEX0[6:0] = seg5;
4'h6:HEX0[6:0] = seg6;
4'h7:HEX0[6:0] = seg7;
4'h8:HEX0[6:0] = seg8;
4'h9:HEX0[6:0] = seg9;
4'ha:HEX0[6:0] = sega;
4'hb:HEX0[6:0] = segb;
4'hc:HEX0[6:0] = segc;
4'hd:HEX0[6:0] = segd;
4'he:HEX0[6:0] = sege;
4'hf:HEX0[6:0] = segf;
default:HEX0[6:0]= seg0;
endcase
always@(*)
case(SW[7:4])
4'h0:HEX1[6:0] = seg0;
4'h1:HEX1[6:0] = seg1;
4'h2:HEX1[6:0] = seg2;
4'h3:HEX1[6:0] = seg3;
4'h4:HEX1[6:0] = seg4;
4'h5:HEX1[6:0] = seg5;
4'h6:HEX1[6:0] = seg6;
4'h7:HEX1[6:0] = seg7;
4'h8:HEX1[6:0] = seg8;
4'h9:HEX1[6:0] = seg9;
4'ha:HEX1[6:0] = sega;
4'hb:HEX1[6:0] = segb;
4'hc:HEX1[6:0] = segc;
4'hd:HEX1[6:0] = segd;
4'he:HEX1[6:0] = sege;
4'hf:HEX1[6:0] = segf;
default:HEX1[6:0]= seg0;
endcase
endmodule
10保留设计,文件名字一定要和目前待保留模块名字一致。
11.点击按钮Start Compilation. |
假如有错误需要修改后重新这一过程。
12.建立波形仿真文件
点击菜单选项File->New->OthersFile,选择VectorWaveform File,点击OK,
13.波形仿真
在空波形文件中点击右键,或直接双击。
点击NodeFinder
选择PINS:ALL然后点击list
添加需要节点
点击OK完成
选择16进制显示方法,点击OK完成
添加测试信号驱动
SW置入数据
保留波形文件
点击波形仿真按钮 |
分析结果当输入数据位00时候两个数码管全部是40,也就是显示数据全部是00。
14下载
仿真完成后,确定功效正确后,即可进行引脚分配,依据提供用户手册,进行引脚分配。
输入对应引脚
点击保留,然后重新编译。
假如编译没有错误,准备下载。
由Tools-> Progammer
硬件设置:Currentlyselected hardware:usb
设置Mode为“JTAG”,点击“Start”,开始下载
观察DE2开发板,进行验证
【试验例程2】
基础要求:经过DE2开发板上面RS232串口资源,完成DE2和PC串口通信。设
定波特率为57600,无校验,数据位8位,停止位1位。VerilogHDL源代码见附件,在PC上运行”串口调试助手”可由网上下载。
五、FPGA试验开发系统DE2
DE2板是以CycloneII2c35FPGA为特点672针引脚包装。板上全部关键部件全部和板上芯片相连,使用户能够控制板上多种操作。DE2板包含了很多开关(兼有拨动开关和按键),发光二极管和七段数码管。在更多深入试验中还用到了SRAM、SDRAM、FLASH和16x2字符液晶。需要进行处理器和I/O接口试验时。能够简单使用AlteraNiosII处理器和像RS-232和PS/2标准接口。进行设计音频和视频试验时,也有标准MIC、line-in、line-out接口(24位音频解编码器),video-in(TVDecoder)
和VGA(10bitDAC) , 这些特点能够被用来制作CD质量音频应用程序和专业视频图像。为了能够设计
更强大项目,DE2还提供了USB2.0接口(包含主、从USB),10/100M自适应以太网,红
外(IRDA)接口,和SD卡接口。最终,能够经过两排扩展I/O口和其它用户自定义板子相
连。
下载DE2开发板光盘资源:
输入网址以下: 用户名和密码:student
因篇幅问题不能全部显示,请点此查看更多更全内容