pci编译器及pci兆核函数_第1页
pci编译器及pci兆核函数_第2页
pci编译器及pci兆核函数_第3页
pci编译器及pci兆核函数_第4页
pci编译器及pci兆核函数_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PCI编译器及PCI兆核函数,7.1 PCI编译器简介7.2 PCI编译器的使用,7.1 PCI编译器简介,1PCI Compiler 3.2.0版本 PCI Compiler 3.2.0版本有以下基本功能: 完全支持的Altera器件系列有Stratix、Stratix GX和Cyclone。 限制性支持的器件系列有Stratix、Cyclone和MAX。 与PCI SIG(PCI Special Interest Group)的PCI局部总线(Local Bus)规范3.0版完全兼容。支持Quartus 4.1版软件。,2特点下面是pci_mt64、pci_mt32、pci_t64和pci_t32兆核函数的特点总结: 灵活的多种用途接口,用户可以自定义实现特殊外设需求。 IP工具台向导驱动界面,易于产生PCI兆核函数用户变量。 IP功能仿真模型,可以在Altera支持的VHDL和Verilog HDL仿真器上实现PCI兆核函数的寄存器传输级(RTL)模型仿真。 OpenCore Plus的硬件评估特性,可以在购买授权之前,在硬件系统上实现PCI兆核函数功能的测试。,对Stratix、Stratix、Stratix GX、Cyclone、Cyclone和MAX器件系列实现了优化。 使用标准PCI总线功能模型进行了广泛的软件仿真,并使用Altera Stratix版PCI开发包和Stratix专业版PCI高速开发包进行了硬件测试。 与PCI SIG(PCI Special Interest Group)PCI局部总线(Local Bus)规范3.0版完全兼容。支持下列PCI命令:configuration read/write、memory read/write、I/O read/write、memory read multiple(MRM)、memory read line(MRL)以及memory write and invalidate(MWI)。, PCI target特点:性能列表指针支持,奇偶错误检查,6个存储大小和类型可调的基地址寄存器(BARs),扩展ROM BAR支持,本地数据终端设备target abort、retry或disconnect请求,本地数据终端设备中断请求。 PCI master特点(pci_mt64和pci_mt32):主机桥(Host bridge)应用支持,片上仲裁逻辑允许,取消等待定时器允许。64位PCI特点(pci_mt64和pci_t64):master和target设备64位寻址支持,自动响应32位或64位事务处理,使用双地址周期(DAC)启动64位寻址,启动64位存储事务,动态处理64位事务,并自动在局域64位数据总线上复用数据。, 配置寄存器:参数化寄存器,包括设备ID、销售商ID、分类代码、修订ID、BAR0BAR5、子系统ID、子系统销售商ID、最大等待时间(Maximum Latency)、最小应答时间(Minimum Grant)、性能列表指针(Capabilities List Pointer)、扩展ROM BAR寄存器;默认参数或预置基地址(用于所有6个BAR)和扩展ROM基地址寄存器; 非参数化寄存器,包括命令、状态、header type 0、等待定时器、缓存队列大小、中断引脚、中断队列寄存器。灵活的局部数据终端设备接口允许用户逻辑快速集成。,3总体描述PCI编译器包括Altera PCI解决方案中所用到的所有软IP。下面我们给出PCI编译器的一个总体描述。1) PCI兆核函数PCI兆核函数是经过硬件测试、高性能、实现灵活的PCI接口IP。这些函数在内部实现PCI协议和时序要求。后端接口设计易于集成,允许设计者将设计重点集中在用户功能的开发上,极大地缩短了产品的上市时间。,已经对Altera器件进行优化的PCI兆核函数支持配置、I/O以及存储器事务处理。与高密度的Altera器件相结合,小尺寸的兆核函数为用户本地逻辑提供了丰富的资源以实现PCI接口设计。Altera器件的高性能也使得这些函数支持无限零等待状态存储器突发事务周期。这些函数可以在33 MHz或66 MHz PCI总线时钟速度下运行,在32位33 MHz PCI总线系统中可以获得高达132 MB/s的数据吞吐量,在64位66 MHz PCI总线系统中可以获得528 MB/s的数据吞吐量。,在pci_mt64和pci_mt32函数中,Master和Target接口可以独立操作,允许达到PCI总线的最大数据吞吐量和有效使用。例如,当target接口正在接收零等待状态突发写数据时,本地逻辑可以同时请求PCI总线控制,这样可以使等待时间减到最小。为了确保满足时序和协议要求,PCI兆核函数已经严格通过硬件测试。作为参数化函数,pci_mt64、pci_mt32、pci_t64和pci_t32兆核函数可以由用户定制参数。因此,同一个PCI兆核函数可以用于不同需求的多种PCI工程设计中。例如,这些函数为多种数据终端设备提供最多6个BAR(基地址寄存器),但某些应用仅需要一个相邻的存储范围,用户仅需要选择一个BAR,从而减少逻辑单元消耗。根据用户指定的参数,Quartus软件自动有效地定制函数并实现逻辑。,2) PCI测试台(PCI Testbench)Altera提供的Verilog HDL和VHDL PCI测试台使得使用任何一种PCI兆核函数的系统设计和验证变得更容易。用户可以使用PCI测试台组件、自己的PCI兆核函数变量的IP功能仿真模型以及用户其他Verilog HDL或VHDL设计建立一个PCI行为仿真环境。3) OpenCore Plus评估使用Altera免费OpenCore Plus评估特性,用户可以完成下列操作: 在自己的设计中仿真兆核函数。 验证设计功能,并且更快地评估设计大小和速度。,4) PCI参考设计与PCI编译器一起提供的参考设计是说明如何连接局部逻辑和pci_mt64、pci_mt32兆核函数的设计实例。这些参考设计包括PCI兆核函数的Target和Master接口、直接存储器存取(DMA)引擎、先入先出(FIFO)缓冲以及SDR SDRAM存储器控制器。DMA引擎存在标准和分散/聚集模式,控制pci_mt64或pci_mt32函数的主模式操作。FIFO缓冲允许SDRAM存储器和PCI总线直接零等待状态传输。图7.1给出一个参考设计框图,该参考设计包括以下单元:Master控制逻辑、Target控制逻辑、DMA引擎、数据路径FIFO函数和SDRAM接口。,图7.1 参考设计框图,Altera还提供了下列PCI参考设计的技术文档: pci_mt64兆核函数参考设计,描述pci_mt64参考设计模块。 pci_mt32兆核函数参考设计,描述pci_mt32参考设计模块。SDR SDRAM控制器白皮书,描述在PCI参考设计中使用的SDRAM控制器。,4性能表7.1、7.2和7.3给出了PCI兆核函数在所支持的Altera器件系列中的速度和大概的资源使用情况。这些估计是基于使用一个保留1 MB存储的BAR的PCI兆核函数的。在PCI兆核函数中使用更多的BAR将占用更多逻辑资源,同样,函数中不同的参数设置也将导致不同的逻辑资源使用。表中的估计结果使用Quartus 4.1版本软件产生。,表7.1 PCI兆核函数在Stratix器件中的资源使用和性能,表7.3 PCI兆核函数在MAX器件中的资源使用和性能,7.2 PCI编译器的使用,7.2.1 系统要求本节讲述的应用需要下列硬件和软件配置: (1) 装有Windows NT/2000/XP,Red Hat Linux 7.3、8.0或Red Hat企业版,Linux 3.0操作系统的PC机;或装有Solaris 7或8操作系统的Sun工作站。(2) Quartus 4.1版本或更高版本软件。(3) PCI编译器3.2.0版本。(4) ModelSim-Altera5.8c或更高版本仿真软件。,7.2.2 设计流程 图7.2给出了用OpenCore Plus硬件评估特性对PCI兆核函数进行评估的设计流程。其中IP Toolbench(工具台)是一个图形界面的工具条,使用它设计者可以快速查看兆核函数文档,选择一个PCI兆核函数(pci_mt64、pci_mt32、pci_t64或pci_t32),指定参数,并生成在设计中集成参数化PCI兆核函数必需的所有文件。在Quartus软件中就可以启动IP Toolbench。,图7.2 OpenCore Plus设计流程,已经购买PCI兆核函数授权以后,还应完成下面的步骤:(1) 安装授权。(2) 生成无时间限制的Altera器件编程文件。(3) 进行完整的设计编程。(4) 进行完全系统验证。,7.2.3 获得并安装PCI编译器1下载PCI编译器如果计算机可以直接上网,设计者可以从Altera网站或(中文)下载PCI编译器。如果不能上网,用户可以与当地Altera代理商联系获得兆核IP库CD-ROM。从Internet上下载PCI编译器的操作步骤如下:(1) 在IE浏览器地址栏输入/ipmegastore。(2) 在出现的网页中,在IP MegaSearch栏输入PCI,如图7.3所示。,图7.3 在Altera网站上搜索PCI编译器,(3) 点击GO按钮开始搜索。(4) 在出现的IP MegaStore网页中,如图7.4所示,选择PCI Compiler, ,其中代表要使用的PCI兆核函数名。选择后,所选PCI兆核函数的描述网页出现,如图7.5所示。,图7.4 Altera的IP MegaStore网页,图7.5 PCI兆核函数的描述网页,(5) 点击图7.5所示网页上的Download Free Evaluation按钮。(6) 填写注册登记表并点击Submit Request提交登记表。(7) 阅读Altera兆核授权协议,选择I have read the license agreement选项,并点击Proceed to Download Page。(8) 依照PCI编译器下载和安装页面的指导下载合适的PCI编译器安装文件。,2安装PCI编译器在Altera网站上可以下载Windows、Linux或Solaris操作系统上的PCI编译器安装文件。(1) Windows操作系统:用鼠标左键双击下载的PCI编译器安装文件,如pci_compiler-v3.2.0.exe,在出现PCI Compiler Installation界面后,根据安装提示完成PCI编译器的安装。(2) Solaris和Linux操作系统:将下载的压缩包文件移动到期望的安装目录,并将该目录设为当前目录;键入下面的命令解压: gunzip pci_compiler-v3.2.0_.tar.gz(回车),其中是solaris或linux;再键入下面的命令提取压缩包内容: tar xvf pci_compiler-v3.2.0_.tar(回车)其中是solaris或linux。3PCI编译器安装后的目录结构图7.6给出了安装PCI编译器后生成的目录结构,其中表示PCI编译器安装目录。,图7.6 PCI编译器目录结构,7.2.4 PCI兆核函数设计应用1建立一个新的Quartus工程首先建立一个新的Quartus工程文件。使用Quartus New Project Wizard建立工程,为工程文件设置工作目录,分配工程名称,指定顶层设计输入的文件名。同时必须设置PCI兆核函数作为用户库。(1) 启动Quartus软件。(2) 选择FileNew Project Wizard命令。(3) 指定新建工程文件的工作目录,本节使用c:pci_example。,(4) 指定工程文件名,本节使用pci_top。(5) 点击Next按钮。(6) 点击User Library Pathnames按钮。(7) 在Library名称栏中指定pci_compiler-v3.2.0lib,其中表示安装PCI编译器的目录,PCI编译器默认安装目录为c:MegaCore。点击Add按钮添加用户库,如图7.7所示。点击OK按钮确定。(8) 连续点击两次Next按钮,在指定目标器件系列中选择Stratix系列。(9) 点击Next按钮,选择目标器件。 (10) 点击Finish按钮完成新建工程。,图7.7 添加用户库,2启动IP工具台根据下面的操作步骤,在Quartus软件中启动IP工具台:(1) 选择ToolsMegaWizard Plug-In Manager命令,运行MegaWizard Plug-In管理器,弹出MegaWizard Plug-In Manager对话框。(2) 选择Create a new custom megafunction variation选项并点击Next按钮。(3) 在Installed Plug-Ins树下点击Interfaces文件夹前面的加号“”展开该文件夹,用同样的方法展开PCI文件夹。(4) 选择PCI文件夹中的PCI Compiler v3.2.0。,(5) 指定输出文件类型,如AHDL、Verilog HDL或VHDL,本节选择Verilog HDL。(6) 指定输出文件目录及文件名,如图7.8所示。,图7.8 MegaWizard Plug-In Manager对话框,(7) 点击Next按钮,Quartus软件将启动PCI编译器IP工具台,如图7.9所示。,图7.9 PCI编译器IP 工具台,3确定参数使用PCI编译器IP工具台创建一个PCI兆核函数用户变量,步骤如下:(1) 在IP工具台上点击Step 1:Parameterize按钮,弹出ParameterizePCI Compiler向导的PCI MegaCore Function Settings页,如图7.10所示。 在Technology部分选择PCI; 在Application Speed部分打开PCI 66 MHz Capable选项;在PCI MegaCore Function部分选择期望的PCI兆核函数,本节选择64-Bit Master/Target(pci_mt64)。,图7.10 Parameterize-PCI Compiler向导的PCI MegaCore Function Settings页,(2) 点击Next按钮,出现如图7.11所示的Read-Only PCI Configuration Registers页。在该向导页面中,设计者可以修改只读PCI配置寄存器的值,本节使用默认设置。,图7.11 Read-Only PCI Configuration Registers页,(3) 点击Next按钮,出现如图7.12所示的Base Address Registers(BARs)页面。在该页面中可以配置PCI基地址寄存器(BARs),用来定义PCI接口应用中存储器和I/O读写请求的地址范围。,图7.12 Base Address Registers(BARs)页,在本页应完成以下设置: 在图7.12中选择32/64 Bit BARs中的Implement only 32-Bit BARs选项。 点击图7.12中的BAR0=1 MBytes(Memory)按钮。 在32-Bit BAR窗口使用默认设置,使得BAR0保留1 MBytes(0xFFF00000)存储空间,如图7.13所示。点击OK按钮确定。,图7.13 32-Bit BAR对话框BAR0设置,点击图7.12中的BAR1 Unused: Click to Configure按钮; 在32-Bit BAR窗口中打开Enable选项;在预留存储器类型中选择I/O选项;移动预留存储器空间指针,使得BAR1为I/O存储器预留64比特(0xFFFFFFC1),如图7.14所示。 点击OK按钮确定。 点击图7.12中的BAR2 Unused: Click to Configure按钮; 在32-Bit BAR窗口中打开Enable选项;移动预留存储器空间指针,使得BAR2预留1 MBytes(0xFFF00000)存储空间,如图7.15所示。点击OK按钮确定。,图7.15 32-Bit BAR对话框BAR2设置,(4) 点击图7.12中的Next按钮,进入如图7.16所示的Advanced PCI MegaCore Function Features页面。本节使用该页面的默认设置。,图7.16 Advanced PCI MegaCore Function Features页面,(5) 点击Finish按钮,完成pci_mt64兆核函数变量的参数设置。4建立仿真IP功能仿真模型是由Quartus软件(3.0以上版本)产生的周期精确(Cycle-accurate)的VHDL或Verilog HDL模型文件。该仿真模型允许使用工业标准的VHDL和Verilog HDL仿真器进行IP快速功能仿真。,使用下面的步骤为兆核函数产生IP功能仿真模型:(1) 点击图7.9 IP工具台中的Step 2:Set Up Simulation按钮。(2) 弹出如图7.17所示的Set Up Simulation-PCI Compiler对话框,打开Generate Simulation Model选项。,图7.17 Set Up Simulation-PCI Compiler对话框,(3) 在Language列表中选择Verilog HDL。(4) 点击OK按钮确定。5产生兆核函数指定参数值和IP功能仿真模型选项以后,即可产生用户兆核函数。 (1) 点击图7.9 IP工具台中的Step 3:Generate按钮。(2) 弹出IP测试台设计文件报告窗口,如图7.18所示,点击Exit按钮关闭该窗口。,图7.18 IP测试台设计文件报告窗口,表7.4给出了IP测试台产生文件的描述。,表7.4 IP测试台产生文件的描述,7.2.5 设计仿真1在ModelSim-Altera软件中仿真完成设计仿真,需要有以下软件的支持: PCI测试台; 由PCI测试台提供的简单参考设计; IP功能仿真模型文件; ModelSim-Altera软件; ModelSim-Altera Tcl脚本文件(run_modelsim_altera.tcl),在PCI编译器安装目录testbenchverilogpci_mt64example中提供。,表7.5 仿真Tcl脚本文件变量,注意:(1) 在Tcl脚本文件中指定变量路径时,使用的是“/”符号。(2) 当使用ModelSim-Altea仿真器仿真VHDL设计时,将忽略modelsim_home变量。为了编译IP功能仿真模型和PCI测试台文件,run_modelsim_altera.tcl脚本需要使用ModelSim-Altera软件提供的预编译库文件。通过下面的步骤可以执行Tcl的脚本文件:(1) 启动ModelSim-Altera仿真器软件。(2) 在仿真器中,选择FileChange Directory命令,改变工作目录为 testbenchverilogpci_mt64example这也是run_modelsim_altera.tcl脚本文件所在的目录。,(3) 在仿真器命令提示符中输入下面的命令执行脚本: source run_modelsim_altera.tcl(回车)run_modelsim_altera.tcl脚本开始编译IP功能仿真模型文件pci_top.vo、测试台文件以及PCI测试台提供的简单参考设计。编译完成后,脚本文件开始仿真设计到19 000 ns。,2在Quartus软件中完成仿真Altera为每个PCI兆核函数提供了在Quartus软件中完成功能仿真的矢量波形文件(.vwf),这些VWF文件在安装PCI编译器时被安装在下面的子目录中:pci_compiler-v3.2.0qexamplessim本节简单介绍在最普通PCI事务处理中PCI兆核函数的行为和用法。读者可以使用VWF文件更深一步地理解在处理不同PCI总线事务时,PCI兆核函数的数据终端设备行为。另外,设计者也可以修改所提供的VWF波形文件来仿真其他感兴趣的事务情况。,下面将使用提供的pci_mt64 Quartus功能仿真波形文件,在Quartus软件中完成功能仿真。(1) 打开在7.2.4节中建立的Quartus工程文件pci_top.qpf,或直接使用Altera提供的同名工程文件,其目录为pci_compiler-v3.2.0qexamplespci_mt64pci_top.qpf。(2) 选择ProcessingGenerate Functional Simulation Netlist命令生成功能仿真网表文件。(3) 功能仿真网表成功生成以后,选择AssignmentsWizardsSimulator Settings Wizard命令,启动仿真器设置向导。,(4) 在仿真器设置向导的Simulation Mode页,选择仿真模式为Functional,点击Next按钮。(5) 在Vector Stimuli页,选择Yes, use this file选项,并指定VWF路径为pci_compiler3.2.0qexamplespci_mt64simtargetcfg_wr_rd.vwf,如图7.19所示。,图7.19 在仿真器设置向导中指定VWF文件路径,(6) 点击Finish按钮完成设置。(7) 选择ProcessingStart Simulation命令开始仿真并观察仿真结果。 7.2.6 设计编译使用Altera提供的约束文件完成设计编译的步骤如下:(1) 从pci_compiler-v3.2.0const_files目录拷贝Altera提供的约束文件pci320_q41_cf.tcl到自己的工程目录c:pci_example中。,(2) 在Quartus软件中打开工程文件c:pci_examplepci_top.qpf。(3) 选择ViewUtility WindowsTcl Console命令,打开Tcl命令控制台。(4) 在Quartus Tcl控制台输入下面的命令: source pci320_q41_cf.tcl(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论