FPGA由于可进行现场编程,可以满足许多方面的应用,如网络、通信、汽车电子系统、导航系统以及语音识别和消费类电子产品的要求,能以低成本代替专用集成电路(ASIC),因此得到广泛的使用。由于FPGA的集成度也越来越高,当FPGA设计的规模变得越来越大时,迭代设计(设计修改,功能仿真,布局和路由以及后布局仿真)中所占用的时间将会大大增加,特别在异步设计中要满足时序要求时更是如此。采用现代EDA设计工具所提供的增量设计流程,工程师现在能有效地降低迭代设计所用的时间。
本次在线座谈介绍了如何把逻辑综合工具中的增量综合特性和增量布局与路由工具结合起来,以达到缩短FPGA设计周期这一目标。
精彩问答:
问:请问门数和宏单元数有什么区别,怎么确定自己的设计需要多少门的芯片呀?
答:宏单元由许多门组成,大多数IP(宏单元)都会给出门数的要求。
问:不同的逻辑综合工具其各自的特点都有哪些?不同厂家的FPGA应对应于采用哪一种综合工具才能使综合出来的结果能最大限度的发挥该FPGA芯片的性能?
答:不同的综合工具有不同的特性,如速度、门数;目前,Synplicity的 Synplify Pro 在上述两种特性中是最好的。
问:软件从哪个版本开始有“增量设计流程”的支持?
答:Synplify Pro. 7.5.1A
问:Actel用来设计FPGA的软件是什么,对于增量设计是否可以很好的支持?
答:Libero 是Actel FPGA的开发软件,从6.0版开始对增量设计就可以有很好的支持。
问:布局布线完成后,如何锁定布局和布线关系,从而保持设计中未修改部分的性能。
答:可以选择“incremental routing” 和“incremental placement”选项。
问:请问在FPGA中采用异步逻辑需注意什么问题?我在进行逻辑设计时,经常出现逻辑在仿真时,逻辑关系非常正确,但下载到逻辑中,其逻辑总有一些小问题,但改变逻辑设计的顺序,便可以,这是为什么?是否与编译设置等有关?我不懂增量设计,能否说明增量设计的实际方法?
答:异步逻辑设计必须注重时序,尤其在最好状态和较差状态变化过程。详细的功能仿真必须考虑到所有条件。
问:多点综合与增量设计有什么不同?
答:多点综合只是增量设计的一部分。
问:增量综合的效果和重新综合,布线的效果相差大吗?
答:增量综合将尽量保持布线不变;而重新综合可能产生完全不同的布线。
问:请问Actel的APA芯片为什么同一型号芯片有的只能用串口编程,并口编不上,而有的用并口行,用串口不行呢?
答:APA编程用的是其JATG口。
问:在开发工具中如何观察使用资源的实现报告?
答:你可以观察综合工具和布线工具的报告; 布线工具提供更确切的结果。
问:ACTEL的FPGA一般设计可以达到的最高主频是多少?
答:内部速度达180MHz,I/O 速度达150MHz 。
问:增量设计是否会产生冗余?如何控制冗余量?
答:会,但不大。出现在block 的边界。
问:Actel现在的工具可以进行功耗的分析吗?
答:可以。
问:进行FPGA设计,经常需要向其它芯片提供时钟,这时将涉及提供时钟反馈的问题,有没有较好的方法?
答:可以用片上PLL解决。
问:对增量总和,在布局布线时要用什么约束呢?
答:你仅需告诉布线工具锁定现有布线。
问:增量设计需要有什么设计准则?
答:没什么特殊的规则,仅建议每次不要对一block 作太多的改变。
问:FPGA中的时序设计如何进行验证?它的成功率大约有多少?和实测会有多大差别?
答:时序仿真是最基本的时序验证,并取决于测试范围。
静态时序分析是另一种强大的时序分析工具,可以观测到隐藏的和潜在的时序问题。
问:在进行FPGA设计时,如何避免时序的冲突问题?如何确定时序?
答:可以用仿真和静态时序分析工具解决。
问:增量设计具有很大的意义,我们的一个设计一次编译往往需要20-30分钟,但锁定那些已经布局过的异步电路(组合电路),可能能得到较好的局部模块的性能,但是否一定能得到最好的全局性能?
答:不会,不可能得到最好的全局性能;大多数情况下,需权衡时间和性能。最重要的是在可能的时间内达到目标要求。
问:actgen产生的FIFO都是9位的,每个块为256x9,我的数据都是8位的,那么每个块能否工作为288x8,还是浪费每个word的一位呢?
答:可以用8位的FIFO,但剩余的一位将浪费。
问:请问Actel Ax系列是否支持全局复位?能否保证加电时内部所有r-cell同步清零?
答:是的。 问:请问Actel的PLL是模拟的还是数字的,对处理时钟抖动效果如何?我用别家的PLL时,发现只是分频,倍频,锁相还行,却不能改善抖动,不知道Actel的如何?
答:模拟 PLL。
事实上,PLL不能改善抖动,任何PLL只能是引入更多的抖动。为减小只能靠低抖动的信号源。
问:请问ACTEL的增量设计和ALTERA的LOGICLOCK增量设计是相同原理吗?
答:是,类似。
问:ACTEL Ax系列是否能设计异步单端口RAM,Ax系列中的门数与逻辑单元个数是如何对应的 ?
答:仅支持同步模式。
问:使用增量设计,会不会出现下面的情况:当设计的程序的容量超过所选片子的容量的90%时,由于软件对程序进行了优化(优化的过分了),导致编译能通过,但结果逻辑不对。
答:没有综合工具会知道设计是否超过目标器件的门数;你应在布线前检查。
问:能否详细解释一下静态时序分析?
答:静态时序分析基于布线时序数据和设计约束,分析设计时序的参数,如:
寄存器到寄存器时序;
建立时间;
保持时间;
时钟到输出时间;
输入到输出时间;
时钟倾斜。
问:能介绍一下流水线设计吗?我只是看到别人说过它的诸多优点,具体不太清楚!
答:流水线设计对于减小同步设计的时钟周期(提高速度)是一种有效的方法。通常在逻辑块间插入寄存器,打断长逻辑延迟路径,使之分割成几个较短的路径。
但是,这会增加逻辑单元需求和时钟响应时间,并需付出更多的设计努力。
|