预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《EDA技术及应用》 实验报告 系部:电子通信工程系 指导教师:张松炜 学号:121307214____ 姓名:李俊杰_______ 2014___年_6___月__19_日 实验一点亮LED设计 一、实验目的 通过此试验可以让大家逐步了解,熟悉和掌握FPGA开发软件QuartusII的使用方法及VerilogHDL的编程方法。 二、实验内容 本实验是一个简单的点亮LED灯的实验,具体包括: 使用QuartusII建立一个工程; QuartusII工程设计; 设置编译选项并编译硬件系统; 下载硬件设计到目标FPGA; 观察LED的状态; 三、实验原理 和单片机一样,向片子里写进数据,输出高电平(对于共阴极的), 或者输出低电平(对于共阳极)。根据Cyclone片子已经分配好的针脚设置好针脚。 四、实验步骤 建立-----个工程-----输入程序-----软件编译 ------生成下载文件-----下载—调试。 五、实验程序 moduleled1(led); //模块名led1 output[7:0] led; //定义输出端口 reg[7:0] led; //定义寄存器 always //过程1 begin led=8'b10101010; //输出0xAA end endmodule 六、思考题 (1)写出使用QuartusII软件开发工程的完整的流程。 建立一个工程—输入程序—软件编译综合—生成下载文件— 下载—硬件调。 实验二流水灯实验 实验目的 通过此试验让大家进一步了解熟悉和掌握FPGA开发软件的使用方法及软件编程方法。学习简单的时序电路的设计和硬件测试。 二、实验内容 本实验的内容是建立用于控制LED流水灯的简单硬件电路,要求在SmartSOPC上实现LED1-LED8发光二极管流水灯的显示。 三、实验原理 这里的显示用分频模块(int_div)得到的较低的始终作为信号,在此时钟下,对输入数据进行移位,就得到了流水灯的效果。 四、实验步骤 建立工程—输入源程序—调用模块—生成符号—调用符号—连成电路图—编译—下载—调试 五、实验程序 原理图 六、思考题 1.本实验顶层采用了图形输入的方式,若采用文本输入方式,如何编写顶层文件?写出相应程序。 moduleled2(clock,led); inputclock; output[7:0]led; wirep; int_divu1(.clock(clock),.clk_out(p)); ledwateru2(.clk(p),.led(led)); endmodule 实验三键盘、LED发光实验 一、实验目的 本实验的主要目的是联系顶层模块的设计。学习和体会分支条件语句case的使用及FPGA的I/O控制。 二、实验内容 用跳线把key1-key8和指定的引脚连起来,以实现功能控制。 三、实验原理 FPGA的所有的I/O控制块允许每个引脚单独的配置为输入口。只要配置正确,则一暗淡几个键中有键输入,在检测到键盘输入的情况下,继续判断其键盘值并作出相应的处理。 四、实验步骤 1:按以前的步骤建立工程,并按说明书进行配置引脚,未用的按三态处理。2:对文件进行编译,并检错。3:按说明短接跳帽和连接跳线。4:观察输入情况。 五、实验程序 modulekeyled(key,led); //模块名keyled input[7:0]key; //定义键盘输入口 output[7:0] led; //定义发光管输出口 reg[7:0] led_r; //定义寄存器 reg[7:0] buffer_r; assignled=led_r; //输出键值 always@(key) //过程1 begin buffer_r=key; //读取键值 case(buffer_r) 8'b11111110:led_r=8'b11111110; //是键KEY1,则给寄存器赋值0xfe 8'b11111101:led_r=8'b11111100; //是键KEY2,则给寄存器赋值0xfc 8'b11111011:led_r=8'b11111000; //是键KEY3,则给寄存器赋值0xf8 8'b11110111:led_r=8'b11110000; //是键KEY4,则给寄存器赋值0xf0 8'b11101111:led_r=8'b11100000; //是键KEY5,则给寄存器赋值0xe0 8'b11011111:led_r=8'b11000000; //是键KEY6,则给寄存器赋值