nullnull实验一 1位全加器的设计 nullDE2介绍nullFPGA
• Cyclone II EP2C35F672C6 FPGA and
EPCS16 serial configuration device
I/O Devices
• Built-in USB Blaster for FPGA configuration
• 10/100 Ethernet, RS-232, Infrared port
• Video Out (VGA 10-bit DAC)
• Video In (NTSC/PAL/Multi-format)
• USB 2.0 (type A and type B)
• PS/2 mouse or keyboard port
• Line-in, Line-out, microphone-in
(24-bit audio CODEC)
• Expansion headers (76 signal pins)nullMemory
• 8-MB SDRAM, 512-KB SRAM, 4-MB Flash
• SD memory card slot
Switches, LEDs, Displays, and Clocks
• 18 toggle switches
• 4 debounced pushbutton switches
• 18 red LEDs, 9 green LEDs
• Eight 7-segment displays
• 16 x 2 LCD display
• 27-MHz and 50-MHz oscillators, external SMA clock input实验一 1位全加器的设计实验一 1位全加器的设计一位全加器的原理分析一位全加器的原理分析一位全加器可由两个一位半加器与一个或门构成,其原理图如下图。null该设计利用层次结构描述法,
首先设计半加器电路,将其打包为半加器模块;
然后在顶层调用半加器模块和ALTERA提供的二输入或门组成全加器电路;
最后将全加器电路编译下载到实验箱,
null输入是
两个加数:ain,bin,
一个进位:cin
这三个输入数据是1位(1bit),可由DE2的 SW0,SW1,SW2提供
为了显示更加清楚,可以将ain,bin,cin的输出引出到DE2上的红色发光二极管显示,可选用LEDR0,LEDR1,LEDR2.
输出是:
和:sum
进位:cout
输出可由DE2的绿色发光二极管显示,可选用LEDG0,LEDG1
null步骤一:建立full_adder的工程(project)新建立full_adder工程(project)新建立full_adder工程(project)设置project相关参数设置project相关参数null设置project放置的位置及其名称,随后按Next继续null添加文件到工程(project)中,在无相关文件需要添加的情况下,按Next继续null选择FPGA目标器件,根据DE2的平台情况,选择cyclone II系列的EP2C35F672C6,继续null设置综合,仿真,时序分析软件,在此可以捆绑第三方工具,本次实验,选用软件自带的工具,按Next继续null设置参数的
,按Finish完成project的建立。null步骤二:设计half_adder的VHDL模块null由File->new,可打开下面的选项,选择VHDL File,按OK继续null在打开的空白文档,编辑半加器的VHDL描述,并存盘null验证half_adder.vhd的正确与否,进行仿真,一般先进行功能仿真,再进行时序仿真。
为了仿真,首先编辑测试文件。本次实验由于系统简单,采用对输入信号进行输入波形编辑的方法得到激励文件null激励文件生成:由file->new,打开如下选项框,选择Other Files中的Vector Waveform File :null由Edit->end time,打开如下对话框,选择仿真时间区域,这次实验选择1us:null将波形文件存盘为half_adder.vwf:null将模块的端口信号选入波形编辑框中。打开view->utility windows->node findernull将打开的窗口中选择出现在设计中的所有端口,用鼠标拖至波形编辑窗口:null编辑波形文件并存盘:null 进行功能仿真null设置仿真器进行功能仿真:
Assignments->setting,选择simulation setting,在simulation mode中选择functionalnull在对话框中的simulation input中选择half_adder.vwf,指定激励文件null由Processinggenerat functional simulation netlist得到功能仿真的网表文件
由Processingstart simulation得到功能仿真波形。null进行时序仿真null改变仿真器的设置,Assignments-> setting
选择仿真器设置,更改仿真模式,选择timing:null由Processingstart Compilation对设计进行编译
由Processingstart simulation得到时序仿真波形。null验证half_adder.vhd设计正确后,将half_adder封装成一个模块,供后续的原理图调用:null步骤三:编辑全加器的原理图:null由file->new,打开原理图文件,并存盘为full_adder.bdfnull参考教材P117页,调入
1)半加器:half_adder,
2)二输入或门:2or,
3)输入,输出引脚nullnull用 将各个单元连接起来
对输入,输出引脚进行命名。nullnull由Processing->Start Compilation对设计进行全编译。
编辑波形文件对全加器模块进行功能仿真和时序仿真。(具体见前)null步骤四:锁定引脚,下载
锁定引脚,参考DE2的引脚说明文件DE2_pin_assignmentsnullnull锁定引脚的方法:
方法一:选择Assignments->Assignment Editor,进入编辑窗口,在category栏中选择Pin,再双击TO栏,分别选择要锁定的引脚名,并双击Location栏中的New,选择相应的引脚号nullnull锁定引脚方法二:
1)根据DE2_pin_assignments文件内容、
制作本设计引脚对应文件的引脚锁定文件:full_adder.csv
2) 由Assignments->Import Assignment,打开对话框,调入引脚对应文件即可。nullnullnull步骤五:下载null首次使用,须安装DE2的驱动程序,
将DE2通过USB端口连接到计算机,并接上电源。(可能需要关闭杀毒软件)
由Tools->Programmer,弹出对话框:null双击Hardware setup,在弹出的对话框中双击USB-Blaster,选中下载的硬件null选中full_adder.sof,选择Start开始下载:null波动波动开关并观察红色、绿色LED的变化,验证设计的正确性。