xilinx fpga命名规则中例化是什么或什么意思? 例化规则是什么?

&&&&有时我们为了让我们的工程更加有利于移植,尽量少使用一些IP,比如最常见的ram,rom等常见资源。&&&&如果我们定义一个reg [`word_w]user_ram[`word_d]& ; QuartusII会自动综合成为一个ram—— 当然有一些前提:(后续补充)&&&&例如, 在gpr.v 里面刚好有一个定义reg [`WordDataBus] & & & & & gpr [`REG_NUM-1:0]; 可是下面的代码中却有了reset过程for (i = 0; i & `REG_NUM; i = i + 1) begin
& & & & & & & &gpr[i] & &= #1 `WORD_DATA_W'h0;
& & & & & &end在综合成ram的特例中说明了,如果有了reset过程就不能生成ram了。好先来看看有了reset QuartusII 给个什么反应if的循环语句QuartusII 给出了警告说发现了latch。最后看rtl viewer12层大概都是张这个样子而资源使用情况呢大家看分析与综合之后的报告,资源使用情况怎么会是这样呢?(我这么说是想大家一会留意一下屏蔽掉ram的reset功能之后资源占用情况)  仔细看综合报告的倒数第二行 : 说最后的资源使用情况有可能不同。&好,现在让我们看看屏蔽掉ram的reset之后分析与综合之后的情况如何,首先看综合报告第二行就说明了,发现了一个没有被推论RAM实体—— 似乎言外之意是你没有调用这么一个block,我发现了我来调用。倒数第二行的说明也是说资源不可以相信上面的—— 和没有屏蔽reset的时候资源使用情况是一样的。结论: 分析与综合之后的资源使用率是估算的,是不准确的&好,我们再看看QuartusII 说发现了ram,那么它是怎么处理的,当然是看rtl viewer呵呵,QuarutsII 真的是自己调用了ram。FPGA攻城狮之家(gh_99a29eb83412) 
 文章为作者独立观点,不代表大不六文章网立场
gh_99a29eb83412求职招聘,FPGA创客,知识点剖析,方案解析,业内前沿资讯。尽在FPGA攻城狮之家热门文章最新文章gh_99a29eb83412求职招聘,FPGA创客,知识点剖析,方案解析,业内前沿资讯。尽在FPGA攻城狮之家&&&&违法和不良信息举报电话:183-
举报邮箱:
Copyright(C)2016 大不六文章网
京公网安备78一场Pokemon
Go,让全世界的小精灵师都暴露了。因此,在……
2016年初,一场人机大战点燃了人工智能芯片的争夺战,而……
今年,频频爆出摩尔定律将不再是制造工艺界的神话,虽说……
21ic 2016年度采访之TE――将无人机与VR连接在一起
21ic 2016年度专访之Silicon Labs――明年将会是持续增长……
演讲人:李东咸, 张乃千时间: 10:00:00
演讲人:彭煜歆时间: 10:00:00
演讲人:杜复旦时间: 10:00:00
预算:¥10,000-¥50,000预算:¥10,000-¥50,000
IBERT在FPGA中的应用
[导读]摘要 IBERT即集成式比特误码率测试仪,是Xilinx专门用于具有高速串行接口的FPGA芯片的调试和交互式配置工具。文中介绍了IBTERT基本功能、实现原理,并结合实例阐述用IBTERT调试FPGA时的具体方法和调试步骤。
摘要 IBERT即集成式比特误码率测试仪,是Xilinx专门用于具有高速串行接口的FPGA芯片的调试和交互式配置工具。文中介绍了IBTERT基本功能、实现原理,并结合实例阐述用IBTERT调试FPGA时的具体方法和调试步骤。
关键词 误码率测试仪;高速串行接口;眼图
&&& 随着高速数字系统的发展,高速串行数据被广泛使用,内嵌高速串行接口的FPGA也得到大量应用,相应的高速串行信号质量的测试也越来越频繁和重要。通常用示波器观察信号波形、眼图、抖动来衡量信号的质量,Xilinx提供的IBERT(Integrated Bit Error Ratio Tester)作为一种高速串行信号测试的辅助工具,使得测试更便捷,其具有不占用额外的I/O管脚和PCB空间、不破环接口信号的完整性、无干扰、使用简单和价格低廉等特点。
1 IBERT简介
&&& IBERT是Xilinx提供用于调试FPGA芯片内高速串行接口比特误码率性能的工具,具备实时调整高速串行接口的多种参数、与系统其他模块通信及测量多通道误比特率等功能,支持所有的高速串行标准,包括:PCI Express、RapidIO、千兆以太网、XAUI等。使用IBERT核测试,只需通过JTAG接口下载设计并测试硬件,无需额外的管教和接口;大幅缩减了高速串行接口测试场景的建立和调试时间,是高速串行接口开发中理想的调试工具。
&&& 文中所述使用方法基于Xilinx的工具CoreGenerator12.4和ChipScope Pro Analyzer12.4进行描述,下面介绍使用IBERT的步骤,IBERT的操作分为两个阶段。
1.1 配置IBERT核,生成配置文件
&&& (1)打开Core Generator12.4工具,新建设计工程,指定待测器件类型、封装、速度等级,生成工程文件。在IP Catalog窗口\View by Function\Debug&Verification\Chipscope Pro\下,双击IBERT,配置线速率、GTP位置和参考时钟、系统时钟等IBERT核参数,生成可JTAG加载的bit配置文件。与生成其他核不同,IBERT核不是插入到用户的设计中去的ngc或edn文件,而是生成自身的bit配置文件。
&&& (2)IBERT核和ILA核(Integrated Logic Analyzercore),也需要连接到ICON核(Integrated Controllercore)上,但其自身具备控制、监控以及改变高速串行接口参数的逻辑,并能完成误比特性能测试。需注意的是,IBERT核只能作为一个独立的设计,不可在用户设计中例化。不同系列芯片的IBERT核在Core Generator中的配置不同。
1.2 IBERT核的主要组件
&&& (1)BERT(比特误码率测试)逻辑:BERT逻辑中例化了高速串行接口组件,并包括了测试模式发生器和检查器。利用Comma和Comma检测器,可提供从简单的时钟信号到完全的PRBS模式以及成帧计数模式。可产生各种PRBS数据作为高速串行发送器的数据源,可设置多种环回,由接收通道接收,对高速串行接收器的接收数据进行相同编码的检测,计算比特误码率。
&&& (2)DRP(动态重配置端口)逻辑:每个高速串行接口均有一个动态重配置端口,因此每个收发器属性都可在系统中改变。所有的属性和DRP地址在IBERT核中均可读可写,且可独立访问。
&&& (3)控制盒状态逻辑:管理IBERT核的操作。
1.3 配置到FPGA中完成测试
&&& 测试时,建立JTAC连接,使用ChipScope Pro Analyze12.4下载bit配置文件。下载成功后,在New Project窗口会出现IBERT Console点击即进入Console Window,该窗口可以设置高速串行接口的参数,进行开环或闭环的误码测试,同时提供高速串行接口参数的控制和监视接口。Console Window有4个界面:MGT/BERT Settings、DRP Settings、Port Settings和Sweep Test Setting。下面分别介绍每个界面的功能。
&&& (1)MGT/BERT Settings:MGT Settings部分可以设置摆幅、预加重、均衡以及接收采样点的位置等参数,同时可设置开环或闭环的测试方式,测试进行中可以显示线速率和所测试的高速串行接口的锁相环状态。BERT Settings部分可以设置测试发送和接收数据的编码方式,并显示测试的误码率结果。Clock Setting部分显示收发线路的时钟信息。
&&& (2)DRP Settrags:可查看并设置高速串行接口的属性。
&&& (3)Port Settings:可查看并设置高速串行接口的接口状态。
&&& (4)Sweep Test Setting:本界面用于自动扫描测试,是IBERT提供的一项便利高效的测试方式,可设定发送和接收的可控制参数范围,自动逐个地进行遍历性的误码测试,参数包括发送摆幅、预加重、接收均衡器、CDR采样数据的位置等。用户可设定每组参数重复测试次数以及测试时间,最后点击Start即可进行扫描测试。测试数据保存在.csv文件中。只能在近端环回和远端环回测试模式中使用。
2 实例说明
&&& 设计实例使用Xilinx公司Spatan6系列的xc6slx150t-3fgg676芯片,根据上述使用说明,下面具体说明使用IBERT进行测试的过程。
&&& (1)打开Xilinx ISE DesignSuite12.4/ISEDesignTools/Tools/Core Generator,新建工程,设置芯片信息如图1所示,点击确认,生成核的工程文件。
&&& 在IP Catalog窗口\View by Function\Debug&Verification\Chipscope Pro\下双击Ibert,如图2所示。按顺序设置Ibert核线速率2.457 6 Gbit&s-1,数据宽度20 bit,参考时钟频率122.88 MHz,选择被测试的GTP DUAL,设置系统时钟频率66 m、位置R7等参数,IBE RT Core Summary如图3所示,点击generate生成Ibert核的可下载bit配置文件。
&&& (2)将生成的bit文件加载到单板上,显示界面如图4所示。
&&& 首先关注PLL Status状态和Clocking Setting显示的收发时钟频率,PLL Status状态Locked表明GTP_DUAL的PLL已锁定GTP的参考时钟,GTP可正常工作。如状态是Unlocked,则要检测待测GTP的参考时钟是否正常输入。
&&& 测试高速串行信号的信号质量,通常使用足够带宽和采样率的示波器测试信号眼图来评估,一但测试的眼图不符合模板要求,需要调整高速串行接口的参数。使用IBERT核可以快速完成参数修改的任务,设置Loopback Mode在开环的模式下,TX Data Pattern为PRBS7-bit,调整摆幅、预加重参数,观察示波器上的信号眼图是否符合模板要求。图5和图6分别为调整摆幅预加重参数前后的眼图,图5所示眼图对应预加重0.8 dB、摆幅495 mV,眼图的眼高太小且图形碰撞模板,调整为预加重1.7 dB、摆幅1 180 mV,眼图满足的要求如图6所示。
&&& 为确定高速串行接口的参数是否满足硬件及多种环境的需求,可通过在对端器件高速串行接口设置远端环回,设置待测试芯片的收发data pattern为统一模式,常温及高低温拷机,观察误码率是否满足要求,误码率需满足E-10。例中与图6对应的参数值条件下,对端器件高速串行接口设置远端环回误码率为4.36E-10,满足误码率要求。
&&& Sweep Test Setting(扫描测试)其配置页面如图7所示,以Rx Sampling Point来进行误码率测试定性分析信道质量为例,较为容易理解,当同定在某个采样点进行误码测试时,误码率达到E-10时,可判定信道质量良好。在整个UI范围内进行采样点的扫描测试时,误码率达到E-10的采样点越多,信号眼图的眼睛张得越大,距离模板的余量越大,信道质量越好。
&&& 通过以上实例,可见IBERT具有可操作性较强的GUI图形界面,可操作性强、准确、易用,可方便地设置高速串行收发通道的各项参数,并提供了多种环回模式及多种测试激励源,并可通过自动扫描测试,确定收发的最佳参数。可以满足硬件测试时对高速串行收发通道信号测试的大部分需求,在故障定位等场合均可使用。在单板的硬件测试初期,使用IBERT可以辅助硬件测试,例如设置发送通道的各项参数,协助示波器测量信号质量,而完全不需额外的开发FPGA逻辑。进行误码率测试,作为定量测量眼图质量、jitter等指标的补充。从示波器看图确定出的参数并非就是最佳参数。如示波器对于均衡后的信号质量无法测试,而通过IBERT测误码率能够测试到均衡之后的节点,测试范围更大。可以预见,集成比特误码测试仪IBERT将在FPGA设计中获得广泛应用。
FPGA是一种可以重复改变组态的电路,可让设计者进行编程的逻辑闸元件,特别适用于产品开发时必须不断变更设计的应用,以有效加速产品上市时间。而FPGA电路的特性,特别适合用于软体定义的测试系统架构,这也正式目前......关键字:
印象中FPGA市场基本是Altera和Xilinx一统天下,他们的明争暗斗决定着FPGA的未来,甚至他们各自的家族产品都是对着干的。Lattice、Actel、Atmel各有其小众市场,再有别的厂商,基本上特权同学是不太叫得上来了。国产......关键字:
两个调试中遇到的小问题,引以为戒。1.
画板子的时候由于没注意结构上的固定边框,不小心把一个旁路电容放在边界上。在外部铁壳将液晶屏固定到电路板上后,出现的症状很有意思。两个不同的屋子(A和B),同样的电......关键字:
继7亿美金收购展讯,9亿美金收购锐迪科,25亿美金收购新华三,38亿美金控股西数,再砸5亿人民币&娶&西数,紫光疯狂的步伐还远未停止。近日,紫光投资3000亿元打造第三大芯片制造商,媲美Intel。不得不说......关键字:
 在一个领域中,如果唯一不变的是变化,那么不需要对电子技术和设计方法的发展变化做多少回顾,就能见证到变化是如何使设计工程师能够创建出下一代创新产品。微处理器得到大规模应用后,价廉物美的新技术为基于软件......关键字:
不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好器件配置、电源管理、IP集成、信号完整性和其他的一些关键......关键字:
想必大家对二维码都已经非常熟悉了,在我们的日常生活中处处都能和二维码打交道,随着智能手机的普及,我们可以扫描二维码完成收款/付款交易、查看商品或者商家信息等,可以说方便了大家的生活。 二维码其实是用某种特定的几何图形按照一定规律在平面(二维......关键字:
想象一下,一部全高清的电影在几秒钟内下载到您的移动设备;和远隔万里的人视频交谈,就好像坐在你对面一样;或 是利用内嵌于自动驾驶汽车的传感器侦测和避免意外事故等等,这些场景都可能在不久的将来得以实现,如果我们能够 克服设计的复杂性。这种类型的......关键字:
我 要 评 论
热门关键词FPGA开发PCIe
一、PCIe简介
PciE是pci express的简称,是为了解决pci带宽限制而开发的新技术。并行信号由于受信号串扰的影响,带宽做到pcix 64bit位宽x133M基本已经到了瓶颈了,要进一步提高总线带宽一种新技术迫在眉睫,PCIE就是在这种背景下提出的。
pcie发展到今天已经有了三个版本,分别被称为gen1,gen2,gen3即一代,二代,三代。截至目前二代pcie已经在计算机系统中比较广泛的应用了,三代pcie各大厂家都在争相抢占制高点,像plx,xilinx,altera,cypress等都相继推出了gen3的ip或芯片。相信用不了三年,pcie3就会广泛应用与计算机中。
先介绍PCIE的几个基本概念:pcie采用差分方式,每一对差分线分别用于收和发,一到三代的差分线线速率分别为2.5Gbps,5Gbps和8Gbps。实际的传输带宽分别为2Gbps、4Gbps和8Gbps,因为gen1和gen2都采用8B/10B编码,三代采用130B/128B编码。计算机到外设传输方向的通路对计算机来说叫发通路,对设备叫收通路;对于从设备到计算机的数据传输对计算机来说叫收通路,对设备来说叫发通路。没有特殊说明时说的收发都是对所说的设备而言的。另一个概念就是lane,我在这不做任何翻译,就用这个单词,lane是对一对完整通路的总称,一个lane表示一收一发,也就是我们常说的x几,x1就是一个lane,x2就是两个lane,x4,x8,x16依次类推。下面分别从逻辑设计,板卡设计及测试介绍pcie开发的难点和关键点。
首先介绍板卡设计,笔者目前接触到最多的就是基于fpga的pcie设计。对于第一次做pcie板卡的人来说2.5Gbps以上的线速率,板子的走线会让你感觉无从下手,这么高的速率信号完整性问题相当重要,要有很大的的工作量来保证信号完整性问题。但是对于gen1的PCIE的设计来说单板能够保证差分线阻抗为100ohm,线间距最小3倍线宽,信号有完整的回流路径这几点基本就可以了,如果您觉得没有把握,那么可以借助仿真手段。Gen1的背板设计,gen2,gen3的板卡设计建议设计者最好仿真一下。当然我的介绍比较泛泛,如果您正做相关的项目,建议您仔细阅读datesheet,像Xilinx的PCIE开发会有板卡参考设计的原理图,PCB原文件,design
guide等一系列全方位的文档支持。
电路板设计完成就要调试了,PCIE调试分PCIE的链路调试、功能调试和稳定性调试。链路调试就是保证设计的电路板可以通,板卡插到计算机上可以找到;功能调试就是调试FPGA中的逻辑功能;稳定性调试只基本功能调试通过后,测试板卡运行的稳定性。这几个部分我会在后面的文章中一一详细介绍。
二、PCIe的链路调试
前面大致介绍了PCIE的FPGA板卡设计的几个问题,下面介绍PCIE的链路调试。
PCIE的链路调试就是通过在FPGA中例化PCIE IP,将板卡插入计算机中看计算机是否可以找到板卡。PCIE的例化可以参考FPGA手册的PCIE Endpoint user mannal,笔者不做详细介绍,只说明几个关键点:
1 选择适合自己的PCIE local bus,Xilinx的PCIE IP支持AXI接口和非AXI接口两类,要根据自己的需要选择合适的接口;
2 为PCIE IP选择合适的参考时钟频率,如果选用主板PCIE插槽上的参考时钟那么就选择100M,如果选用FPGA外接时钟,就可以选择100M和125M两种参考时钟,根据板卡的设计选择好参考时钟,如果参考时钟不对就找不到板卡;其他的配置选择根据自己项目需要,即使有不同只会影响后面的设计,而不会影响到计算机寻找板卡;
3 根据PCIE例化工程中的参考设计写好UCF文件,就可以将设计烧写到FPGA中,进行链路调试了。
链路调试主要有三个方面的问题:第一 链路没有连接上;第二 链路部分连接上,如x4的识别为x2或者x1,x8的识别为x4或者x2或者x1,gen2的链路识别为gen1的等;第三就是链路训练一直在recovery状态。这几种情况出现的话最坏的就是电路板信号完整性问题,那样就需要我们从新设计电路板了,还有就是可能是配置不正确导致的。下面介绍具体的调试方法,至于具体问题的解决方法,需要根据调试确定问题有针对性解决。不做具体的介绍,如果大家遇到上面相关的问题,希望可以提出来大家一起研究,这样大家都会有进步。
三、PCIe DMA设计
下面是本人做项目过程中和同事分享心得所做的一个ppt,拿出来和大家分享,项目需要,屏蔽都项目相关的具体细节,有描述不清之处,希望留言交流。
1 Virtex-6 FPGA Integrated Block for PCI Express& UG517
2 ML605 Hardware User Guide& UG534
3 Bus Master DMA Performance Demonstration Reference Design for the Xilinx Endpoint PCI Express(R) Solutions& XAPP1052
4 PCI Express base Specification revision1.1,2.0
5 EZDMA2 IP for Xilinx Hard IP Reference Manual&& PLDA Inc.
6 Using an IBERT Core with ChipScope Pro Analyzer ug811
7 virtex-6 FPGA GTX transceivers user guide ug366
继续前面的介绍,前面部分的PPT基本将PCIE协议,PCIE DMA以及影响PCIE 数据传输率的几个因素都介绍了,下面给一张图,是一个典型PCIE DMA的结构,本来可以再前一篇中直接写的,但是笔者发现好像文章最多只能放那么多的图片,多了实在发不下了,把这最后一张也是最重要的一张放在最后了。
&其中的RX,TX分别为PCIE的发送和接收通道,传输方向是对设备来说的。
RX_Buf TX_Buf为发送接收事务包缓存器;
RX_encoder为对接收到事务包的包解析;
Mrd,Mwr,Cpl分别为对存储器读,存储器写以及完成包的处理;
绿色和粉色为DMA通道产生对桥片的读写请求包;
Msg,ISR为消息报和中断控制,完成中断请求包的产生,以中断处理器(或桥片);
Tx_Arbiter为对需要占用TX总线的完成包,DMA读,写包,消息请求包的总线仲裁;
control模块为多tag请求时的tag管理控制,因为只有发出后回来的tag才能被再次发出。
对于第一次接触PCIE的同仁来说,理解上面的各个关系不是很容易,不理解的地方请参考PCIE标准,实在不理解也可以留言大家一起讨论。
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?关注您的每一次发问!
FAQ技术支持
问:我在FPGA内设计了一个VGA显示电路,用双口RAM(3072byte,地址线12位,数据线8位)作为Video RAM使之成为显示电路和Nios系统的桥梁。请问双口RAM如何实例化?(Altera FPGA)
双口RAM可以利用IP核或调用模块来实例化。但是双口ROM只能通过IP核,因为要提供初始化文件。关于块RAM/ROM已有实验提供,可以参考来实现双口RAM/ROM.
答案内容中有失实成分(须说明失实部分并阐述理由)
其他(请说明理由)
无相关数据
无相关数据
相关开发工具
无相关数据
相关解决方案
无相关数据
无相关数据
无相关数据

我要回帖

更多关于 fpga硬件宏是什么意思 的文章

 

随机推荐