原创 【原创】如何使组合逻辑节点不被优化

2009-1-7 21:53 4732 7 10 分类: FPGA/CPLD

FPGA中一般采用同步时序设计,比如在延时设计中,一般都是设计成延时几个时钟周期,这样程序可移植性比较好,多次编译的结果也相同,不过有时候为了满足时序条件,比如建立时间,保持时间等不满足条件,需要适当做调整,调整的时间可能比一个时钟周期小,可能的一种方法是在节点处加入若干的BUFLCELL),引入延迟。不过这样做也有一个缺点是每次布局布线后延迟的时间会有细微的变化。默认情况下,QuartusII会优化掉无用的LCELL,比如如下的程序:


module demo(input a,input b,output out);


wire t1;


wire t2;


assign t1=a&b;


assign t2=t1;


assign out="t2";


endmodule


该程序的本意是将ab相与后经过t1t2后再输出,不过QuartusIIt1t2视为多余节点,在综合时优化了,产生如下结果:


e1b3fc53-ac67-482a-bbce-62e188ec35ab.jpg


about的延时为11.632ns,逻辑单元使用数为1


       为了保留用户有意加入的LCELL,以达到延时的目的,需要在程序中加入特定的指令以避免被优化,下面的程序基于Verilog-2001标准。关于在QuartusII中选择何种标准请参考我的另一篇文章【原创】Verilog-2001新增特性(实例分析)


       module demo(input a,input b,output out);


(* keep="1" *)wire t1;


(* keep="1" *)wire t2;


assign t1=a&b;


assign t2=t1;


assign out="t2";


endmodule


这里加入了指令(* keep="1" *),以防止将组合逻辑节点t1t2优化掉。综合后的RTL视图为:


点击看大图


此时about的延时为12.188ns,逻辑单元使用数为2


       可以看到,此时的t1t2没有被综合掉,并且使about的传输时延有少许增加。


 

文章评论3条评论)

登录后参与讨论

348321343_312582858 2009-1-11 10:08

有用。

ilove314_323192455 2009-1-8 20:01

是个好方法

chactor_935434191 2009-1-7 22:37

另一种加LCELL的方法是:在RTL视图或者Technology Map视图中直接选中某个节点,locate到Assignment editor中,选择Logic Cell insert,综合后,在Technology map视图中就会加入一个LCELL。
相关推荐阅读
chactor_935434191 2009-08-16 21:47
时序电路亚稳态分析
这篇文章是我对电子设计中,亚稳态问题的一种分析和总结。文章通过对数字电路中器件的工作机制的介绍,引出亚稳态问题的发生机制。并通过对亚稳态问题发生机制的探讨,用以得到一种能够清楚地,有的放矢地解决亚稳态...
chactor_935434191 2009-08-16 10:52
【推荐】ADF4350配置软件下载
p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">  随着现代半导体工艺的不断发展, 几十纳米级的CMOS工艺给数字电路带来了很大的恩惠, 但对模拟...
chactor_935434191 2009-08-14 12:47
【原创】基于NiosII及FT245BM的USB接口设计
以前做的一个项目,FPGA接收AD采集数据后,通过串口发送回PC机,由于串口传输速率较低,对于实时性要求较高的场合不太适用,因此站长选用FT245BM芯片来实现USB接口传输,本文主要讲解FT245B...
chactor_935434191 2009-08-13 14:56
【原创】MAXII:UFM中晶振的使用
MAXII系列CPLD中带有UFM模块,本文主要讲解UFM中晶振的使用,具体内容请点击下面链接MAXII:UFM中晶振的使用...
chactor_935434191 2009-03-01 21:53
【原创】如何使用FPGA进行信号调制
       最近要做一个通信收发系统项目,以前对收发器的射频前段关注的比较多,而对基带部分的信号处理一直没有仔细研究。因此,正好借这个项目,熟悉整个基带部分的信号处理流程。       基带部分主要...
chactor_935434191 2009-02-27 21:56
寒假回来——FPGA市场评论
寒假在家里电脑不能上网,好久没来更新自己的博客了,首先感谢大家对我博客的支持。回来后马上开始了一个863项目,一直没有时间来写博客,今天总算有时间,上来看看。回来这段时间关注了下FPGA的相关新闻,发...
广告
我要评论
3
7
1
2
3
4
5
6
7
8
9
0
广告
关闭 热点推荐上一条 /3 下一条