ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:388.05KB ,
资源ID:29457589      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29457589.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(QsysLabPCIeFINALCN.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

QsysLabPCIeFINALCN.docx

1、QsysLabPCIeFINALCNPCIe Qsys研讨这一设计实例深入浅出,介绍怎样产生一个Qsys子系统。 您将产生一个含有以下组成的Qsys系统: 在Cyclone IV GX收发器入门套件上,设计带嵌入式收发器的Gen11硬核IP的 PCI Express IP编译器。 片内RAM存储器 模块化散射收集DMA控制器(MSGDMA) (位于lib路径中)图1显示了Qsys怎样集成PCI Express的IP编译器、片内SRAM,以及定制组件MSGDMA。这一设计实例使用了一个DMA,这个DMA在片内存储器SRAM,和位于根复合模块(主机)侧的系统缓冲之间进行数据传送。 图1.Qsys生

2、成的端点 此次研讨对以下步骤进行了讲解:1. 对设计进行准备,以进行编译 2. 建立一个Quartus II工程3. 建立一个Qsys系统4. 对PCI Express的IP编译器进行参数赋值5. 将其他组件加入Qsys系统中 6. 完成Qsys中的链接 7. 设定导出接口 8. 设定地址分配 9. 生成Qsys系统10. 编译设计11. 对器件编程对设计进行准备,以进行编译 设计准备进行编译时,请按照以下步骤进行:1. 如果您没有看到C:Qsys_workshopPCIe_Lab路径含有表1中列出的以下文件夹和文件,请联系您的指导人员。 表1:位于PCIe_Lab路径中的文件名称说明ip文件

3、夹含有模块化散射收集DMA文件(msgdma)msgdma_ctl.qsys文件定制MSGDMA子系统。该系统包括一个调度器、一个DMA读控制器以及一个DMA写控制器。 top.v文件顶层打包器例化以下模块: Altera altgx_reconfig宏功能,配置收发器。 Altera reconfig_pll宏功能,支持收发器的动态重新配置。 散射收集DMA子系统 top.sdc文件时序约束文件top.tcl文件Tcl脚本,设置编译参数和引脚分配。altgx_reconfig.v文件重新配置控制器,用于收发器。reconfig_pll.v文件通用PLL,生成fixedclk。建立一个Quar

4、tus II工程1. 在Quartus II软件中,在File菜单上,点击New Project Wizard。 2. 在Introduction页面的New Project Wizard窗口中,点击Next。 3. 在Directory, Name, Top Level Entity页面中,输入以下信息(参见图2),点击Next。图2.新工程向导4. 在Add Files页面中,点击Next。 5. 在Family & Device Settings页面中,对于器件系列,选择Cyclone IV GX,点击Next。6. 在EDA Tool Settings页面中,使用默认设置,点击Next

5、。7. 在Summary页面中,点击Finish。 New Project Wizard建立一个基本工程,top。这一基本工程仍然没有引脚分配、综合约束、器件类型以及其他必须的设置。这些参数设置在Tcl脚本中进行设定,您可以在编译设计一节将其应用到工程中。建立Qsys系统在这一节中,您构建一个Qsys系统,它包括PCI Express的Gen1x1硬核IP编译器、msgdma_ctl子系统、以及片内SRAM。打包器文件top.v例化剩余所需的模块,包括,altgxb_reconfig和GPLL模块,它们支持器件收发器中的失调抵消功能。打包器文件要求您命名Qsys系统c4gx_qsys。如果您以

6、不同的名称命名它,那么,您的设计无法成功编译。 请按照这些步骤来建立您的Qsys系统:1. 在Quartus II软件中,在Tools菜单上,点击Qsys。出现Qsys,显示一个Open窗口。2. 在Open窗口中,点击Cancel。您希望建立一个新的Qsys系统,而不是打开一个已有窗口。 3. 在左侧的Component Library面板(参见图3)中,在Project下面,确定您看到了Modular_DMA和System。图3.Qsys组件库注释:已经为您提供了定制模块化散射收集DMA子系统。这一SGDMA子系统名为msgdma_ctl,是含有其他三个组件的Qsys系统,包括,调度器、读

7、主机和写主机。 4. 建立全局设置时,点击Project Settings标签,输入表2中列出的数值。表2.工程设置参数数值Device FamilyCyclone IV GXClock Crossing Adapter TypeHandshakeLimit interconnect pipeline stages to4Generation ID04. 在File菜单中,点击Save As,在File name中,输入c4gx_qsys。5. 点击Save。6. 点击System Contents标签,高亮显示clk_0组件,点击System Contents标签左侧的红色X ()按钮,从Q

8、sys系统中去掉默认时钟clk_0。您同步设计中的所有模块使用PCI Express内核时钟。 7. 在您的系统中加入PCI Express的IP编译器时,在左侧的Component Library面板中,在Interface Protocols文件夹的PCI下面,双击IP_Compiler for PCI Express组件。(或者,您可以在搜索框中输入PCI,找到组件)对PCI Express的IP编译器进行参数赋值PCI Express的IP编译器参数编辑器中的粗体标题将参数列表分成几部分。您可以使用右侧的滚动条,查看一开始没有显示出来的参数。对PCI Express的IP编译器进行参数

9、赋值时,请按照这些步骤进行:1. 在System Settings标题下,请参照图4输入设置。图4.系统设置2. 在PCI Base Address Registers (Type 0 Configuration Space)标题下,设定图5中的设置。 图5.PCI基本地址寄存器(0类配置空间) 您不能在PCI Express的IP编译器参数编辑器中输入Bar Size或者Avalon Base Address(Avalon基地址)。您在系统中加入了所有组件后,可以在System Contents标签中进行基本地址分配。在这一步,您完全可以忽略PCI Express的IP编译器参数编辑器中出现

10、的错误消息。3. 在Device Identification Registers标题下,设定图6中的数值。配置好器件后,软件可以从这些只读寄存器中读取您在参数编辑器中设定的数值。这些数值必须设置为下面的数值,该设计才能与PCIe演示驱动匹配。图6.器件标识寄存器4. 在Link Capabilities标题下,保留Link port number的默认值1。 5. 在Error Reporting标题下,所有类型的错误报告均为off。 6. 在Buffer Configuration标题下,设定图7中的设置。 图7.缓冲配置设置 Posted header credit、Posted dat

11、a credit、Non-posted header credit、Completion header credit和Completion data credit显示的数值是只读的。基于Maximum payload size和RX buffer credit allocation performance for received requests的数值来计算这些数值。 7. 在Avalon-MM Settings标题下,默认设置应如图8所示。 图8.Avalon-MM设置8. 在Address Translation标题下,设定图9中的设置。图9.地址翻译设置9. 忽略Address Tra

12、nslation Table Contents。10. 点击Finish,在您的Qsys系统中加入PCI Express的IP编译器组件pcie_hard_ip_0。 在这一阶段,您可以忽略Qsys产生的所有错误消息,这是因为您的系统还没有最终完成。这些错误是由于基地址重叠和未连接时钟造成的。 将其他组件加入Qsys系统中 这一节介绍在您的Qsys系统中加入MSGDMA控制器和片内存储器。1. 在您的系统中加入MSGDMA控制器组件。在Component library面板中,在System文件夹下面,双击msgdma_ctl组件。 2. 点击Finish,在您的Qsys系统中加入MSGDMA

13、控制器模块ctl_0。在System Content标签中,右键点击例化ctl_0,并将其重新命名为dma_0。 3. 在您的系统中增加片内存储器时,在组件库标签中,在On-Chip文件夹的Memories and Memory Controllers下,双击On-Chip Memory (RAM or ROM)组件。 4. 在On-Chip Memory参数编辑器中,设定图10中列出的参数。图10.片内存储器参数6. 点击Finish,在您的Qsys系统中加入片内存储器组件。 7. 对片内存储器组件重新命名时,在System Contents中右键点击组件,选择Rename。输入新名称onc

14、hip_memory_0。在Qsys中进行连接(参考) 在Qsys中进行连接时,鼠标右键点击相应的接口,从界面中Connections下拉列表选中相应连接,如图11所示。这是最快的方法,也是推荐的方法。 注释:您可以在System Contents标签中选择点击白点,进行连接,如图12高亮所示。以黑点显示连接。 图11.使用鼠标右键点击菜单的连接接口实例图12.在Connections面板中点击白点连接接口实例 完成Qsys中的链接 请按照这些步骤完成您的Qsys系统:1. 在export列中,点击clk和reset,点击键盘上的delete按键,去掉dma_0 (msgdma_ctl)的默认

15、导出时钟和复位接口。2. 通过以下过程,连接pcie_hard_ip_0 bar1_0 的Avalon-MM主机端口和onchip_memory_0 s1 的Avalon-MM从机端口:a. 右键点击bar1_0端口,然后,悬停在pcie_hard_ip_0.bar1_0 Connections上,显示可能的链接。 b. 点击onchip_memory_0.s1,建立一个链接。 3. 重复第2步,完成表3中列出的剩余链接。表3.Qsys连接的完整列表链接来自:至: pcie_hard_ip_0 pcie_core_clk onchip_memory_0.clk1 pcie_hard_ip_0

16、pcie_core_clk dma_0.clk pcie_hard_ip_0 pcie_core_reset onchip_memory_0.reset1 pcie_hard_ip_0 pcie_core_reset dma_0.reset pcie_hard_ip_0 bar1_0 onchip_memory_0.s1 pcie_hard_ip_0 bar2 dma_0.modular_sgdma_dispatcher_0_csr pcie_hard_ip_0 bar2 dma_0.modular_sgdma_dispatcher_0_descriptor_Slave pcie_hard_i

17、p_0 bar2 pcie_hard_ip_0.cra dma_0 dma_read_master_0_data_read_master onchip_memory_0.s1 dma_0 dma_read_master_0_data_read_master pcie_hard_ip_0.txs dma_0 dma_write_master_0_data_write_master onchip_memory_0.s1 dma_0 dma_write_master_0_data_write_master pcie_hard_ip_0.txs4. 在System Content标签右侧的IRQ列(您

18、可能需要滚动到右侧)中,点击连接从dma_0的IRQ (modular_sgdma_dispatcher_0_csr) 到pcie_hard_ip_0的IRQ,并输入0,如图13中所示。在这一例子中,DMA控制器的中断发送信号连接至PCI Express的IP编译器的比特0。图13.在Connections标签中设置IRQ设定导出接口 您需要导出剩余的I/O信号,在Qsys系统之外也可以见到这些信号。每一个导出的接口都可以连接至Qsys系统之外的模块。请按照这些步骤来导出一个接口:1. 在您希望导出的接口行中,在Export列中点击cell。 2. 点击Enter,接受Export列中出现的默

19、认名称(或者点击单元格的外部,不修改文本)。导出表4中列出的pcie_hard_ip_0接口。 表4. pcie_hard_ip_0导出接口接口名称导出名称cal_blk_clkpcie_hard_ip_0_cal_blk_clkRefclkpcie_hard_ip_0_refclktest_inpcie_hard_ip_0_test_inpcie_rstnpcie_hard_ip_0_pcie_rstnclocks_simpcie_hard_ip_0_clocks_simreconfig_busypcie_hard_ip_0_reconfig_busypipe_extpcie_hard_ip

20、_0_pipe_exttest_outpcie_hard_ip_0_test_outrx_inpcie_hard_ip_0_rx_intx_outpcie_hard_ip_0_tx_outreconfig_togxbpcie_hard_ip_0_reconfig_togxbreconfig_gxbclkpcie_hard_ip_0_reconfig_gxbclkreconfig_fromgxb_0pcie_hard_ip_0_reconfig_fromgxb_0fixedclkpcie_hard_ip_0_fixedclk设定地址分配 Qsys需要您设定Qsys系统中所有Avalon-MM从机

21、接口的基地址。为确保设计实例能够成功对接于演示驱动器,您应该手动分配合适的基地址,如表5所示。 1. 双击Base列中的基地址,输入所需的基本数值。表5.Avalon-MM从机接口的基地址分配模块名称基地址pcie_hard_ip_0 txs0x00000000pcie_hard_ip_0 cra0x00000000dma_0 modular_sgdma_dispatcher_0_csrdma_0 modular_sgdma_dispatcher_0_descriptor_slave0x060000000x06000020onchip_memory_0 s10x07000000在Message

22、s标签中,重叠地址范围的Qsys错误消息将会消失。图14显示您分配了基地址后Qsys系统的Address Map标签。图14.Qsys系统地址映射注释:这一步之后,Qsys消息窗口中不应再出现错误消息。 图15显示了完整的Qsys系统。图15.完整的PCI Express Qsys系统生成Qsys系统请按照这些步骤生成Qsys系统:1. 点击Generation标签。2. 保持默认设置。它们应如下显示。图16.Generation标签3. 点击标签底部的Generate按钮,当Save changes对话框出现时,点击Save。 4. 生成完成后,在Generate Completed对话框中

23、,点击Close。 编译设计请按照这些步骤来编译您的设计:1. 在Quartus II软件中,在Tools菜单上,点击Tcl Scripts2. 在TCL Scripts窗口中,浏览并高亮显示top.tcl。3. 高亮显示top.tcl后,点击Run,执行脚本。注释:tcl文件含有目标CIV GX器件、引脚分配以及其他设置。4. 在Processing菜单中,点击Start Compilation来编译项目。 5. 完成编译后,在Quartus II对话框中,点击OK。祝贺,您已经在Qsys完成了PCIe设计。附录A:PCIe接口名称和说明简称说明 PCIe CRAPCI Express中的控制寄存器访问模块。 PCIe TXS发送从机接口,应用层可以向主机发送存储器读或者写申请。 PCIe Bar0_1/bar2PCIe基地址寄存器,主机利用它来访问内核内部寄存器或者存储器。 PCIe RXM PCIe主机接口,接收主机申请或者向主机返回读数据。 DMA CSRDMA控制状态寄存器 DMA DescriptorDMA输入包括控制、源和目的地址寄存器。 DMA DispatcherDMA主控制器,发出DMA读和DMA写申请。

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

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