PCI局部总线不仅是目前最新的计算机总线,而且是一种兼容性最强、功能最全的计算机总线。它可同时支持多组外围设备,而且不受制于处理器,为CPU及高速外围设备提供高性能、高吞吐量、低延迟的数据通路。图形用户界面(GUI)、高清晰度电视(HDTV)、三维视频多媒体显示等新技术的发展以及高速通讯系统的广泛需求使PCI具有良好的应用前景。针对这种趋势,国外许多芯片厂家设计生产了各种各样的PCI专用集成电路。
目前国内系统厂家的PCI总线接口一般采用国外的PCI专用芯片,如TUNDRA公司的Qspan、PLX公司9050、INTEL公司的21554等,但是这些专用芯片价格昂贵、功能繁杂、不能灵活配置、不利于系统的升级优化,难于应用。为此,各大FPGA厂商纷纷推出基于各自可编程逻辑器件结构与工艺的PCI IP模块(软核、固核或硬核)。 Xilinx,Altera,Actel及QuickLogic等公司的PCI核在国内都有广泛应用,它们各有特色,总体而言,Xilinx的PCI Core是含有布局布线信息的HDL门级网表格式,便于VHDL方法设计及第三方EDA软件环境下的仿真验证;Altera的PCI Core为AHDL格式,通过ACF文件提供布局布线时的约束,其用户侧的信号数量较少,功能简单,便于实现;Actel及QuickLogic公司的反熔丝结构,使其可编程芯片在速度与性能上有一定的优势,但PCI核的功能则相对较弱。
根据VoIP、CDMA等先进的通讯系统对PCI总线接口的实际需求,我们通过评估比较,决定采用Altera公司的64位66MHz PCI Core,在VERIBEST及MAXPLUSII NT设计平台上,针对目标器件FLEX10K 100E,利用VHDL硬件描述语言,设计了PCI总线到摩托罗拉CPU的FPGA桥接芯片。该芯片介于PCI总线与摩托罗拉CPU之间,提供两种总线间的地址转换,命令译码,数据缓冲与传输,即插即用的配置,为系统的高速数据传输提供无缝的接口。
1. 设计输入
设计输入包括VHDL代码设计及功能仿真。在进行设计之前,先对系统划分功能模块,最顶层例化两个模块:Altera的PCI Core和用户侧逻辑。用户侧逻辑根据功能再进一步细化。VHDL的结构化特点非常便于层次化设计,每个工程师负责完成功能相对独立的各子模块设计仿真,最后进行整体的功能仿真。进行整体功能仿真前,先要提取PCI Core的功能仿真模型,在MAXPLUSⅡ环境下,按照系统要求配置PCI Core的相关参数,然后对其进行编译及布局布线,此时不必产生ACF文件。为能输出用于VERIBEST环境下仿真的VHDL网表,编译时需要选择INTERFACE菜单下VHDL NETLIST WRITER。考虑到综合后可能要作带门级延时的仿真,编译时最好产生SDF标准延时文件,在INTERFACE菜单下VHDL OUTPUT FILE[.VHO](WRITE DELAY CONSTRUCTS TO一栏中)。完成以上关键设置后,通过编译即可得到PCI Core带延时的VHDL网表文件。通过相同的操作可得到用户侧逻辑模块中例化的其他Altera的MegaCore子模块。
用户侧逻辑模块与PCI Core互连时,需要注意一些关键问题。PCI Core支持PCI主/从工作模式,其用户侧主/从模式信号是分开的,在PCI Core处于一种工作模式时,另一种模式的信号必需处于确定的无效态,不能处于悬浮态或高阻态。用户侧逻辑模块内部应避免使用三态信号,为便于控制与调试,应采用状态机设计。对于PCI 时钟与CPU时钟间的交互使用,应采用握手信号实现。
功能仿真在VERIBEST99 FPGA DESIGNVIEW环境下进行。仿真时首先要对PCI Core进行配置访问,配置PCI Core内部配置寄存器的相应位。
2. 设计实现
设计实现包括逻辑综合及布局布线。功能仿真完成后,下一步为用户逻辑的综合。VERIBEST 支持两种 FPGA 综合器;FPGA EXPRESS 和 SYNPLIFY。FPGA EXPRESS操作简单,界面清晰,综合效率好,但其SCHEMATIC VIEW功能较差,所生成的原理图晦涩难懂,不利于深入的时序分析。SYNPLIFY提供了RTL VIEW和TECHNOLOGY VIEW两种原理图,有利于关键路径的寻找和分析,它还提供了许多功能强大的属性参数,但同时也增加了软件使用的复杂性。
VHDL语言中例化的FPGA IP模块(PCI核,双端口RAM等)应该不参与逻辑综合,可以在VHDL源码中加入FPGA EXPRESS的综合开关-RPAGMA SYNTHESIS_OFF或SYPLIFY的综合开关-SYNTHESIS TRANSLATE_OFF实现,也可以将FPGA IP模块的VHDL网表文件从综合文件列表中删除。
逻辑综合时应该分模块进行,找出各子模块内部的关键路径,通过修改设计,优化数据通路,最后进行顶层的综合。顶层综合时最好保留设计层次。对于各模块间的关联信号,由于它们一般经过多级查找表,造成延时较大,应利用流水线技术在这些关键路径上加入适当数量的触发器,减小 时延。软件上的一些设置也有利于提高综合后电路的频率,如状态机采用ONE HOT编码,减小FANOUT数量,屏蔽操作数共享功能等。通过上述方法,我们的设计综合后电路的频率从38MHz提升到63MHz。
综合完成后可生成用于MAXPLUSⅡ环境下布局布线的EDIF文件,如要作门级仿真,也可同时生成带延时的VHDL网表文件。在MAX-PLUSⅡ中调入EDIF文件后,设置ASSIGN菜单下相关参数并指明PCI Core的库路径。编译EDIF文件时要设置EDIF NETLIST READER为SYNOPSYS或SYNPLIFY。第一次布局布线,最好不要加入ACF文件。完成后,按要求生成PCI Core的ACF文件并放在工作目录下,加入自己的约束条件,然后进行第二次布局布线,此时应设置产生用于VERIBEST进行功能验证的VHDL网表文件。布局布线后,进行时间参数分析。我们的设计结果PCI时钟为30MHz,CPU时钟为57MHz。
3. 设计验证
设计验证包括静态时序分析,功能验证及板级验证。静态时序分析用于分析建立/保持时间,时钟到输出时间等时间参数是否满足PCI规范。33MHz、32位的PCI规范要求建立时间小于7ns,保持时间为0ns,时钟到输出时间小于11ns,分析时必需考虑触发器的影响,对关键路径加以细致入微的计算。MAXPLUSⅡ提供了比较好的静态时序分析功能,设计工程师负责设置并分配时间参数,软件计算后给出分析结果,如果不满足要求,可在重新布局布线时加上相关约束条件。时序分析结束后,还需进行功能验证,在VERIBEST环境下对布局布线后生成的VHDL网表仿真,此时应选择OPEN POST_LAYOUT SIMULATOR进入仿真器。VERIBEST会自动生成VHDL格式的端口映射文件,并自动关联SDF文件,用户无需额外设置。此时的功能仿真,调试相对较难,信号间关联关系可通过VHDL网表文件查询。
基于PCI Core的FPGA设计的板级验证可考虑采用Altera公司提供的PCI通用开发板,该板支持Altera所有的PCI MegaCore模块,用户可通过板上的SDRAM,PMC插槽,RS232端口实现用户逻辑与PCI Core的接口,也可以利用板上PROTOTYPE区实现用户逻辑的功能。PCI开发板演示软件可以显示数据传输速率,也可用于调试,配置PCI Core。
基于IP模块的PCI设计为用户在FPGA目标器件上实现PCI接口提供了一种有效的途径,设计工程师可以将主要精力集中于非PCI部分,通过将FPGA厂商提供的IP模块与原理图、状态机及HDL语言等设计方法有机的结合,采用层次化结构,在功能强大的EDA软件环境下,于较短的时间内完成复杂电子系统的设计。
关键字:PCI接口 FPGA
引用地址:基于IP模块的PCI接口设计及FPGA实现
目前国内系统厂家的PCI总线接口一般采用国外的PCI专用芯片,如TUNDRA公司的Qspan、PLX公司9050、INTEL公司的21554等,但是这些专用芯片价格昂贵、功能繁杂、不能灵活配置、不利于系统的升级优化,难于应用。为此,各大FPGA厂商纷纷推出基于各自可编程逻辑器件结构与工艺的PCI IP模块(软核、固核或硬核)。 Xilinx,Altera,Actel及QuickLogic等公司的PCI核在国内都有广泛应用,它们各有特色,总体而言,Xilinx的PCI Core是含有布局布线信息的HDL门级网表格式,便于VHDL方法设计及第三方EDA软件环境下的仿真验证;Altera的PCI Core为AHDL格式,通过ACF文件提供布局布线时的约束,其用户侧的信号数量较少,功能简单,便于实现;Actel及QuickLogic公司的反熔丝结构,使其可编程芯片在速度与性能上有一定的优势,但PCI核的功能则相对较弱。
根据VoIP、CDMA等先进的通讯系统对PCI总线接口的实际需求,我们通过评估比较,决定采用Altera公司的64位66MHz PCI Core,在VERIBEST及MAXPLUSII NT设计平台上,针对目标器件FLEX10K 100E,利用VHDL硬件描述语言,设计了PCI总线到摩托罗拉CPU的FPGA桥接芯片。该芯片介于PCI总线与摩托罗拉CPU之间,提供两种总线间的地址转换,命令译码,数据缓冲与传输,即插即用的配置,为系统的高速数据传输提供无缝的接口。
1. 设计输入
设计输入包括VHDL代码设计及功能仿真。在进行设计之前,先对系统划分功能模块,最顶层例化两个模块:Altera的PCI Core和用户侧逻辑。用户侧逻辑根据功能再进一步细化。VHDL的结构化特点非常便于层次化设计,每个工程师负责完成功能相对独立的各子模块设计仿真,最后进行整体的功能仿真。进行整体功能仿真前,先要提取PCI Core的功能仿真模型,在MAXPLUSⅡ环境下,按照系统要求配置PCI Core的相关参数,然后对其进行编译及布局布线,此时不必产生ACF文件。为能输出用于VERIBEST环境下仿真的VHDL网表,编译时需要选择INTERFACE菜单下VHDL NETLIST WRITER。考虑到综合后可能要作带门级延时的仿真,编译时最好产生SDF标准延时文件,在INTERFACE菜单下VHDL OUTPUT FILE[.VHO](WRITE DELAY CONSTRUCTS TO一栏中)。完成以上关键设置后,通过编译即可得到PCI Core带延时的VHDL网表文件。通过相同的操作可得到用户侧逻辑模块中例化的其他Altera的MegaCore子模块。
用户侧逻辑模块与PCI Core互连时,需要注意一些关键问题。PCI Core支持PCI主/从工作模式,其用户侧主/从模式信号是分开的,在PCI Core处于一种工作模式时,另一种模式的信号必需处于确定的无效态,不能处于悬浮态或高阻态。用户侧逻辑模块内部应避免使用三态信号,为便于控制与调试,应采用状态机设计。对于PCI 时钟与CPU时钟间的交互使用,应采用握手信号实现。
功能仿真在VERIBEST99 FPGA DESIGNVIEW环境下进行。仿真时首先要对PCI Core进行配置访问,配置PCI Core内部配置寄存器的相应位。
2. 设计实现
设计实现包括逻辑综合及布局布线。功能仿真完成后,下一步为用户逻辑的综合。VERIBEST 支持两种 FPGA 综合器;FPGA EXPRESS 和 SYNPLIFY。FPGA EXPRESS操作简单,界面清晰,综合效率好,但其SCHEMATIC VIEW功能较差,所生成的原理图晦涩难懂,不利于深入的时序分析。SYNPLIFY提供了RTL VIEW和TECHNOLOGY VIEW两种原理图,有利于关键路径的寻找和分析,它还提供了许多功能强大的属性参数,但同时也增加了软件使用的复杂性。
VHDL语言中例化的FPGA IP模块(PCI核,双端口RAM等)应该不参与逻辑综合,可以在VHDL源码中加入FPGA EXPRESS的综合开关-RPAGMA SYNTHESIS_OFF或SYPLIFY的综合开关-SYNTHESIS TRANSLATE_OFF实现,也可以将FPGA IP模块的VHDL网表文件从综合文件列表中删除。
逻辑综合时应该分模块进行,找出各子模块内部的关键路径,通过修改设计,优化数据通路,最后进行顶层的综合。顶层综合时最好保留设计层次。对于各模块间的关联信号,由于它们一般经过多级查找表,造成延时较大,应利用流水线技术在这些关键路径上加入适当数量的触发器,减小 时延。软件上的一些设置也有利于提高综合后电路的频率,如状态机采用ONE HOT编码,减小FANOUT数量,屏蔽操作数共享功能等。通过上述方法,我们的设计综合后电路的频率从38MHz提升到63MHz。
综合完成后可生成用于MAXPLUSⅡ环境下布局布线的EDIF文件,如要作门级仿真,也可同时生成带延时的VHDL网表文件。在MAX-PLUSⅡ中调入EDIF文件后,设置ASSIGN菜单下相关参数并指明PCI Core的库路径。编译EDIF文件时要设置EDIF NETLIST READER为SYNOPSYS或SYNPLIFY。第一次布局布线,最好不要加入ACF文件。完成后,按要求生成PCI Core的ACF文件并放在工作目录下,加入自己的约束条件,然后进行第二次布局布线,此时应设置产生用于VERIBEST进行功能验证的VHDL网表文件。布局布线后,进行时间参数分析。我们的设计结果PCI时钟为30MHz,CPU时钟为57MHz。
3. 设计验证
设计验证包括静态时序分析,功能验证及板级验证。静态时序分析用于分析建立/保持时间,时钟到输出时间等时间参数是否满足PCI规范。33MHz、32位的PCI规范要求建立时间小于7ns,保持时间为0ns,时钟到输出时间小于11ns,分析时必需考虑触发器的影响,对关键路径加以细致入微的计算。MAXPLUSⅡ提供了比较好的静态时序分析功能,设计工程师负责设置并分配时间参数,软件计算后给出分析结果,如果不满足要求,可在重新布局布线时加上相关约束条件。时序分析结束后,还需进行功能验证,在VERIBEST环境下对布局布线后生成的VHDL网表仿真,此时应选择OPEN POST_LAYOUT SIMULATOR进入仿真器。VERIBEST会自动生成VHDL格式的端口映射文件,并自动关联SDF文件,用户无需额外设置。此时的功能仿真,调试相对较难,信号间关联关系可通过VHDL网表文件查询。
基于PCI Core的FPGA设计的板级验证可考虑采用Altera公司提供的PCI通用开发板,该板支持Altera所有的PCI MegaCore模块,用户可通过板上的SDRAM,PMC插槽,RS232端口实现用户逻辑与PCI Core的接口,也可以利用板上PROTOTYPE区实现用户逻辑的功能。PCI开发板演示软件可以显示数据传输速率,也可用于调试,配置PCI Core。
基于IP模块的PCI设计为用户在FPGA目标器件上实现PCI接口提供了一种有效的途径,设计工程师可以将主要精力集中于非PCI部分,通过将FPGA厂商提供的IP模块与原理图、状态机及HDL语言等设计方法有机的结合,采用层次化结构,在功能强大的EDA软件环境下,于较短的时间内完成复杂电子系统的设计。
上一篇:PROFIBUS-DP现场总线短丝工艺中的应用
下一篇:FPGA与DDR3 SDRAM的接口设计
推荐阅读最新更新时间:2024-05-02 21:51
英特尔 Agilex™ FPGA助力BittWare 从边缘到云端的创新
Molex莫仕旗下的 BittWare 公司推出 IA-840F,这是公司第一种基于英特尔® Agilex™ 的 FPGA 卡,该卡的设计在每千瓦性能方面实现了重大的改进,适合下一代的数据中心、网络及边缘计算工作量使用。Agilex 的 FPGA 性能高出 40%,或者在功率方面至多可降低 40%,具体则与应用需求有关。BittWare 利用了 Agilex 芯片独一无二的瓦式架构,针对形形色色的应用提供了双 QSFP-DD (4×100G)、PCIe Gen4x16 及三个 MCIO 扩展端口,将 I/O 功能提升至最大程度。BittWare 还宣布为英特尔的 oneAPI™ 提供支持,从而实现抽象的开发流程,在多个架构之间极大
[嵌入式]
WCDMA系统基带处理的DSP FPGA实现方案
引言 随着Internet的迅猛发展和各种无线业务需求的增加,目前以承载单一话音业务为主的无线通信网已经越来越不适应人们的需要,所以,以大容量、高数据率和承载多媒体业务为目的的第三代移动通信系统(IMT-2000)成为无线通信的发展方向。码分多址(CDMA)技术凭借其良好的抗噪性、保密性和低功率等优点成为第三代移动通信中最主要的多址接入技术。 和传统的CDMA系统相比,第三代移动通信的最大特点在于能支持多种速率的业务,从话音到分组数据到多媒体业务,并能根据具体的业务需要,提供必要的带宽。3GPP协议规定WCDMA系统支持的业务类型包括:5.15Kbps~12.2Kbps话音数据、 64Kbps电路数据、144Kbps分组数据和38
[嵌入式]
基于FPGA的PCI总线接口硬件调试策略
引言 在FPGA的设计流程中,完成设计输入以及成功综合、布局布线,只能说明设计符合一定的语法规范,而并不能保证其满足设计人员对功能的要求,因而需要通过仿真对设计进行验证。仿真验证的目的是为了发现设计的问题,而一旦发现,就需要千方百计地通过调试找到问题所在,这其实也是设计中比较困难的。
随着FPGA可编程器件容量的不断增大和设计复杂度的日益提高,功能调试已经成为一个很繁重的任务。为了使设计的产品尽快投入市场,设计人员需要一种简易有效的测试工具,以尽可能缩短测试时间,提高测试效率。传统的逻辑分析仪在测试复杂的FPGA设计时,会面临以下几点问题:
1) I/O引脚有限。设计中器件的选择依据设计规模而定,通常所选器件
[嵌入式]
联合中电港联手瑞萨电子推出EtherCAT伺服驱动方案
低功耗可编程器件的领先供应商莱迪思半导体公司联合元器件产业应用创新平台中电港及知名全球半导体解决方案供应商瑞萨电子推出高性能EtherCAT伺服驱动解决方案。该方案采用Renesas MPU+Lattice FPGA双芯片架构,支持EtherCAT总线技术,支持多轴应用,推动高性能伺服控制系统的快速部署,满足日益增加的市场需求。 中电港丰弘事业部副总经理刘曦宁表示:“Renesas RZ/T1 MPU+Lattice FPGA方案支持EtherCAT总线、单轴以及多轴的系统控制,能够为数控机床、多关节机机器人、锂电池制造设备、LED晶圆设备、3C制造设备、雕琢/切割机、纺织机械、塑料机械等应用的设计与开发提供更便捷、更具扩展性
[嵌入式]
瑞萨全新PMIC参考设计加速FPGA和SoC产品问市
全球领先的半导体解决方案供应商瑞萨电子株式会社宣布推出三款易于使用的电源管理IC(PMIC)参考设计,用于为Xilinx Artix-7、Spartan-7系列FPGA以及Zynq-7000 SoC的多个电源轨供电,并可选配DDR存储器。瑞萨与Xilinx紧密合作,提供低风险且易于开发的电源解决方案,以加速FPGA和SoC设计。该参考设计可加快各种工业及运算类应用的电源研发速度,其中包括电机控制、机器视觉摄像头、可编程逻辑控制器(PLC)、家庭网关与家电、便携式医疗和无线设备等。 瑞萨高效PMIC参考设计提供了用户友好的交钥匙解决方案,使单个设计能够支持不同的Xilinx速度等级和DDR存储器类型,包括DDR3、DDR3
[嵌入式]
现代FPGA设计的能源优化方案
引言 减少FPGA的功耗可带来许多好处,如提高可靠性、降低冷却成本、简化 电源 和供电方式、延长便携系统的 电池 寿命等。无损于性能的低功耗设计 既需要有高功率效率的FPGA架构,也需要有能驾驭架构组件的良好设计规范。 本文将介绍FPGA的功耗、流行的低功耗功能件以及影响功耗的用户选择方案,并探讨近期的低功耗研究,以洞察高功率效率FPGA的未来趋势。 1 功耗的组成部分 FPGA的功耗由两部分组成:动态功耗和静态功耗。信号给电容性节点充电时产生动态功耗。这些电容性节点可以是内部逻辑块、互连架构中的布线 导线 、外部封装引脚或由芯片输出端驱动的板级迹线。FPGA的总动态功耗是所有电容性节点充电产生
[嵌入式]
FPGA将引领下一次工业革命
本文作者:Lattice公司工业首席系统架构师Karl Wachswender 在过去十年中,大量创新解决方案——从人工智能 (AI) 和机器学习 (ML) 到云计算、物联网 (IoT) 和 3D 打印——已经改变了医疗保健、供应链、生产等工业技术领域在制造和云业务中。 所有这些进步都是工业 4.0 的一部分——第四次工业革命负责制造业中的数字化、自动化和互联计算智能。在整个工业 4.0 中创新蓬勃发展的同时,我们也看到了对保护信息、知识产权、产品等的安全性的更大需求。 特别是由于多项工业 4.0 进步的独特性和高度专业化的性质,人们一直需要可以根据其所扮演的特定角色轻松定制的计算解决方案。 现场可编程门阵列 (FPG
[工业控制]
FPGA与SRAM相结合完成大容量数据存储
1 引言
随着数字信号处理技术的不断发展,大容量可编程逻辑器件的不断涌现,FPGA技术越来越多地应用在大规模集成电路设计中。在此硬件系统设计中,经常会遇到需要大容量的数据存储的情况,下面我们将针对FPGA中内部Block RAM有限的缺点,提出了将FPGA与外部SRAM相结合来改进设计的方法,并给出了部分VHDL程序。
2 硬件设计
这里将主要讨论以Xilinx公司的 FPGA(XC2S600E-6fg456)和ISSI公司的SRAM(IS61LV25616AL)为主要器件来完成大容量数据存储的设计思路。
FPGA即现场可编程门阵列,其结构与传统的门阵列相似,大量的可编程逻辑块(CLB, Configurable L
[缓冲存储]
小广播
热门活动
换一批
更多
最新嵌入式文章
更多精选电路图
更多热门文章
更多每日新闻
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度
- 英飞凌推出简化电机控制开发的ModusToolbox™电机套件
- 意法半导体IO-Link执行器电路板为工业监控和设备厂商带来一站式参考设计
- Melexis采用无磁芯技术缩小电流感测装置尺寸
- 千丘智能侍淳博:用数字疗法,点亮“孤独症”儿童的光
- 数药智能冯尚:ADHD数字疗法正为儿童“多动症”提供更有效便捷服务
- Vicor高性能电源模块助力低空航空电子设备和 EVTOL的发展
- 创实技术electronica 2024首秀:加速国内分销商海外拓展之路
更多往期活动
11月22日历史上的今天
厂商技术中心