学生实验报告书FPGA实验报告改进.doc

上传人:jian****018 文档编号:8971601 上传时间:2020-04-02 格式:DOC 页数:29 大小:1.42MB
返回 下载 相关 举报
学生实验报告书FPGA实验报告改进.doc_第1页
第1页 / 共29页
学生实验报告书FPGA实验报告改进.doc_第2页
第2页 / 共29页
学生实验报告书FPGA实验报告改进.doc_第3页
第3页 / 共29页
点击查看更多>>
资源描述
学生学号 0121109320307实验课成绩学 生 实 验 报 告 书实验课程名称FPGA原理及应用开 课 学 院信息学院指导教师姓名陈适学 生 姓 名覃朝光学生专业班级通信1103班2013-2014学年第二学期实验教学管理基本规范实验是培养学生动手能力、分析解决问题能力的重要环节;实验报告是反映实验教学水平与质量的重要依据。为加强实验过程管理,改革实验成绩考核方法,改善实验教学效果,提高学生质量,特制定实验教学管理基本规范。1、 本规范适用于理工科类专业实验课程,文、经、管、计算机类实验课程可根据具体情况参照执行或暂不执行。2、 每门实验课程一般会包括许多实验项目,除非常简单的验证演示性实验项目可以不写实验报告外,其他实验项目均应按本格式完成实验报告。3、 实验报告应由实验预习、实验过程、结果分析三大部分组成。每部分均在实验成绩中占一定比例。各部分成绩的观测点、考核目标、所占比例可参考附表执行。各专业也可以根据具体情况,调整考核内容和评分标准。4、 学生必须在完成实验预习内容的前提下进行实验。教师要在实验过程中抽查学生预习情况,在学生离开实验室前,检查学生实验操作和记录情况,并在实验报告第二部分教师签字栏签名,以确保实验记录的真实性。5、 教师应及时评阅学生的实验报告并给出各实验项目成绩,完整保存实验报告。在完成所有实验项目后,教师应按学生姓名将批改好的各实验项目实验报告装订成册,构成该实验课程总报告,按班级交课程承担单位(实验中心或实验室)保管存档。6、 实验课程成绩按其类型采取百分制或优、良、中、及格和不及格五级评定。附表:实验考核参考内容及标准观测点考核目标成绩组成实验预习1 预习报告2 提问3 对于设计型实验,着重考查设计方案的科学性、可行性和创新性对实验目的和基本原理的认识程度,对实验方案的设计能力20%实验过程1 是否按时参加实验2 对实验过程的熟悉程度3 对基本操作的规范程度4 对突发事件的应急处理能力5 实验原始记录的完整程度6 同学之间的团结协作精神着重考查学生的实验态度、基本操作技能;严谨的治学态度、团结协作精神30%结果分析1 所分析结果是否用原始记录数据2 计算结果是否正确3 实验结果分析是否合理4 对于综合实验,各项内容之间是否有分析、比较与判断等考查学生对实验数据处理和现象分析的能力;对专业知识的综合应用能力;事实求实的精神50%实验课程名称:_FPGA原理及应用_ 实验项目名称ISE9.1使用流程实验实验成绩实 验 者覃朝光专业班级通信1103班组 别 2同 组 者实验日期2014年6月12日一、实验目的(1)熟悉ISE9.1的开发环境,掌握工程的生成方法。(2)熟悉SEED-XDTK XUPV2Pro实验与仿真设计的环境。二、 实验仪器 pc机一台三、实验内容(1)创建工程。(2)添加HDL资源文件。(3)配置一个应用程序完成设计。(4)设计的仿真及实现。四、实验步骤1 创建工程1)双击桌面Xilinx ISE9.1的快捷方式,打开ISE工程管理器(Project Navigator)。2)打开Project Navigator后,选择“File”“NewProject”,弹出新建工程对话框 3)在工程路径中单击“”按钮,将工程指定到如下目录后单击“确定”按钮:4)在工程名称中输入Flow_lab,单击“Next”按钮,弹出器件特性对话框。器件族类型(Device Family)选择“Virtex2P”,器件型号(Device)选择“XC2VP30 ff896 -7”,综合工具(Synthesis Tool)选择“XST (VHDL/Verilog)”,仿真器(Simulator)选择“ISE Simulator”,如图1所示。5)单击“Next”按钮,弹出“Create New Source”对话框,可以使用这个对话框来创建新的HDL资源文件,或者也可以创建工程后,新建HDL资源文件。单击“Next”按钮,弹出添加存在资源对话框。6)单击“Next”按钮,弹出工程信息后单击“Finish”按钮,单击“OK”按钮,资源文件添加完成。图1 特性对话框2 添加HDL资源文件1)单击“Add Source”按钮,指向E:01.ISE9.1KCPSM3VHDL(Verilog)目录,选择kcpsm3_int_test和kcpsm3文件,单击“Open”按钮,2)单击“Next”按钮,弹出工程信息后单击“Finish”按钮,3)单击“OK”按钮,资源文件添加完成3 配置一个应用程序完成设计1) 打开E:01. ISE9.1KCPSM3目录下的Assembler文件夹。注意,KCPSM3.exe汇编编译系统执行文件和ROM_form模板文件与两个PSM例子文件必须在这个目录下。紧记汇编编译器生成的用于程序内存的VHDL/Verilog文件会在这个目录下2)用文件编辑器打开int_test.psm文件,浏览一下代码,此档就是设计者编写和输入的源文件。3)在开始菜单中的所有程序的附件上单击“命令提示符”,使用cd命令指向汇编编译器的目录下,输入“kcpsm3int_test.psm”命令,如图2所示。图2 操作DOS命令示意图4)执行完命令后,会看到在Assembler下生成了一些文件,其中包括VHDL (int_test.vhd)和Verilog (int_test.v) 。5)在ISE Project Navigator,单击“Project”“Add Copy ofSource”,指向E:01.ISE9.1KCPSM3Assembler目录下的int_test.vhd或者int_test.v文件。 单击“打开”按钮。 单击“OK”按钮后,将int_test.vhd或者int_test.v文件添加到工程里,则解决了出现红色问号的问题。4 设计的仿真1)在ISE Project Navigator中单击“Project”“AddCopy of Source”,指向E:01. ISE9.1KCPSM3vhdl (或者Verilog)目录,选择test_bench.vhd (或者testbench.v)文件,单击“打开”按钮。2)选择“Simulation Only”,单击“OK”按钮,则将测试范本(Testbench)test_bench.vhd/.v文件添加到工程里。3)单击Sourcese窗口中的“testbench”,则在Processes窗口中显示“Xilinx ISE Simulator” 工具栏,扩展开后,右键单击“Simulator Behavioral Model”,选择“Properties”,对“Simulation Run Time”输入10 000ns,单击“OK”按钮,如4)双击Processes窗口中的“Simulate BehavioralModel”对设计进行仿真,将在右方窗口弹出仿真结果的波形,如图3所示。图3 仿真机结果示意图5 设计的实现1) 在工程的Sources窗口“Sources for”选择“Synthesis/Implementation”,并单击工程的顶层文件kcpsm3_int_test.vhd/v。2) 在工程的资源操作窗(Processes),双击“Implement Design”。3)当实现设计(Implement Design)运行的过程中,展开实现(Implement Design)的步骤,会看到实现过程中,首先是进行综合(Synthesis),然后才依次完成实现的步骤。当完成相关操作后,在每个操作步骤前会显示一个小图标,表示该步骤的完成情况。对于本设计,在一些操作步骤前显示的是叹号,这些警告是可以忽略的。对号()表示该操作步骤成功完成;叹号(!)表示该操作步骤虽完成但有警告信息;叉号()表示该操作步骤因错误而未完成。4) 当完成这些操作步骤后,生成相应的操作报告供查看。实现操作完成后,再看design utilization的Design Summary窗口。五思考题1 查阅资料,了解ISE的特点和功能。答:1.优良的集成环境Xilinx ISE 是一个集成环境,可以完成整个 FPGA/CPLD 开发过程。2.简洁流畅的界面风格Xilinx ISE 界面风格简洁流畅,易学易用。3.丰富的在线帮助信息Xilinx ISE 有丰富的在线帮助信息,结合 Xilinx 的技术支持网站,一般设计过程中可能遇到的问题都能得到很好的解决。4.强大的设计辅助功能ISE 秉承了 Xilinx 设计软件的强大辅助功能。 教师签字_实验课程名称:_FPGA原理及应用_ 实验项目名称 Architecture Wizard与PACE实验实验成绩实 验 者覃朝光专业班级通信1103班组 别 2同 组 者实验日期2014年6月13日1、 实验目的(1)熟悉并使用Architecture Wizard。(2)掌握如何例化DCM模块单元。(3)熟悉并使用PACE。二、实验仪器 Pc机一台3、 实验内容(1)使用Architecture Wizard生成DCM模块单元。(2)将例化DCM模块单元添加到工程。(3)使用PACE进行引脚位置锁定。四、实验步骤1 使用Architecture Wizard生成DCM模块单元1)选择“Start”“Programs”“Xilinx ISE9.1i”“Project Navigator”,进入ISE的Project Navigator环境。2)选择“File”“Open Project”,并指向如下目录,选择“arwz_pace.ise”打开工程。 Verilog使用者:E:01.ISE9.1xupv2prolabsveriloglab2arwz_pace VHDL使用者:E:01.ISE9.1xupv2prolabsvhdllab2arwz_pace3) 双击Processes窗口中“Creat New Source”,弹出新资源向导窗口,选择“IP(CoreGen & ArchitectureWizard)”,输入my_dcm。4)单击“Next”按钮,弹出Select IP窗口,展开FPGAFeatures and Design和Clocking目录,选择“SingleDCM v9.1”。5)单击“Next”按钮,显示新建资源信息。单击“Finish”按钮,则弹出Xilinx Clocking WizardGeneral Setup窗口,选中CLK0, CLKFX和LOCKED,不选中RST,输入时钟频率为100MHz。6) 单击“Next”按钮,弹出Xilinx Clocking WizardClockBuffers窗口,保持默认选项。7) 单击“Next”按钮,弹出Xilinx Clocking WizardClocking Frequency Synthesizer窗口,输入50MHz输出频率。8)单击“Next”按钮,显示新建资源信息。单击“Finish”按钮,则在工程的Sources窗口看到my_dcm.xaw作为资源添加到工程中,但没有作为一个模块加入顶层设计文件中,则需要下一步的例化过程。2 DCM组件的例化1) 选中my_dcm.xaw文件,则在工程的Processes窗口双击“View HDL Source”,在HDL编辑器中可以看到由Architecture Wizard生成的DCM的VHDL源代码。此代码中包含了一个IBUFG、一个DCM 和两个BUFG例化的组件。输入时钟CLKIN_IN驱动IBUFG,输出的时钟与DCM相接,CLKFX_BUF和CLK0_BUF输出时钟驱动BUFG组件,所有的DCM属性使用VHDL generic语句传递。2)在工程的Sources窗口,双击“uart_clock.vhd”在HDL编辑器中打开源代码。3)在工程的Sources窗口,选择my_dcm.xaw,在Processes窗口双击“View HDL InstantiationTemplate”在HDL编辑器中打开例化组件的模板。在HDL例化范本my_dcm.vhi中,复制组件声明(从COMPONENT my_dcm到ENDCOMPONENT)并粘贴到uart_clock.vhd代码中的“- Insert DCM component declaration here”注释的下方。4)在uart_clock.vhd代码中的“- Insert DCM componentinstantiation here”注释下方,添加下列对端口的名称映像代码,完成对组件的例化。Inst_my_dcm: my_dcm PORT MAP(CLKIN_IN = clk,CLKFX_OUT = clk50MHz,CLKIN_IBUFG_OUT = open,CLK0_OUT = open,LOCKED_OUT = lock);5) 在“-Signals for DCM, as follows:”注释的下方添加DCM的50MHz的信号声明:signal clk50MHz: std_logic;6) 在实体说明里添加lock输出管脚如下:entity uart_clock isPort (tx : out std_logic;rx : in std_logic;alarm : out std_logic;clk : in std_logic;lock : out std_logic);end uart_clock;7) 保存后,my_dcm.xaw作为一个模块加入顶层设计文件中。3 使用PACE进行管脚分配1) 在工程的Sources窗口,选择顶层设计文件uart_clock.vhd/.v,则在Processes 窗口,扩展User Constraints并双击“Assign Package Pins”打开PACE,在此过程中弹出询问是否添加UCF文件到工程中对话框,单击“yes”按钮。用VHDL做实验时,如果PACE没有自动跳出,可把lab2复制到根目录下再打开工程。注意:在PACE能启动之前必须先进行综合。2) 在PACE中浏览Design Object List-I/O Pins窗口,可看到所列的信号名称和信号方向是Output还是Input。在Loc栏里每个信号对应于FPGA的管脚,FPGA的管脚分配需查看光盘数据./02.Schmatic目录下的原理图。3) 保存后出现“Bus Delimiter”对话框。选择“XST Default”,单击“OK”按钮。将Device Architecture窗口放大直到可以看清每个管脚。4)保存后出现“Bus Delimiter”对话框,如图1所示,选择“XSTDefault”,单击“OK”按钮。单击菜单栏中的“File”“Exit”,退出PACE;图1 Bus Delimiter对话框5)单击工程中Sources窗口中的uart_clock.ucf文件,然后双击Prosesses窗口中User Constraints目录下的“EditConstraints(Text)”,就可以看到由PACE生成的uart_clock.ucf管脚约束文件 。4检查 Pad 报告并打开超级终端1)单击工程中的 Sources 窗口的uart_clock.vhd/v文件,然后打开Processes窗口中的Implement Design目录下的Place & Route目录,双击“Pad Report”。当Place & Route完成后,“Pad Report”在HDL编辑器中打开,可以看“Pad Report”来确定I/O信号管脚约束是否与分配的管脚相匹配。2)从开始菜单的“File”所有程序附件通讯中单击超级终端,输入名字并单击“OK”按钮,选择COM1作为端口连接,单击“确定”按钮后按照图2进行设定,最后单击“确定”完成设定。图23)单击超级终端菜单中属性中的设置,单击“ASCII码设置”,选中“将换行符附加到传入行末尾”并单击“确定”按钮。再次单击“确定”按钮退出属性对话框。 5程序的下载并操作UART实时时钟1)给板卡上电,打开SW11开关。2) 单击工程的顶层文件uart_clock.vhd/v文件,然后双击Processes窗口中“Generate Programming File”来生成此工程的Bitstream文件并下载到芯片中去。3) 当这个过程完成后,打开Generate Programming File目录,双击“Configure Device (iMPACT)”,弹出“iMPACT”对话框后选择“Configure Devices usingBoundary-Scan (JTAG)”,然后单击“Finish”按钮。4) 等到弹出“Assign New Configuration File”对话框后,前两个器件都选择“bypass”按钮,对于最后一个器件单击uart_clock.bit文件选择“Open”按钮,然后再单击“OK”按钮后弹出一个警告信息,单击“OK”按钮所示。 5) 在iMPACT窗口右键单击“xc2vp30”,选择“Program”后弹出Programming Properties窗口,单击“OK”按钮,如果下载成功则出现“Program Succeeded”,6)在超级终端窗口则会看到KCPSM3提示符注意:这里超级终端是否显示成功不仅与下载是否成功有关,而且还与电脑的连接有关。如果COM1不行的话,可以试一下COM2。7)在KCPSM3提示符后输入“time”命令,则会以hh:mm:ss格式显示当前时钟。8) 在命令提示符后输入“alarm”命令,则以hh:mm:ss形式显示当前警告时间,此时alarm是关闭的。9) 输入“alarm on”命令,则警告变成有效,然后输入“alarm 00:00:30”设定警告时间为30 s,输入“time00:00:00”设定时间后,会看到板卡上的LED1灯会在30 s警告后熄灭。当你输入“alarm off”命令后则关闭警告,LED1灯则再次亮起。 教师签字_实验课程名称:_FPGA原理及应用_ 实验项目名称全局时序约束实验实验成绩实 验 者覃朝光专业班级通信1103班组 别 2同 组 者实验日期2014年6月14日一、实验目的1)学习使用约束编辑器(Constraints Editor)设置全局时序约束。2) 通过分析映像后的静态时序报实现。3)通过分析布局布线后静态时序报告来确认实际的设计效果。二、实验仪器 Pc机一台3、 实验内容 通过设置全局时序约束来提高系统时钟频率,用映像后的静态时序报 和布线布局后的静态时序报告来分析设计的性能。四实验背景知识:1)约束编辑器简介 2)本实验中的PicoBlaze系统原理5 实验准备:1) 将光盘下03.Examples of Program实验程序目录下的01.ISE9.1文件夹复制到E:盘根目录下。 2)将USB下载电缆与计算机及XUPV2Pro板的J8连接好。 3)将RS232串口线一端与计算机连接好,另一端与板卡的J11相连接。4)启动计算机后,将XUPV2Pro板的电源开关SW11打开到“ON”上。观察 XUPV2Pro板上的+2.5V, +3.3V, +1.5V的电源指示灯是否均亮,若有不亮的,请断开电源,检查电源。 6 实验步骤:(1)编译范本中的汇编1) 选择“Start”“Programs”“Xilinx ISE 9.1i”“Project Navigator”,进入ISE的Project Navigator环境2)选择“File”“Open Project”,并指向如下目录,选择time_const.ise打开工程。 3)选择“Start”“Programs”“Accessories”“Command Prompt”,打开命令提示符,并使cd命令指向如下的汇编编译器的目录下,如图1所示。 图1在提示符后输入kcpsm3 program.psm命令,执行结束后的结果如图2所示。 图2 4) 执行完命令后,会看到在Assemble下生成了一些文件,其中包括VHDL(program.vhd)和Verilog (program.v),这就是汇编编译系统将编写的汇编源文件program.psm自动生成了用于程序内存的VHDL/Verilog格式文件,用于综合和仿真。将生成的program.vhd/v文件添加到工程中。 5) 单击工程Sources窗口中的顶层文件loopback.vhd,然后双击Processes窗口中Synthesis- XST目录下的“Check Syntax”,检验添加的文件是否有语法错误。(2)输入全局时钟约束1)单击工程Sources窗口中的顶层文件loopback.vhd,然后双击Processes窗口中的User Constraints目录下的“Create Timing Constraints”。2)本工程若没有UCF文件,则弹出提示对话框,单击“Yes”按钮,将自动生成UCF文件为loopback.ucf,并添加到工程中。)当打开约束编辑器时,选中“Globle”全局约束窗口,如图3所示。 图34) 双击Period列下的单元格,弹出“Clock Period”对话框,可以设置Period约束。5) 双击Pad to Setup列下的单元格,弹出对话框并输入6ns,单击“OK”按钮,完成输入延迟约束设置。6)单击Clock to Pad列下的单元格,弹出对话框并输入7.5ns,单击“OK”按钮,完成输出延迟约束设置 7) 选择“File”“Save”保存,然后选择“Exit”退出约束编辑器,如图4所示。 图4(3) 输入引脚位置约束1) 单击工程Sources窗口中的顶层文件loopback.vhd,然后双击Processes窗口中的User Constraints目录下的“Edit Timing Constraints(Text)”,打开loopback.ucf文件。2) 从XUP Virtex-II Pro使用手册可知,关于IO引脚位置的设置如表1所示。 表1 (4) 实现设计并进行时序分析1) 单击工程的Sources窗口中的顶层文件loopback.vhd文件,展开Processes窗口中的 “Implement Design”,然后再展开Map目录下的“Generate Post-Map Static Timing”,右键单击“Analyze Post-Map Static Timing(Timing Analyzer)”并从弹出的快捷菜单中选择“Return All”。2)单击“Analyze Against Timing Constraints”按钮映像如表2所示。 表2 3) 在时序报告窗口中可以看到时序约束报告,分析每个时序路径约束,注意线网延迟。4) “e”代表评估。实际的线网延迟是在布局布线后计算出来的。5) 退出时序分析器后,在Processes窗口,展开Place & Route目录下的“Generate Post-Place & Route Static Timing”,双击“Analyze Post-Place & Route Static Timing (Timing Analyzer)”,完成表3,并与表2进行对照比较。 表3 6) 分析每个时序路径约束,注意真实的线网延迟已经被计算出来。(5) 生成软件并进行HDL仿真1) 打开本实验的Assembler文件包内的program.psm文件,此汇编范本的汇编代码含有三部分。2) 在汇编范本Task #1部分中,添加如下汇编语句,编写完成后,要重新用汇编编译系统把编写的汇编源文件program.psm自动生成用于程序内存的VHDL/Verilog格式文件。在汇编范本涉及到的端口值的常量,参考PicoBlaze的指南,而代码的编写参考KCPSM3的使用手册。 3) 在工程中选择Project下拉菜单中的“Add Source”,选择lab3目录下的testbench.vhd文件(testbench主要是为了对电路进行仿真验证,测试设计电路的功能,部分性能是否与其的目标相符),此文件为测试激励文件,仿真结果波形如图5所示。 图5 教师签字_实验课程名称:_FPGA原理及应用_ 实验项目名称触发器实验实验成绩实 验 者覃朝光专业班级通信1103班组 别 2同 组 者实验日期2014年6月15日1、 实验目的(1)熟悉ISE9.1开发环境,掌握工程的生成方法。(2)熟悉SEED-XDTK XUPV2 Pro实验环境。(3)了解Verilog HDL语言在FPGA中的使用。(4)了解触发器的Verilog HDL语言实现。二、实验仪器Pc一台,USB下载电缆,XUPV2Pro板三、实验原理及内容1)主从D触发器主从结构触发器的状态改变是在时钟脉冲下降沿完成的,因而这种结构的触发器无空翻现象。若CP下降沿前D=1,则Qn+1=1;若CP下降沿前D=0,则Qn+1=0。(2)主从J-K触发器主从J-K触发器的逻辑图及逻辑符号,其状态转换是在时钟脉冲下降沿完成的。(3)J-K触发器转换的D触发器(4)根据表8.3可写出J, K与D, Q的关系:J=D K=/D四、实验内容(1)用Verilog HDL语言设计D触发器、J-K触发器和J-K触发器转换的D触发器,进行功能仿真验证。(2)使用ChipScope-Pro生成ILA/ICON核,在线观测调试。五、实验准备(1)将USB下载电缆与计算机及XUPV2Pro板的J8连接好。(2)将RS232串口线一端与计算机连接好,另一端与板卡的J11相连接。(3)启动计算机后,将XUPV2Pro板的电源开关SW11打开到ON上。观察XUPV2Pro板上的+2.5V, +3.3V, +1.5V的电源指示灯是否均亮,若有不亮的,请断开电源,检查电源。六、实验步骤(1)D触发器设计1)创建工程及设计输入在E:project目录下,新建名为dtrigger的新工程。器件族类型(Device Family)选择“Virtex2P”器件型号(Device)选“XC2VP30 ff896 -7”综合工具(Synthesis Tool)选“XST (VHDL/Verilog)”仿真器(Simulator)选“ISE Simulator”设计输入:在源代码窗口中单击右键,在弹出的菜单中选择“New Source”,在弹出的对话框中选择“Verilog Moudle”,在右端的“File name”中输入源文件名dtrigger,下面各步单击“Next”按钮,然后在弹出的源代码编辑框内输入D触发器的源代码并保存即可。2)功能仿真在sources窗口sources for中选择Behavioral Simulation;由Test Bench WaveForm添加激励源,如图1所示; 图1然后在 processes 窗口中单击 “ Simulater behavioral model”开始仿真,仿真结果如图2所示。 图23)添加引脚约束首先对生成的工程进行综合。添加引脚约束:双击“User Constraints”下的“Assign Package Pins”,由于采用ChipScope进行调试,因此引脚约束只需要添加时钟引脚的约束就可以了。4)ChipScope进行调试用核生成法,所用到的核有ICON核与VIO核。按照前面的步骤生成ICON核和VIO核并将它们添加到工程,ICON核的控制端口数为1,VIO核的异步输入端口宽度为4,异步输出端口宽度为2。在ChipScope pro analyzer里的VIO console中观测到的调试结果如图3图7所示。图3 图4图5 图6图7 教师签字_ 实验课程名称:_FPGA原理及应用_ 实验项目名称 七人投票表决器实验实验成绩实 验 者覃朝光专业班级通信1103班组 别 2同 组 者实验日期2014年6月15日一、实验目的(1) 熟悉 ISE9.1开发环境,掌握工程的生成方法。(2) 熟悉 SEED-XDTK XUPV2Pro 实验环境。(3) 了解Verilog HDL语言在FPGA中的使用。(4) 通过掌握七人投票表决器的Verilog HDL设计,了解数字电路的设计。 二、实验仪器 Pc 一台,USB下载电缆,XUPV2Pro板三、实验内容(1) 熟悉 ISE9.1开发环境,掌握工程的生成方法。(2) 熟悉 SEED-XDTK XUPV2Pro 实验环境。(3) 了解Verilog HDL语言在FPGA中的使用。(4) 通过掌握七人投票表决器的Verilog HDL设计,了解数字电路的设计。 四实验准备(1) 将USB下载电缆与计算机及XUPV2Pro板的J8连接好。 (2) 将RS232串口线一端与计算机连接好,另一端与板卡的J11相连接。 (3) 启动计算机后,将XUPV2Pro板的电源开关SW11打开到ON上。观察XUPV2Pro板上的+2.5V, +3.3V, +1.5V的电源指示灯是否均亮,若有不亮的,请断开电源,检查电源。五实验原理此实验是用7个开关作为表决器的7个输入变量。输入变量为逻辑“1”时,表示表决者“赞同”;输入变量为逻辑“0”时,表示表决者“不赞同”。输出逻辑“1”时,表示表决“通过”;输出逻辑“0”时,表示表决“不通过”。当表决器的7个输入变量中有4个以上(含4个)为“1”时,则表决器输出为“1”;否则为“0”。七人表决器设计方案很多,比如用多个全加器采用组合电路实现。用Verilog语言设计七人表决器时,也有多种选择。我们可以用结构描述的方式用多个全加器来实现电路,也可以用行为描述。采用行为描述时,可用一个变量来表示选举通过的总人数。当选举人大于或等于4时为通过,绿灯亮;反之不通过时,黄灯亮。描述时,只须检查每一个输入的状态(通过为“1”,不通过为“0”),并将这些状态值相加,判断状态值的和即可选择输出。 六实验步骤(1)创建工程及设计输入1) 在E:project目录下,新建名为voter7的新工程。器件族类型(Device Family)选择“Virtex2P”器件型号(Device)选“XC2VP30 ff896 -7”综合工具(Synthesis Tool)选“XST (VHDL/Verilog)” 仿真器(Simulator)选“ISE Simulator”2)设计输入:在ISE中文本编辑中输入的代码参见教程。(2)功能仿真1)在sources窗口“sources for”中选择“Behavioral Simulation”。2)由Test Bench WaveForm添加激励源,仿真波形如图所示。(3)生成核并添加核本实验内容为七人投票表决器,不需要使用ILA核。因此下面使用核生成法生成一个ICON核和一个VIO核就可以了。1)首先对生成的工程进行综合。2)生成核单击“开始”“程序”“ChipScope pro 9.1i”“xilinx ChipScope pro core generator”,弹出如图所示的对话框。单击“Next”按钮,在下面的对话框中选择生成文件的保存路径,将文件保存到生成的工程目录下,器件系列选择“Virtex2P”,然后单击“Next”按钮,如图所示。在下一个对话框中选择“HDL language”为Verilog,单击“Generator core”,如图所示。然后生成一个VIO核,如图所示。 3) 添加核在ISE窗口中,单击“File”“open”,分别打开icon_xst_example和vio_xst_example。将icon和vio核声明分别添加到源代码endmodule之后,再对源代码做相应的修改。修改完成后的代码参见教程。(4)在线调试1) 设计实现:在工程的资源操作窗(Processes)双击“Implement Design”。2) 在实现步骤成功后,单击“Generate Programming Files”,生成bit流文件。3) 双击“Analyze Design Using ChipScope”,出现ChipScope Pro Analyzer 窗口。双击“”图标,出现以下对话框,单击“OK”按钮,如图所示。(5)观测调试双击“VIO console”,可以看到异步输入信号和异步输出信号,如图所示将异步输出信号按照在代码中设定的内容改为总线形式并重命名,以便更加直观地观测信号。也可以右键单击各个信号选择“Bus Radix”后的“Binary.”将各个信号以十进制的形式显示.当然,也可以通过修改voter7为不同的二进制数值,然后与正确的结果比较进行验证。 教师签字_
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!