内核发生器系统实验.docx

上传人:b****6 文档编号:7975153 上传时间:2023-01-27 格式:DOCX 页数:12 大小:146.42KB
下载 相关 举报
内核发生器系统实验.docx_第1页
第1页 / 共12页
内核发生器系统实验.docx_第2页
第2页 / 共12页
内核发生器系统实验.docx_第3页
第3页 / 共12页
内核发生器系统实验.docx_第4页
第4页 / 共12页
内核发生器系统实验.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

内核发生器系统实验.docx

《内核发生器系统实验.docx》由会员分享,可在线阅读,更多相关《内核发生器系统实验.docx(12页珍藏版)》请在冰豆网上搜索。

内核发生器系统实验.docx

内核发生器系统实验

实验5:

内核发生器系统实验

 

内核发生器系统实验

实验介绍

这个实验将指导你创建一个Xilinx内核发生器系统,并把这个内核嵌入到你的设计中来完成实验。

独立实验包含了含内核的仿真设计。

实验目的

完成这个实验后,你将能学会:

●通过使用Xilinx内核生成器系统生成一个内核

●将这个内核应用于已有的HDL设计中

●对包含内核的HDL设计执行仿真

●对硬件设计进行测试

实验步骤

在这个实验中,你将使用内核发生器系统来创建一个RAM模块,应用程序进行初始化

将其应用到PicoBlaze设计中,最后在DigilentSpartan-3E目标板上进行测试。

这个实验包括以下四个主要步骤:

1.查看设计

2.生成内核

3.在新的回路模块执行仿真

根据以下给出的每条指令,你将找到在以下的实验步骤中,配合每一步操作,我们配有相关的图示。

如果对流程比较熟悉,可以跳过其中的一些操作。

注意:

如果在以后你想看这些实验,您可以从Xilinx的大学计划网站

 

生成ROM初始化文件步骤1

打开ISE™ProjectNavigator,打开工程文件。

1.打开XilinxISE软件,选择StartProgramsXilinxISE8.2iProjectNavigator

2选择FileOpenProject

Verilogusers:

Browsetoc:

\xup\fpgaflowlabs\verilog\lab4

VHDLusers:

Browsetoc:

\xup\fpgaflow\labs\vhdl\lab4

3.选择synth_lab.ise,点击打开

浏览设计中用红色标记的问题,掌握设计中大致的程序模块。

使用原来的实验中的程序,完成第三个任务。

汇编后产生一个内核文件,这将用于初始化一个ROM.

1.打开program.psm文件,在project目录下,使用效果如windowsexporer

2.通过写小段软件代码完成任务#3,键盘显示终端。

注意:

参考程序指示里的注释。

3.打开一个命令窗口,浏览包含程序的路径,汇编程序,在命令提示中输入以下命令:

>kcpsm3program

注意:

汇编将产生几个文件,包括一个.COE,这个将被用来初始化一个内核发生器的存储记忆。

 

产生一个内核步骤2

产生一个新的COREGenIP源文件,命名为program.类型为DualPortROM

1.在ProcessesforSource窗口,双击CreateNewSource

如果你没有看见生成的新的源程序,确认一个HDL源文件是否已经在SourcesinProject窗口中已选择。

2.在新的Source对话框中,选择IP(CoreGen&ArchitectureWizard),在文件命名区输入program,如Figure5-1所示。

Figure5-1.NewSource对话框

3.点击Next

4.在选择CoreType对话框后,展开Memories&StorageElements,展开RAMs&ROMs,选择BlockMemoryGeneratorv2.1,如下图所示。

Figure5-2.选择CoreType对话框

5.点击Next,点击Finish

一会,一个内核生成系统GUI将打开。

 

配置DualPortBlockMemory内核,有如下特性:

●名字:

program

●存储器类型:

DualPortROM

●存储器大小:

1024x18

 

1.在Figure5-3中设置以下参数,然后点击

●器件名称:

program

●存储器类型:

DualPortROM

Figure5-3.BlockMemory选项

2.在Figure5-4中设置如下参数,然后点击

●读宽度:

18

●读深度:

1024

●操作模式:

WriteFirst

●使能:

AlwaysEnabled

Figure5-4.PortAdesignoptionsandpinpolarity

3.在Figure5-5中设置如下参数,然后点击

●读宽度:

18

●读深度:

1024

●操作模式:

WriteFirst

●使能:

AlwaysEnabled

Figure5-5.PortBdesignoptionsandpinpolarity

 

4.点击LoadInitFile,从assembler目录下选择PROGRAM.COE文件。

Figure5-6.Initializethememorywiththeprogram

5点击Show按钮,从下拉框中选择memory_initialization_vector,查看在配置FPGA后将要装载到存储器中的内容。

6.在DualPortBlockMemory对话框底部点击Generate

注意:

program.xco文件必须自动增加到ISE工程

 

例示BlockRAM内核到Verilog源步骤3a

VHDL使用者:

跳到步骤3b,“例示BlockRAM内核到VHDL源文件。

将产生的内核例示到loopback.v.

1.在SourcesinProject窗口,双击loopback.v

loopback.v文件在文件编辑窗口中打开

2.选择EditLanguageTemplates

例示内核模块在该窗口中的COREGEN单元。

3.展开COREGEN,展开VERILOGComponentInstantiation,选择program,如Figure5-7所示。

Figure5-8a.LanguageTemplates

4.复制粘贴template到loopback.v文件,有如下说明,“//InstantiatetheRAMblockhere”

5.编辑instantiation如下:

 

programmy_program(

.clka(clk55MHz),

.addra(addess),

.douta(instruction),

.clkb(1'b0),

.addrb(10'b0000000000),

.doutb());

6.选择FileSave

例示BlockRAM内核到VHDL源步骤3b

Verilog用户:

直接跳到步骤4——“执行仿真动作”

例示步骤2中生成的内核到fifo_2048x8.vhd.

1.在SourcesinProject窗口,双击loopback.vhd

loopback.vhd文件在文本编辑窗口中打开。

2.选择EditLanguageTemplates

例示内核模块在该窗口中的COREGEN单元。

3.展开COREGEN,展开VERILOGComponentInstantiation,选择program,如Figure5-7所示。

Figure5-8b.LanguageTemplates

4.复制粘贴template到program.vhd文件

粘贴componentdeclaration到,题为“----Insertcomponentdeclarationforprogramhere”.

粘贴componentinstantiation到,题为“--insertcomponentinstantiationforprogramhere”.

5.编辑instantiation如下连接到dual-portblockROM

my_program:

program

portmap

clka=>clk55MHz,

addra=>address,

douta=>instruction,

clkb=>'0',

addrb=>"0000000000",

doutb=>open);

6.选择FileSave

执行仿真动作步骤4

检查文件了解正在发生的动作

1.在SourcesinProject窗口,双击testbench.v/.vhd

查看testbench的功能,有相关的testbench的注释:

●testbenchtoggles转换

●等待几个时钟周期

●检验LEDs查看他们是否与相应的设置匹配

2.在SourcesinProject窗口,选择program.xco

3.在ProcessesforSource窗口,展开COREGen工具箱,双击ViewVerilog/VHDLFunctionalModel

这个文件夹参考了XilinxCoreLib仿真库的模型,被用于在ProjectNavigatoroftheISE™软件中自动地执行仿真的动作。

VHDL用户:

如果文件夹没有出现在文本编辑中,双击VHDLFunctionalModel,选择OpenWithoutUpdating.

 

使用testbench.v或testbench.vhd文件,执行50000ns的仿真动作,查看波形确认内核连接的正确性。

1.在SourcesinProject窗口,为查看源文件选择BehavioralSimulation,点击testbench.v/.vhd

2.在ProcessesforSource窗口,展开XilinxISESimulator进程,点击SimulateBehavioralModel,选择Properties。

3.输入仿真时间50000ns

4.点击OK

5.双击SimulateBehavioralModel

6.检查波形确认转化与LEDS的显示匹配。

 

硬件的测试应用步骤5

打开hyperterminal部分,生成位流,下载到Digilent板,测试应用。

1.在project目录下,双击terminal.ht,开始hyperterminal部分

2.在Project浏览器里,着重loopback.v/vhd,展开GenerateProgrammingfile,双击ConfigureDevice(iMPACT).

3.当impact打开后,使用JTAG下载电缆配置FPGA,确认以下选项已经选择,点击.

•Boundary-ScanMode

•Automatciallyconnectcable

4.当窗口打开提示在JATG链中有两个装置被检测到的时候点击

5.分配loopback位到Spartan-3exc3s500e,设PROM旁路。

6.点击Spartan-3e装置,选择program,点击.

注意:

你会看见“XilinxRules!

”信息列在hyperterminal窗口,任何键盘上的信息也可以陈列出来。

 

 

Figure5-9.Viewtheoutputonthehyperterminalwindow

 

结论

使用COREGenerator™系统生成内核,这个内核可以很方便地把一个Verilog或VHDL设计例程融入进去。

为方便使用,VEO和VHO文件提供了你cut-and-paste例示模块。

VEO和VHO文件可以用于仿真实验。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1