EDA实验报告Word文件下载.docx
- 文档编号:15850284
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:21
- 大小:27.47KB
EDA实验报告Word文件下载.docx
《EDA实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《EDA实验报告Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
一、实验目的
通过此实验让我们初步了解、熟悉和掌握FPGA开发环境及软件的使用以及VerilogHDL语言的程序编写方法。
二、实验原理和内容
实验内容:
建立以个1位全加器,并且通过SmartSOPC实验箱上的按键KEY1~KEY3输入信号,分别为A、B和Cin,并通过LED1~LED3指示相应状态。
输出Sum和Cout通过LED7和LED8指示(灯亮表示输入或输出为“1”)。
实验原理:
根据1位全加器的电路原理图真值表用verilogHDL语言描述。
三、实验步骤
1启动QuartusⅡ建立一个空白工程,然后命名为full_add.qpf。
2建立VerilogHDL源程序文件full_add.v,输入程序代码并保存,然后进行综合编译。
若在编译过程中发现错误,则找出并更正错误,直至编译成功为止,并生成图形符号文件full_add.bdf。
3波形仿真验证,步骤如下:
①在QuartusⅡ主界面中选择FileNew命令,打开新建文件对话框,在该对话框中选择OtherFiles选项卡,从中选择VectorWaveformFile,单击OK关闭建立一个空的波形编辑器窗口,默认名为Wavefroml.vwf.选择File→Saveas改名为full_add.vwf并保存。
②在Name选项卡内双击鼠标左键,在弹出的对话框中单击NodeFinder按钮,并进行相应的设置。
③波形编辑器默认的仿真结束时间为1us,根据仿真需要,可以自由设置仿真文件的结束时间。
选择Edit→Endtime
命令,弹出结束时间对话框,在该对话框的Time文本框内输入仿真结束时间,时间单位可选为s、ms、us、ns、ps。
单击OK按钮完成设置。
本例采用默认设置(即1us)。
④编辑输入节点波形.编辑时将采用到波形编辑工具栏中各种工具.工具栏中显示了各种工具的功能。
按要求编辑输入节点(a、b、cin)的信号并保存文件.
⑤在QuartusⅡ主界面下选择Tools→SimulatorTool命令,弹出对话框并按步骤进行选择和设置。
⑥验证仿真结果是否与设计相符合,如果不符合,须重新设计文件,在进行综合编译、仿真,直到仿真结果与设计相符合为止。
4
新建图形设计文件命名为full_add.bdf并保存。
T触发器可在Symbol对话框中的Name文本框中输入tff,单击OK按钮添加。
用户可分析T触发起在这里的作用。
5选择目标器件并对相应地引脚进行锁定。
在这里所选择的器件为Altera公司Cyclone系列的EP1C6Q240C8芯片,引脚锁定方法如表所列。
将未使用的引脚设置为三态输入(一定要设置,否则可能会损坏芯片)。
引脚锁定方法
信号
引脚
1C6
1C12
EDA
Led[1]
50
key[0]
121
led[2]
53
key[1]
122
led[3]
54
key[2]
123
sum
48
cout
49
6将full_add.bdf设置为顶层实体。
对该工程文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
7将跳线短接帽跳接到JP6的LED0~LED2、KEY1~KEY3、LED6和LED7,使LED1~LED3、KEY1~KEY3、LED7、LED8和芯片对应的引脚相连。
将AlteraByteBlasterⅡ下载电缆的两端分别接到PC机的打印机并口和QuickSOPC核芯板上的JTAG下载口上,打开电源,执行下载命令,把程序下载到FPGA器件中。
按下KEY1~KEY3,再观察发光管LED1~LED3、LED7、LED8的状态。
5实验参考程序
程序清单full_add.v
(1)1为全加器(文件名fulladd.v)
Modulefulladd(a、b、cin、sum、cout);
//一位加器
Inputa,b,cin;
//输入端口
Outputsum,cout;
//输出端口
Assign{cout,sum}=a+b+cin;
endmodule
(2)调用元件实现的1位全加器(为件名fulladd1.v)
Wires1,t1,t2,t3;
And(t1,a,cin),
(t2,b,cin),
(t3,a,b);
Xor(s1,a,b),
(sum,s1,cin);
Or(cout,t1,t2,t3);
(3)数据流描述的1位全加器(文件名fulladd2.v)
Assignsum=a^b^cin;
Assigncout=(a&
b)|(b&
cin)|(cin&
a);
(4)行为描述的1位全加器(文件名fulladd3.v)
Regsum,cout;
Regt1,t2,t3;
Always@(aorborcin)
Begin
Sum=(a^b)^cin;
T1=a&
cin;
T2=b&
T3=a&
b;
Cout=t1|t2|t3;
End
(5)混合描述的1位全加器(文件名fulladd4.v)
Regcout,t1,t2,t3;
//在always块中赋值的变量应定义为reg型
Wires1;
Xorx1(s1,a,b);
//调用门元件
always@(aorborcin)
//always块语句
begin
t1=a&
t2=b&
t3=a&
cout=t1|t2|t3;
end
assignsum=s1^cin;
//assign持续赋值语句
module
四、实验数据与结果
经过调试多次后有正确的波形再EDA软件中显示出来;
灯按照程序的计划有序的熄灭。
五、实验总结
(1)在保存文件名字时不能以数字开头,并文件名要和程序中的模且块名一致,不然编译的时候会报错,当程序编译时的警告超过25个以上后,程序不能在目标板上正常执行。
(2)学会了怎么使用Quartus
,新建工程与下载程序的方法等等。
实验二花样流水灯
2010-10-13实验地点:
通过此实验进一步了解,熟悉FPGA开发软件的使用方法及Verilog.HDL,的编程方法;
学习简单时序电路的设计。
在实验板上实现LED1~LED8发光二极管流水灯显示
在LED1~LED8引脚上周期性地输出流水数据,如原来输出的数据是11111100则表示点亮LED1,LED2,流水一次后,输出数据应该为11111000,而此时则应点亮LED1~LED3三个LED发光二极管,这样就可以实现LED流水灯,为了观察方便,流水速率最好在2Hz左右。
在QuickSOPC核心板上有-48MHz的标准时钟源,该时钟脉冲CLOCK与芯片的28脚相连,为了产生2Hz的时钟脉冲,在此调用了一个分频模块int_div模块,通过修改分频系数来改变输出频率,int-div模块是一个占空比为50%的任意整数分频器。
1,启动QuartusⅡ建立一个空白工程,然后命名为led-water.qpf。
2,新建VerilogHDL源程序文件ledwater.v,输入程序代码并保存,然后进行综合编译。
若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
3,从设计文件创建模块,由ledwater.v生成名为ledwater.bsf的模块符号文件。
4,将光盘中EDA-Component目录下的int-div.bsf和int-div.v拷贝到工程目录。
5,新建图形设计文件命名为led-water.bdf并保存。
在空白处双击鼠标左键,在Symbol对话框左上角的libraries.v中,分别将project下的ledwater和int-div模块放在图形文件led-water.bdf中,加入输入,输出引脚,双击各引脚符号进行引脚命名。
将与ledwater模块led[7..0]连接的引脚命名为led[7..0],与int-div模块clock连接的引脚命名为clock,int-div模块的clk-out与ledwater模块的clk相连接。
6,选择目标器件并对相应的引脚进行锁定,在这里所选择的器件为Altera公司Cyclone系列的EPIC12Q240C8芯片,引脚锁定方法见下表,将未使用的引脚设置为三态输入。
引脚
IC6
IC12
Led[0]
Led[5]
47
Led[6]
Led[2]
Led[7]
Led[3]
55
clock
28
Led[4]
176
表引脚锁定方法
7,将led-water.bdf设置为顶层实体,对该工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 实验 报告