可编程逻辑器件原理分析.ppt

  1. 1、本文档共96页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可编程逻辑器件原理分析

  8.板级验证和调试   所谓板级验证和调试,就是直接将配置文件配置到FPGA当中,测试是否能够满足设计要求。一般来说,调试环节至关重要,复杂的设计第一次上板子是不会调试通过的。Xilinx公司提供的ChipScope工具可以用软件的方式实现虚拟逻辑分析仪功能,分析FPGA内部寄存器的状态,在FPGA设计当中使用非常广泛。可以参考相关工具书籍学习ChipScope的使用。 * 芯片可能包含许多诸如微处理器、存储器功能块或者通信功能块之类的功能单元,这些功能单元之间通过较少的粘合逻辑连接起来。在印制板(PCB)层,粘合逻辑可以使用具有较少逻辑门的“粘合芯片”实现,例如PAL、GAL、CPLD等。 ? ????Do not add glue-logic at the toplevel的意思就是说在设计的顶层连接各个子模块的时候要直接相连,而不要插入一些简单逻辑来连接各个子模块。 ? ????glueless interface(无粘接接口),不粘于某一特类个体(RAM 或ROM 或 flash)。这芯片的接口规格一般有超过一种业界规格,使其接口并不局限于一种制式。 ? ????在硬件设计选型上,选择no glue logic or gluelesslogic的IC,可以使硬件设计简单化。这次选用的Rabbit2000,硬件设计规则很简单,它采用了无粘接接口,6种静态存储器芯片(比如RAM、flash、EPROM)可以不用任何gluelogic直接连接到微处理器,使用方便。 ? ???如何最大限度的为用户考虑,为用户服务,其产品才能最大限度的赢得用户的信赖。设计人员必须要考虑到这一点,才能使产品更具有生命力。 * RTL级,register transfer level,指的是用寄存器这一级别的描述方式来描述电路的数据流方式;而Behavior级指的是仅仅描述电路的功能而可以采用任何verilog语法的描述方式。鉴于这个区别,RTL级描述的目标就是可综合,而行为级描述的目标就是实现特定的功能而没有可综合的限制。 行为级是RTL的上一层,行为级是最符合人类逻辑思维方式的描述角度,一般基于算法,用C/C++来描述。从行为级到RTL级的转换,一般都是由IC设计人员手工翻译。 这个过程繁琐,工作量很大,特别是随着数字系统的复杂性提升,这样的纯手工翻译过程容易出错,且使得开发周期变长。一批高级综合工具应运而生。如Menter Graphics的高层次综合工具Catapult C Synthesis。能够将数字系统的行为级描述映射为RTL设计,并满足给定的目标限制。从层次由上到下,数字系统的设计过程为: Idea-行为级描述-rtl描述-门级网标-物理版图 行为级的描述更多的是采取直接赋值的形式,只能看出结果,看不出数据流的实际处理过程。其中又大量采用算术运算,延迟等一些无法综合的语句。常常只用于验证仿真。 RTL级的描述就会更详细一些,并且从寄存器的角度,把数据的处理过程表达出来。可以容易地被综合工具综合成电路的形式。 行为级描述可是说是RTL的上层描述,比RTL更抽象。行为描述不关心电路的具体结构,只关注算法。 有行为综合工具,可以直接将行为级的描述综合为RTL级的,比如Behavioral Compiler。 在硬件设计中有一句著名的话:thinking of hardware。RTL在很大程度上是对流水线原理图的描述。哪里是组合逻辑,哪里是寄存器,设计者应该了然于胸。组合逻辑到底如何实现,取决于综合器和限制条件。 rtl级可以理解为,可以直接给综合工具生成你要的网表的代码,而行为级则不行。比如real可以用于行为级,而不能用于rtl级! 行为级 is for testbench for modelling. RTL is for synthesis 语法块如果可以被综合到gate level,就是RTL的。否则就是behavior. level的。 同样是for语句,如果循环条件是常数,就是RTL的,如果是变量,就是behavior的。 行为级不考虑电路的实现,不考虑综合 RTL级描述数据在寄存器层次的流动模型。 always 属于行为级模型,是最基本的行为模型,是可以综合的。 综合与RTL或者行为级没有必然联系,虽然大多数行为模型不能综合 从网上copy 目的区别: 行为级描述目的是加快仿真速度,做法是尽量减少一个always块中要执行的语句数量,其结果不是为了综合,只关注算法。有行为综合工具,可以直接将行为级的描述综合为RTL级的,比如Behavioral Compiler。 形式区别: RTL级描述是为了综合工具能够正确的识别而编写的代码,verilog中有一个可综合的子集,不同的综合工具支持的也有所不同, RTL级的描述就会

文档评论(0)

10577 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档