收藏 分销(赏)

FPGA建立HPS硬件系统模型.docx

上传人:精*** 文档编号:3562004 上传时间:2024-07-09 格式:DOCX 页数:76 大小:10.80MB
下载 相关 举报
FPGA建立HPS硬件系统模型.docx_第1页
第1页 / 共76页
FPGA建立HPS硬件系统模型.docx_第2页
第2页 / 共76页
FPGA建立HPS硬件系统模型.docx_第3页
第3页 / 共76页
FPGA建立HPS硬件系统模型.docx_第4页
第4页 / 共76页
FPGA建立HPS硬件系统模型.docx_第5页
第5页 / 共76页
点击查看更多>>
资源描述

1、766.2.1 建立HPS硬件系统模型本硬件模型中包括:ARM Cortex-A9 MPCore HPS、用户按键输入(PIO Button)、用户拨码开关输入(PIO DIPSW)、LED输出(PIO LED)、64 KB片上存储器、JTAG-to-Avalon主接口连接桥(JTAG Master)、JTAG-UART调试模块、中断捕获器(Interrupt Capturer)、系统ID(SysID)等。图6.12 本系统的结构框图启动Quartus13.0 EDA软件,选择菜单FileNew Project Wizard,建立一个新的Quartus工程(这里命名为HPS_Qsys_Prj)

2、,并在建立工程向导的第3个界面选择SoC FPGA器件,这里选择CyeloneV系列SCSXFC6D6F31CSES芯片(实际选5CSEMA5F31C6芯片),如图6.13所示。最后点击Finish按钮完成Quartus工程的建立。在Quartus主界面中选择菜单ToolsQsys命令,或者直接点击如图6.14所示的Quartus主界面上的快捷按钮,启动Qsys工具。1) 添加并设置HPS(Hard Proeessor system)参数首先添加HPS处理器模块,如图6.15所示。在Qsys左边的Component Library下面选择展开Embedded proeessors,选中其中的H

3、ard proeessor System并双击鼠标左键,或点击“Add”按钮,在弹出如图所示的Add Module对话框后,即可弹出如图6.16所示的Hard Processor System属性设置对话框。该对话框包括FPGA Interfaees、Peripheral Pin Multiplexing、HPS Clocks和SDRAM四个标签页面;在该对话框中我们需要根据开发板(或用户自己的板卡)上连接的HPS外设正确设置相应的引脚复用开关,以及HPS时钟、多端口存储器控制器、HPS到FPGA、FPGA到HPS和FPGA到多端口存储器控制器等各种参数。(1) FPGA Interfaees

4、标签页设置在FPGA Interfaces标签页中有General、AXI Bridges、FPGA-to-HPS SDRAM Interface、Resets、DMA Peripheral Request、Interrupts、HPS-to- FPGA几个部分。FPGA-to-HPS SDRAM Interface、Resets、DMA Peripheral Request和Interrupts几个部分。HPS-to- FPGA General部分。表6 .11所示为FPGA InterfaceS标签中General部分的设置项功能描述(解释p199表6 .11),当这些选项被选中时,相应的

5、接口名在图6.16左边的HPS模块中就可显示出来。没有选中选项时的情况如下图所示:General部分的选项被选中时,相应的接口名在下图左边的HPS模块中就可显示出来。本项目实例系统中除使能Enable HLGPI Interface选项外,其他选项保持无效,设置结果如图6.16或下图所示。勾选Show signals后的情况如下图所示:AXI Bridge部分。在FPGA Interface标签中AXl Bridge部分,FPGA-to-HPS interface width和HPS-to-FPGA interface width可设置为Unused、32-bit、64-bit和128-bit

6、,这里将这两项都设置为64-bit,将HPS与FPGA之间的HPS2FPGA(接口名为f2h_axi_slave)和FPGA2HPS(接口名为h2f_axi_master)接口都设置为64位。然后将Lightweight HPS-to-FPGA interface width设置为32-bit,即使能了32位的轻量级LHPS2FPGA接口(接口名为h2f_lw_axi_master)。设置结果如图6.16所示。FPGA-to-HPS SDRAM Interface部分。本实例系统中的FPGA-to-HPS SDRAMInterface部分内容设置为空。可以通过添加一个或多个SDRAM从端口(最

7、多6个)让FPGA来访问HPS SDRAM子系统,其数据宽度可配置为32、64、128或256位。例如,图6.16下方的FPGA-to-HPS SDRAM Interface部分,其中的Name列表示接口名,系统根据FPGA-to-HPS SDRAM端口设置情况自动分配。表6.12所示为每个SDRAM接口可以设置的参数(解释p200表6.12)。点+号添加;点-号删除本实例系统中的FPGA-to-HPS SDRAMInterface部分内容设置为空。结果如下图所示。ResetS部分。表6.13所示为Resets部分可设置的选项及其说明(解释 p200表6.13)。本实例系统中的Resets部分

8、所有设置选项均设置为无效,如图6.17或下图所示。DMA Peripheral Request部分。在这里可以单独使能每个DMA控制器外设请求ID(peripheral Request ID),每个请求ID可以使能连接FPGA的8个逻辑DMA通道中对应的通道接口。需要注意的是,外设请求ID4-7是与CAN控制器共用的。一共有8个通道:本实例系统中的DMA Peripheral Request部分所有外设请求ID使能设置均为No,如图6.17或下图所示。Interrupts部分。在该部分首先选中Enable FPGA-to-HPS Interrupts选项,如图6.17所示,即可在图6.17左侧

9、的Block Diagram中出现f2h_irq0和f2h_irq1两个信号,表示使能了HPS中FPGA对MPU的中断信号。如下图所示。又勾选3个选项后的情况如下图所示。HPS中的每个外设都可以提供一个中断信号给FPGA逻辑。在本实例系统中,将HPS-to-FPGA下面所列的所有外设中断信号均设置为无效,如图6.17或下图所示。(2) Peripheral Pin Multiplexing标签页设置在这个标签页中包含了HPS所有可用外设的参数设置,通过选择HPS I/O引脚设置可用使能所对应的外设。第1图第2图第3图第4图第5图当使能某个外设时,还需要设置其相应的工作模式。将鼠标箭头放到相应的

10、外设模式(mode)设置选项位置几秒时间,即可出现一个下拉列表,该下拉列表给出了相应外设工作模式下的引脚定义,如图6.18或下图所示。、该标签页中的外设引脚复用设置应该与所用SoC FPGA开发板(或自己的系统板)上的实际外设连接匹配。在本实例系统中,Peripheral Pin MultiPleXing标签页的外设引脚复用及模式选择如表6.14(稍加解释)所示。没有在表6.14中列出的外设引脚复用选择Unused,模式选择N/A。 在Peripheral Pin Multiplexing标签页最下方,Conflicts表中列出了HPS外设的引脚分配情况(13.1版中无Conflicts表),

11、其中包括没有分配给任何外设的引脚,可以将没有分配给HPS外设的引脚作为普通目的I/O(GPIO)使用,将表中GPIO Enabled设置为“Yes”即可(默认情况下该设置均为No),如图6.19所示。本实例系统将Conflicts表中还没有被分配的引脚RGMll0_TX_CLK使能为GPIO。如果外设引脚复用设置有冲突,则该表Used by列将给出冲突的外设引脚。13.1版新增Peripherals Mux Table(3)HPS Clocks标签页设置在HPS属性设置窗口选择HPS Clocks标签,如图6.20或下图所示,其中包括用户时钟(userClocks)、锁相环参考时钟(PLL R

12、eference Clocks)和外设FPGA时钟(Peripheral FPGA Clocks)三个部分。可以设置HPS对FPGA以及FPGA对HPS的时钟使能。表6.15所示为用户时钟(User Clocks)参数及其说明。这里设置的时钟频率是指所期望的最高频率。实际时钟频率可以通过MPU上的软件对寄存器的设置进行修改。这里所设置的时钟频率将出现在由Qsys产生的Synopsys设计约束文件(.sdc)中。HPS Clocks标签中的PLL Reference Clocks部分的参数描述如表6.16所示。表6.15和表6.16中所列的相关时钟接口可参考HPS中的时钟管理器模块,如图6.21

13、所示。由于在Peripheral Pin Multiplexing标签页中没有HPS外设(如EMAC0、EMAC1、QSPI、SDIO、SPIM0、SPIM1、I2C0、 I2C2以及I2C3)被设置为在FPGA中可以使用(即相应外设的引脚复用选择FPGA),因此Peripheral FPGA Clocks部分的时钟都是无效的。在本实例系统中,将HPS Clocks标签页下面所列的所有选项均设置为无效。(4)SDRAM标签页设置HPS支持DDR2、DDR3和LPDDR2协议的存储器接口,并且支持高达40位宽的ECC(错误纠正编码)。SDRAM标签页中还包括PHY Settings、Memory

14、 Parameters、Memory Timing和Board Settings设置页面,可根据实际所用的SDRAM存储器设置该标签页中的相应参数,如图622所示。本实例系统所用的开发板上连接到HPS的是两片Micron公司的1.35 V DDR3L SDRAM器件(256 Mb x 16 x 21 GB)。首先选择SDRAM标签中的SDRAM Protoeol为DDR3。 PHY Settings页面设置。在SDRAM标签页中的PHY Settings页面,根据Micron存储器芯片的速率将Memory clock frequeney设置为400 MHz。将Advanced PHY Sett

15、ings下而的Supply Voltage设置为1.5 V DDR3(也可以根据实际情况选择1.35 v DDR3L),如图6.22所示。虽然Micron器件手册中给出的是1.35V的工作电压,但为了简化开发板L上的电源电路,可以将存储器的vdd和vddq连接到1.5V电源。Memory Parameters页面设置。根据DDR3芯片手册中的参数来设置Memory ParameterS页面。在本实例开发板上所用的Mieron 1.35 V DDR3L SDRAM器件手册中,地址表给出器件的行地址(Row address)、Bank地址和列地址(Column address)。图6.23所示为M

16、icron手册中的地址参数截图。本实例所用开发板上的Micron存储器参数是图6.23中的最后一列(256 Meg * 16)。Memory Parameters页面的设置如图6.24所示,根据Micron手册使能DM和DQS选项。Memory Parameters页面下面的Memory Initialization Options相关参数也需要根据Micron手册上的参数进行设置。设置结果如图6.25所示。Memory Timing页面设置。可根据DDR3芯片手册中的相关参数来验证Memory页面中的时序参数,如图6.26所示。Board Settings页面设置。本实例系统中该页面下Set

17、up and Hold Derating和Inter symbol Interference均选择Use Alteras default settings,如图6.27所示。当然,也可以根据手册中的相关参数进行设置。在SDRAM的参数设置中,还需要根据实际使用的开发板(或自定制的硬件)参数设置Board Skews,如图6.28所示。利用这些参数SDRAM可以校准I/O延时以及FIFO设置来补偿板级、FPGA部分或存储器件的时间飘移。以上有关HPS的属性都设置完成后,点击Hard Processor System对话框右下角的Finish按钮退出HPS设置对话框,如图6.28所示。在Qsys的

18、system contents页,找到Export列hps_0元件的h2f_reset行中的Double-clock to export并用鼠标左键双击,则出现如图6.29所示的hps_0_h2f_reset,即总是使能HPS到FPGA的冷/热复位信号。另外,在clock列选择hps_0的h2f_axi_clock、f2h_axi_clock和h2f_lw_axi_clock连接到lck_0。2) 添加并设置其他Qsys元件根据实例系统需要,QsyS中还需要添加片上RAM、JTAG Master桥、系统ID、JTAG UART、LED输出、拨码输入、按键输入以及中断捕获等元件。(1) 添加片上

19、RAM。在Qsys左边的Component Library下面选择展开Memories and Memory Controllers,选中其中的On-Chip Memory(RAM or ROM)并双击鼠标左键(或点击Add按钮);即可弹出如图6.30或下图所示的On-Chip Memory(RAM or ROM)属性设置对话框。片上RAM为HPS Cortex-A9 MPU访问低延迟、高速存储器提供代码或变量的存储。在On-Chip Memory(RAM or RoM)属性设置对话框中设Data width为64,设置Total memory size为65536(即64K)字节,其他保持默

20、认设置。点击窗口右下角的Finish按钮完成。连接clk、reset、s1,结果如下图所示。注意:0 Errors,0 Warnings(2) 添加JTAG Master桥。在Qsys左边的Component Library下面选择展开BridgesMemory-Mapped,选中其中的JTAG to Avalon Master Bridge并双击鼠标左键(或点击Add按钮);即可弹出如图6.31所示的JTAG to Avalon Master Bridge属性设置对话框。JTAG to Avalon Master桥接收JTAG接口上的字节编码处理数据流,并在Avalon-MM接口发起Aval

21、on-MM处理过程。JTAG to Avalon Master桥也可用于系统控制台(System Console)和SignalTap的调试。直接点击窗口右下角的“Finish”按钮完成。连接clk、clk_reset、master,结果如下图所示。根据本实例系统要求(如图6.11中包括两个JTAG Master),需要按照以上方法在Qsys中再添加一个JTAG to Avalon Master Bridge元件。重复上面操作并连线,结果如下图所示。(3) 添加系统ID。在Qsys左边的Component Library下面选择展开peripheralsDebug and Performanc

22、e,选中其中的System ID Peripheral并双击鼠标左键(或点击Add按钮);即可弹出如图6.32所示的System ID peripheral属性设置对话框。System ID可以验证软件与硬件处理器系统的一致性,不允许软件运行在不兼容的硬件配置系统上。在图6.32所示的System ID Peripheral属性设置对话框的32 bit System ID中输入十六进制的系统ID号,之后点击窗口右下角的Finish按钮完成。连接clk等,结果如下图所示。(4) 添加JTAG UART。在Qsys左边的Component Library下面选择Interface Protocol

23、sSerial, 选中其中的JTAG UART并双击鼠标左键(或点击Add按钮),即可弹出 如图6.33所示的JTAG UART属性设置对话框。保持所有默认设置,直接点击窗口右下角的Finish按钮完成。连接clk等信号,结果如下图所示。出现地址重叠错。选System-Assign Base Addresses结果如下图所示。(5)添加并行I/O(PIO)外设。添加LED输出Microcontroller Peripherals,选中PIO并双击鼠标左键(或点击Add按钮),即可弹出如图6.34所示的PIO(Parallel I/O)属性设置对话框在Width(1-32bits)中填入4,并在

24、Direction中选择Output,这样即表示在Qsys中添加4位输出接口。然后点击窗口右下角的Finish按钮完成。连接clk等信号,结果如下图所示。 加拨码开关输入接口。在Qsys的Component Library中选择添加PIO(parallel I/O);弹出PIO(Parallel I/O)对话框,在width(1-32 bits)中填入4,并在Direction中选择Input,如图6.35或下图所示。在Edge capture register下面选中Synchronously capture,并在Edge Type右侧选择ANY;在Interrupt下面选中Generate

25、 IRQ,并在IRQ Type后选择EDGE。然后点击窗口右下角的Finish按钮完成。连接clk等,结果如下图所示。出现地址重叠错。选System-Assign Base Addresses,结果如下图所示。添加按键输入接口。在Qsys的Component Library中选择添加PlO(Parallel I/O)并弹出PIO(Parallel I/O)对话框后,在Width(1-32bits)中填入4,并在Direction中选Input,如图6.36所示。在Edge capture register下面选中Synchronously capture,并在Edge Type右侧选择FALL

26、ING;在Interrupt下面选中Generate IRQ,并在IRQ Type后选择EDGE。然后点击窗口右下角的Finish按钮完成。连接clk等信号,选System-Assign Base Addresses,消除地址重叠错。结果如下图所示。所有并行I/O(PIO)外设添加完成后,可以在Qsys的System Contents中看到pio_0添加的LED输出接口)、pio_1(添加的拨码开关输入接口)和pio_2(添加的按键输入接口),如图6.37所示。(6)添加中断捕获模块。中断捕获模块是用Verilog写好的Avalon存储器映射(MemoryMapped)用户自定义的Qsys元件

27、,该模块连接到FPGA外设的中断源,可以通过系统控制台(System Console)查看每个FPGA外设的中断状态。Altera公司提供的黄金参考设计(GSRD)硬件模块(Golden Hardware Reference Design,GHRD)中提供的中断捕获模块的源代码(intr_capturer.v)如下:回到Qurtus II下,选File-New选Verilog HDL File,然后点OK按钮。编辑intr_capturer.v p212-213另外方法:将已有的intr_capturer.v加入工程。根据intr_capturer.v在Qsys中创建新的元件在Qsys中选择菜

28、单FileNew Component命令;将弹出如图6.35所示Component Editor对话框。新的元件编辑器(Component Editor)对话框包括Component Type、Files、Parameters、Signals和Interfaces五个标签页。首先在Component Type标签页中,输入Name为Interrupt_Capturer,输入Display name为Interrupt_Capturer ,version默认为1 .0,Group选择Others。可以在Deseription中输入描述该模块的说明性文字。在Files标签页界面,如图6.39所示,

29、点击Synthesis Files下面的+按钮添加intr_capturer.v文件。然后点击+后面的Analyze Synthesis Files按钮对添加的intr_capturer.v文件进行分析综合。如果文件没有错误,则将弹出图6.40所示界面,否则根据错误修改添加的文件。点Close按钮。点Copy from Synthesis Files按钮。在Signals标签页需要设置所有信号名称所对应的接口(Interface)和信号类型(S ignal Type),如图6.41所示。分别在Interface和Signal Type列中为所有信号按照表6.17选择正确的接口和信号类型。设置好

30、后的Signals标签页如图6.42所示。在Interfaces标签页中,根据图6.42界面最下方的提示,分别设置好avalon_slave_0部分、 interrupt_receiver部分的Associated Reset选项,选择reset_sink,如图6.43所示,其他部分保持默认设置即可。如果在图6.43最下方的信息栏提示Info:No errors or wamings,即可点击Finish按钮退出元件编辑器,否则需要根据提示修改设置。退出自定义元件编辑器对话框后,可以在Qsys界面的Component Library中看到多了Other目录,其中包括自定义的元件Interrup

31、t _Capturer,如图6.44所示。点Add按钮,添加该元件即弹出Interrupt_eapturer窗口;直接点击Finish按钮。连接clk等信号线,消除地址重叠。3)配置添加的Qsys系统元件(1)修改相关元件及外设名称。在Qsys中按照以上方法添加到System Contents中的元件及外设的名称(Name列)是默认的,如中断捕获模块的名称为Interrupt_Capture_0。因此,需要根据实际情况对其重新命名。对Qsys界面System Contents中的某个元件重新命名的方法是:在需要重新命名的元件名上点击鼠标右键,然后选择右键菜单中的Rename命令,即可输入新的元

32、件名称,如图6.45所示。根据上面的重命名方法,按照表6.18对Qsys中添加的元件及外设重新命名,表6.18没有列出的元件保持默认名称,如clk_0、hps_0、onchip_memory2_0、Interrupt_Capturer_0右键选Rename将pio_1改为dipsw_pio、pio_2改为button_pio(2)设置外设的顶层I/O接口。在Qsys的System Contents标签页面的Export列,将Led_pio、dipsw_pio和button_pio所对应的external_connection的顶层I/O导出并命名。方法是:在Export列相应位置双击鼠标左键,

33、并分别输入fpga_led_pio、fpga_dipsw_pio和fpga_button_pio,如图6.46所示。3)连接Qsys外设接口。Qsys中所添加的每个元件及外设都包括一些接口信号,默认情况下这些信号相互之间是不连接的,需要根据实际系统要求进行连接。例如将led_pio的clk信号连接到clk_0的clk信号上,可以在led_io的clk信号上点击鼠标右键,在弹出的右键菜单中选择led_pio.clk Connections下一级菜单中的clk_o.clk命令,如图6.47所示。此时将发现该信号前面ConnectionS列中对应信号上的实心圆点即表示信号已经连接(也可以直接用鼠标左

34、键点击Connections列中需要连接信号上的空心圆点进行信号连接)。按照以上方法,根据表6.19将相关的元件信号连接起来。连接后的信号情况如下:(4)设置Qsys中带中断元件的中断请求(I RQ)。本实例Qsys系统中,拨码开关Dipsw_pio、按键输入button_pio和JTAG UART均具有中断信号,这些中断信号需要连接到HPS以及中断捕获Interrupt_Capturer_0上,同时需要设置相应的中断等级。例如设置dipsw_pio的IRQ在dipsw_pio的s1上点击鼠标右键,并选择Connectionsdipsw_pio.irqhps_0.f2h irq0;下图为设置按

35、键输入button_pio的中断信号:注意:13.1与教材13.0版略有不同!重复上面的步骤,再选择Connectionsdipsw_pio.irqInterrupt_Capturer_0.interrupt_receiver, 如图6.48所示。设置好中断连接后,在Qsys的IRQ列分配IRQ等级,如图6.49所示,分配给dipsw_pio的IRQ等级为0。仿照上面的方法,根据表6.20完成相关元件的IRQ及其等级设置。分配给dipsw_pio的IRQ等级为0、分配给button_pio的IRQ等级为1、分配给jtag-uart的IRQ等级为2。4)配置Qsys的地址映射(Address M

36、ap)Qsys中所添加的元件及外设都需要分配对应的基地址,可以自动分配(在Qsys中选择菜单SystemAssign Base Addresses命令),也可以手动分配,本实例系统根据需要手动分配相应外设的基地址。在Qsys界面选择Address Map标签页,该标签页给出了系统中所有基于存储器映射的从端口(slave)连接到存储器映射主端口(master)的地址范围,其中的空自部分表示主端口与从端口之间没有连接,如图6.50所示。自动分配的外设基地址手动分配相应外设的基地址(略)。参考:p222-223Qsys中外设基地址修改后,还可以将重要外设的基地址进行锁定。例如要锁定button_pi

37、o的基地址,在Qsys中返回到System Contents标签页,在Base列,点击button_pio.sl基地址前面的“锁”图标即可在基地址锁定与解锁状态间切换。图6.51所示为锁定基地址后的结果。按照相同步骤,可以锁定led_pio的基地址。设计好的系统Qsys界面最下方的Messages窗口中所提示的所有错误都应该解决了,在Qsys界而下方状态栏显示“0 Errors,0 Wamings”,如图6.50或上图所示。如果在Messages中还有错误存在,则需要根据错误提示进行相应的修改,直到没有错误为止。5)产生Qsys系统注意:13.1的生成操作与教材中13.0版完全不同!实际操作以

38、下面为准。在Qsys中,选Generate-Generate,出现生成对话框。点Generate按钮,开始生成。生成成功:点击Close按钮,回到Qsys界面。Qsys将产生指定格式的硬件描述语言(HDL)文件(Verilog或VHDL)用于Quartus工程编译,同时产生一组与硬件系统定义相关的文件,包括定义了选定的HPS外设默认引脚分配的Tcl(Tool Command Language)文件,定义了HPS与FPGA中多端口存储器控制器的Tcl文件,定义了系统所用IP和用于TimeQuest时序约束的QIP文件。这些文件可以在工程目录soc_systemsynthesis子目录中找到。3完

39、成Quartus工程的编译以上任务完成以后,Qsys将产生Quartus工程所需的硬件描述语言(HDL)文件及一组硬件系统信息文件,包括定义了HPS外设默认引脚分配的Tcl(Tool Command Language)脚本文件,定义了HPS与FPGA中的多端口存储器控制器的Tcl文件以及QIP文件。QIP文件中包括系统所用IP和TimeQuest时序约束所需的SDC(Synthesis Design Constraint)文件。所有Qsys产生的这些文件可以在工程目录soc_systemsynthesis中找到。1)在Quartus ll工程中添加Qsys产生的系统模块在Quartus中选择菜

40、单Assignments Settings命令,弹出如图6.54所示的Settings对话框。选择Category下面的Files,点击File name右侧的“”按钮,在弹出的Select File对话框中,将文件类型设置为All Files(*.*),并选择工程目录soc_systemsynthesis子目录中的soc_system.qip文件(本例中是D:altera_designHPS_Qsys_PrjHPS_Qsys_PrjsynthesisHPS_Qsys_Prj.qip),最后点击“打开”按钮返回到Settings对话框。在Settings对话框中点击Add按钮,然后点击OK按钮

41、返回到Quartus软件。在Quartus软件中新建一个原理图文件,在原理图空白处双击鼠标左键,弹出如图6.55所示的Symbol对话框。在Libraries中选择project下面的soc_system(本例为HPS_Qsys_Prj)符号,点击OK按钮返回,并将soc_system(本例为HPS_Qsys_Prj)符号添加到原理图中。下图是Qsys生成的系统如图6.56所示,在添加的soc_system(本例为HPS_Qsys_Prj)元件上点击鼠标右键,在弹出的右键菜单中选择Generate Pins for Symbol Ports命令,为元件添加输入/输出端口,所有端口名称保存默认名

42、称不变(也可以根据需要修改端口名)。本实例系统中将hps_0_h2f_reset的输出(命名为hps_fpga_reset_n)连接到系统的复位reset信号上,如图6.57所示。点击Quartus菜单FIIeSave(或Save As)命令保存原理图文件,文件名用默认的原理图文件名即可。2)分析综合工程文件并分配引脚在分配引脚之前应该先对工程文件进行分析综合(Analysis and Synthesis),产生分配引脚所需的工程网表文件。在Quartus 中选择菜单processingStartStart AnalysisSynthesis命令,如图6.58所示,或直接点击图6.58中快捷工

43、具栏所圈的快捷图标,完成分析综合后,如果没有错误即可进入工程文件的引脚分配;分析综合成功。进行引脚分配。1、 由于系统中的HPS是在Qsys集成工具中例化得到的,因此,除了所使用的外部存储器引脚以外,其他的专用引脚不需要在Quartu II中进行分配,而是在HPS例化过程中由Qsys自动完成HPs的引脚分配,并把相关信息保存在XML格式的文件中提供给软件开发工具使用。2、 但是HPS的外部存储器引脚需要在Quartusl中进行引脚分配,该引脚分配信息同样保存在由Qsys产生的Tcl脚本文件中,只需要在Quartusll中执行该脚本文件即可。在Quartus中选择菜单ToolsTcl Scrip

44、ts命令,在TCL Scripts对话框中选择projectsoc_systemsynthesissubmodules子目录中的hps_sdram_p0_pin_assignments.tel文件;点击Run按钮执行该Tcl文件,如图6.59或上图所示。Run后的结果如下图。点OK按钮可以在Quartus 中点击菜单ViewUtility windowsTcl Console命令,在Tcl Console窗口中查看Tcl脚本文件的执行结果。3、 最后根据开发板(或系统板)上LED、拨码开关以及按键的实际连接,选择菜单Assignmentspin planner命令,在pin planner窗口

45、对LED输出、拨码开关输入及按键输入端口进行引脚分配。参考补课材料:学习使用DE1-SoC开发板.docx时钟引脚pio引脚分配:启动全编译:出错!将与hps的gpio有关引脚电平改为1.8V再进行全编译。全部100%通过。3-2)FPGA编程在Quartus中选择菜单Toolsprogrammer命令,弹出如图6.60所示的programmer对话框,点击左上角的Hardware Setup按钮,在弹出的硬件设置对话框中,选择Currently Selected hardware中的CV SoCKitUSB-1,点击Close按钮返回到Programmer对话框。在Programmer对话框

46、中点击左侧的Auto Detect按钮,如图6.61所示。在弹出的Select Deviee窗口选择SCSXFC6D6ES芯片,点击OK按钮返回。在弹出如图6.62所示的确认对话框中点击Yes按钮。在如图6.63所示的Programmer窗口,选中5CSXFC6D6ES芯片所对应的行,并点击左侧Change File按钮,在弹出的Select New Programnnng File窗口选择工程目录output_files子目录中的.sof文件,点击Open按钮返回到Programmer窗口。此时Programmer窗口如图6.64所示。在图6.64中,将编程文件一行中Program/Configure列下面的选择框选中,然后点击start按钮,右上角的Progress进度条将提示编程过程。4硬件系统外设的输入输出测试系统控制台(S ystem Console)是一种低级别的硬件调试工具,通过Tcl脚本命令可以对Qsys中定制的FPGA部分的外设进行测试。图6.65给出了通过System Console对本实例系统中所包含的PIO外设进行调试的原理框图。在System Console中,通过执行Tcl命令可以读取输入PIO寄存器的状态,也可以向输出PIO寄存器写入需要输出的结果。1)打开连接JTAG的主设备(1)选择主机服务类型,并检查可用的服务路径。输入Tcl命令:

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服