欢迎来到天天文库
浏览记录
ID:31660767
大小:675.00 KB
页数:10页
时间:2019-01-16
《fpga设计基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.一、设计概念1.设计入口QuartusII支持原理图和HDL语言的输入。原理图更适合简单的设计,HDL语言适合复杂的设计。但要注意,如果想使用第三方的综合工具,就必须用HDL语言。QuartusII软件的文本编辑器,可以插入很多语言相关的模板,这个功能不错。选择综合工具:Altera支持很多第三方的综合工具,个人比较喜欢用SynplifyPro。这些工具生成.edf或者.vqm文件,然后QuartusII再进行布局布线。SOPC生成:Altera的SOPC功能很强大。IP:Altera和第三方合作伙伴提供了很多的IP,可以让设计变得更快捷。特别是Altera提供的,可以直接试用。对于
2、一些FPGA内部的资源模块,通常既可以直接调用QuartusII的ip核,也可以用HDL语言来描述,比如RAM资源。宏功能(Megafunction):ALtera封装了很多资源和模块,用Megafunction的形式给用户调用,只用设置一些参数,就可以正常使用这些模块了。2.设计建议1)同步设计:setuptime和holdtime的充分保证,能减少毛刺等的干扰。使用CycloneIIII/O的输入寄存器(注意,不是普通的LE),这样芯片的输入信号能更好的滤除毛刺。需要设置”FastInputRgedister”,来使用该寄存器。FPGA内部路径的延迟是不确定的,会在设计中因为每次布
3、局布线不同而改变,会在使用中因为温度,电压等因素改变,还会因为工艺的差异而改变。为了增加设计的稳定性,尽量提高时序分析时路径的余量。虽然时序分析已经是按芯片在最差状况下的时序特性来分析,但多留一点余量还是有好处。2)时钟:时钟在同步设计中是非常重要的。(a)时钟当然得用专用时钟引脚输入,用普通I/O会导致更严重的时钟偏移。高时钟偏移会导致holdtime违规。时钟在芯片内部会使用全局时钟网络,全局异步复位信号也可以使用全局时钟网络。全局时钟网络能保证信号1点到多点的相同延迟。也就是说,某个信号,从输入引脚,通过全局时钟网络,到内部的各个寄存器,虽然走的是不同路径,但这些路径的延迟是一样
4、的。(b)组合逻辑不能处理毛刺,对组合逻辑的输入信号,用高频时钟过滤毛刺,对组合逻辑的输出信号,也可以用高频时钟过滤毛刺。(c)使用PLL,可以对时钟分频。PLL还可以精确控制输出时钟的相位。(d)使用PLL对时钟相位改变,比使用非门效果更好。(e)对于一个PLL,可以设置一个主时钟和一个备用时钟。(f)建议使用Altera提供的专门模块altclkcrtl来实现门控时钟。如果只是想控制输出的稳态,可以对输入加上ena信号,这样还是保持了同步设计。门控时钟和非门控时钟之间是非同步的。门控时钟的控制信号,必须滤除毛刺,否则会影响输出的时钟。对时钟进行门控的位置尽量靠近时钟源,可以减少时钟
5、延迟。3.芯片级的复位CycloneIII芯片,支持芯片级的复位,包括清除M9K中的内容。需要开启DEV_CLRn引脚功能。该引脚默认为普通I/O。4.寄存器上电电平可以设置寄存器上电时是高电平还是低电平。当然默认是低电平。通过设置Power-UpLevel参数实现。5.设计约束QuartusII提供了设计约束检查功能,通过该检查,能提高设计的可靠性。检查包括时钟,复位,异步设计等。该项功能默认没有开启。...6.分层和基于团队的设计增量编译,可以减少设计迭代需要的时间,减少时序收敛需要的时间。对设计分区(分割),是增量编译的基础。如果用第三方的综合工具,需要生成若干独立的.vqm或者
6、.edf文件。顶层的各个模块之间,最好只有互连线,而没有任何逻辑,逻辑都应包含在各个模块内部。时序预算和资源分配:模块内部的时序路径可以单独优化好。但如果是跨分区的时序路径,只能在集成后优化。这些时序路径可以通过加上约束来达到要求。资源的分配也要提前计算好,以免集成后出现冲突。除了常见的资源,注意全局时钟资源也是有限的。计划从底向上和基于团队的流程:在进行底层设计前,必须要知道顶层的相关信息,包括引脚分配,物理约束和时序要求等。QuartusII提供了一些脚本(Generatebottom-updesignpartitionscripts)来实现顶层信息向底层的传递。可以通过Logic
7、Lock实现对设计在物理上分区。通常对时序要求很难达到的模块,才进行LogicLock。对一般模块进行LogicLock反而降低了布局的灵活性。QuartusII的ChipPlanner功能,可以精确到对寄存器进行布局,估算物理延迟,观察模块间的连接。7、功耗优化时序约束比功耗优化的优先级要高,得先满足前者再考虑后者。软件包含了功耗优化的向导,易于使用。DSE也是一个很好的优化工具。1)时钟功耗管理。QuartusII会自动对时钟网络的功耗进行
此文档下载收益归作者所有