EDA技术及应用实验报告

上传人:大米 文档编号:509439194 上传时间:2022-10-27 格式:DOC 页数:26 大小:471.50KB
返回 下载 相关 举报
EDA技术及应用实验报告_第1页
第1页 / 共26页
EDA技术及应用实验报告_第2页
第2页 / 共26页
EDA技术及应用实验报告_第3页
第3页 / 共26页
EDA技术及应用实验报告_第4页
第4页 / 共26页
EDA技术及应用实验报告_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《EDA技术及应用实验报告》由会员分享,可在线阅读,更多相关《EDA技术及应用实验报告(26页珍藏版)》请在金锄头文库上搜索。

1、 EDA 技术及应用实验报告系部:指导教师:学号:姓名:实验一点亮 LED 设计一、实验目的通过此实验让用户逐步了解、 熟悉和掌握 FPGA 开发软件 QuartusII 的使用方法及 Verilog HDL 的编程方法。本实验力求以详细的步骤和讲解让读者以最快的方式了解EDA 技术开发以及软件的使用,从而快速入门并激起读者对EDA 技术的兴趣。二、实验内容SmartSOPC 实验箱上有 8 个发光二极管 LED18,并分别与 FPGA 的 50、5355、176 和 4749 引脚相连。本实验的内容是建立可用于控制 LED 亮/灭的简单硬件电路,要求点亮 SmartSOPC实验箱上的 4 个

2、发光二极管( LED1、 LED3 、LED5 和 LED7 )。三、实验原理FPGA 器件同单片机一样, 为用户提供了许多灵活独立的输入 /输出 I/O 口(单元)。FPGA 每个 I/O 口可以配置为输入、输出、 双向 I/O 、集电极开路和三态门等各种组态。作为输出口时, FPGA 的 I/O 口可以吸收最大为 24mA 的电流,可以直接驱动发光二极管 LED 等器件。所以只要正确分配并锁定引脚后,在相应的引脚上输出低电平 “ 0,”就可以实现点亮该发光二级管的功能。四、实验步骤1、启动 Quarters II 建立一个空白工程,命名为 led_test.qpf。然后分别建立图形设计文件

3、,命名为 led_test.bdf,以及文本编辑文件 led1.v,将他们都添加进工程中。2、对工程进行设计。在 led1.v 中输入程序代码,并保存,进行综合编译,若在编译中发现错误,则找出并更正错误,直至编译成功为止。从设计文件中创建模块,由 led1.v 生成名为 led1.bsf 的模块符号文件。在 led_test.bdf 中任意空白处双击鼠标左键,将 symbol 对话框中 libraries :project 下的 led1 模块添加到图形文件led_test.bdf 中,加入输入、输出引脚,双击各管脚符号,进行管脚命名。完整的顶层模块原理图如下图所示。选择目标器件并进行引脚锁定

4、。将未使用的管脚设置为三态输入。led1led7.0OUTPUTled7.0inst3、设置编译选项并编译硬件系统。 将 led_test.bdf 设置为顶层实体。 对该工程文件进行全程编译处理。若在编译过程中发现错误,则找出并更正错误,直到编译成功为止。4、下载硬件设计到目标FPGA。将产生的 led_test.sof 输出对 FPGA 进行配置。5、观察 LED 的状态。五、实验程序/利用连续赋值assign 语句实现module led1(led);/ 模块名led1output7:0 led;assign led =8b10101010;/ 定义输出端口、/ 输出 0xAAendmod

5、ule/利用过程赋值语句实现(暂时已屏蔽)/*module led1(led);/ 模块名led1output7:0 led;reg7:0 led;always/ 定义输出端口/ 定义寄存器/过程 1,无敏感变量beginled = 8b10101010;/输出0xAAendendmudule*/六、思考题写出使用 QuartusII 软件开发工程的完整的流程。实验二流水灯实验一、实验目的通过此实验让用户进一步了解、熟悉和掌握CPLD/FPGA 开发软件的使用方法及 Verilog HDL 的编程方法。学习简单时序电路的设计和硬件测试。二、实验内容本实验的内容是建立可用于控制LED流水灯的简单

6、硬件电路,要求在SmartSOPC实验箱上实现 LED1LED8 发光二极管流水灯显示。三、实验原理1、在 LED1LED8 引脚上周期性的输出流水数据,如原来输出的数据是 11111100 则表示点亮 LED1 、 LED2 ,流水一次后,输出的数据应该为 11111000,而此时则应点亮 LED1LED3 三个 LED 发光二极管 ,就可以实现 LED 流水灯。为了观察方便,流水速率最好在 2Hz 左右。在 QuickSOPC 核心板上有一个 48MHz 的标准时钟源,该时钟脉冲 Clock 与芯片的 28 管脚相连。为了产生 2Hz 的时钟脉冲,在此调用了一个分频模块( int_div

7、模块,位于光盘中 EDA_Component 目录下),通过修改分频系数来改变输出频,当分频系数为24x106 时,输出即为2Hz 的频率信号。2、Int_div 分频模块说明: int_div 模块是一个占空比为 50%的任意整数分频器。输入时钟为 clock,输出时钟为 clk_out。其中 F_DIV 为分频系数,分频系数范围为 12n (n=F_DIV_WIDTH) , 若要 改 变 分 频 系 数, 改 变 参 数 F_DIV 和F_DIV_WIDTH 到相应范围即可。在本例中输入时钟为 48MHz ,要得到 2Hz 的信号,所以分频系数为 48x106/2=24x106;对于分频系

8、数为 24x106 的数需要一个25 位宽的计数器即可。四、实验步骤1、启动 Quarters II 建立一个空白工程,命名为led_water.qpf。2、新建 Verilog HDL 源程序文件 ledwater.v,输入程序代码并保存, 进行综合编译,若在编译中发现错误,则找出并更正错误,直至编译成功为止。3、从设计文件中创建模块,由ledwater.v 生成名为 ledwater.bsf的模块符号文件。4、将光盘中 EDA_Component 目录下的 int_div.bsf 和 int_div.v 拷贝到工程目录。5、新建图形设计文件命名为led_water.bdf 并保存。在空白处

9、双击鼠标左键,分别将 symbol 对话框中 libraries: project 下的 ledwater 和 int_div 模块放在图形文件led_water.bdf 中,加入输入、输出引脚,双击各管脚符号,进行管脚命名。双击 int_div的参数框,并修改参数,将F_DIV 的值改为 24000000,F_DIV_WIDTH 的值改为25. 完整的顶层模块原理图如下图所示。ParameterValueF_DIV24000000F_DIV_WIDTH 25int_divledwaterclockINPUTclockclk_outclk led7.0OUTPUTled7.0VCCinstin

10、st16、选择目标器件并进行引脚锁定。将未使用的管脚设置为三态输入。7、将 led_water.bdf 设置为顶层实体。对该工程文件进行全程编译处理。若在编译过程中发现错误,则找出并更正错误,直到编译成功为止。8、将产生的 led_water.sof输出对 FPGA 进行配置。9、更改分频模块( int_div )的分频系数,并重新编译下载,观察流水灯的变化。五、实验程序module ledwater (led,clk); output7:0 led; input clk;/ 模块名 ledwater/ 定义 LED 输出口/定义时钟输入口reg8:0led_r;/定义输出寄存器assign

11、led = led_r7:0;always (posedge clk)/ 寄存器输出/在时钟上升沿触发进程beginled_r = led_r 1;if(led_r = 9d0)led_r = 9b111111111;/是,则输出左移一位/循环完毕吗?/ 是,则重新赋初值endendmodule六、思考题本实验顶层采用了图形输入的方式,若采用文本输入方式,如何编写顶层文件?写出相应程序。实验三键盘、 LED 发光实验一、实验目的通过此实验让用户进一步了解、熟悉和掌握 CPLD/FPGA 开发软件的使用方法及 Verilog HDL 的编程方法,熟悉以 Verilog HDL 文件为顶层模块的设

12、计。学习和体会分支条件语句 case的使用方法及 FPGA I/O 口的输出控制。二、实验内容SmartSOPC实验箱上有 8 个发光二极管 LED18 和 8 个按键 KEY1KEY8 。本实验的内容要求在SmartSOPC 实验箱上完成对8 个按键 KEY1KEY8控,一旦有按键输入判断其键值,并点亮相应的发光二极管,如若KEY3进行监按下,则点亮LED1LED3发光二极管。三、实验原理FPGA 的所有 I/O 控制块允许每个 I/O 口引脚单独配置为输出口, 不过这种配置是系统自动完成的,一旦该 I/O 口被设置为输入口使用时(如定义 key0 为输入引脚:input key0;)该 I/O 控制模块将直接使三态缓冲区的控制端接地, 使得该 I/O 口引脚对外呈高阻态,这样该 I/O 口引脚即可用作专用输入引脚。只要正确分配并锁定引脚后, 一旦在 KEY1KEY8 中有按键输入, 在检测到键盘输入的情况下,继续判断其键值并做出相应的处理。四、实验步骤1、启动 Quarters II 建立一个空白工程,命名为keyled.qpf。2、新建 Verilog HDL 源程序文件 keyled.v,输入程序代码并保存,进行综合编译,若在编译中发现错误,则找出并更正错误,直至编译成功为止。3、选择目标器件并进行引脚锁定。将未使用的管脚设置为三态输入。4、对

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号