傻大方


首页 > 学习 >

ISE|ISE时序约束笔记( 三 )



按关键词阅读: 笔记 时序 约束 ISE


一一这是默认的处理方式 。
你必须添加一个约束覆盖到相关时钟域之间的路径中 。
例如 , 频率相同 , 但是CLK_B有一些相位偏移 。
在两个 。

17、不相关的时钟域你就必须添加一些同步电路 。
约束两个时钟域之间的路径 。
使用Groups by NETs选项为CLK_A和CLK_B定义groups,如果你为每个时钟添加完周期约束 , 这 个步骤将自动完成 。
在这个寄存器的groups之间指定快速/慢速例外约束 。
多周期路径约束多周期约束应用在连续几个时钟周期内寄存器不需要更新的情况 。
你一总是至少需要一个时钟周期才更新 。
一一通常的 , 这样的寄存器由时钟使能信号控制 。
一个分段计数器就是这样的一个例子 。
COUT14每隔4个时钟周期才更新一次 。
这些寄存器间的路径就算是多周期路径 。
200 MHz50 MHzFalse路径False路径选项将用于防止约束覆盖到特定路径 。

18、 时序约束优先级从高到低为:1. False路径一一将会覆盖任何其它的约束路径2. FROM THRU TO3. FROM TO4. 管脚指定OFFSETS5. Groups OFFSETs(由寄存器或者 PADS生产的groups)6. 全局PERIOD和OFFSET路一最低优先级约束这里特权同学提醒大家注意的是 , 通常类似下面这样的计数器绝对不可以归为多周期约束:reg15:0 counter;
always (posedge clk or negedge rst_n) beginif(!rst_n) counter = 16 d0;
else counter = counter+1 b1;
e 。

19、nd虽然我们想想似乎 counter1也是2个clk变化一次 , counter2也是4个clk变化一次 但是 ,我们 想想看 , 如果从 counter=1至U counter=2没有在一个 clk完成 , 那么肯定就会影响到 counter=2至U counter=3 的变化 , 对吧?所以 , 这样的计数器不能算做多周期约束例外 。
提纲里描述的多周期例外的计数器应该是这样一个模型:reg15:0 counter;
always (posedge clk or negedge rst_n) beginif(!rst_n) counter1:0 = 2 d0;
else counter1:0 = cou nter1: 。

20、0+1 b1;
endalways (posedge clk or negedge rst_n) beginif(!rst_n) counter15:2 = 14 d0;
else if(counter1:0 = 2 b11) counter15:2 = counter15:2+1 b1;
end上面两个always块里的数据互不干扰 , 并且都正常工作 , 只有下一个always块检测到前一个 always块里的counter1:0=2 b 11时才进位加1 。
写到这里 , 特权发现单从功能上来说 , 这两个例子是没有差别的 , 说白了 , 任何一个计数器都可以建 模成后面的形式 。
或者说 , 我的问题其实没有说明白 , 反而被自己 。

21、的例子给驳倒了 。
呵呵 , 换个角度思考这个问题 , 到底什么时候是多周期例外 , 什么时候不是?这个其实还是要看情况 的 , 如果你的系统实时性较高 , 可能会在某一特定的时钟周期用到16位计数器的计数值(如a = (counter =16 hffff)?1b 1:1 : b%这个计数器的高位就不能算作多周期例外 。
而如果比如在我的一个工程里 , 有 这样的计数器用法:cuonter2:0没16个clk的后8个clk需要自增加(从0到15),而高位counter18:3 当然只有在16个clk变化一次 , 因为这里counter是用于作为一个地址产生器 , 也就是说 , 我的地址是每16个clk的后8个clk用到 , 那么这里的cou 。

22、nter18:3就是一个8clk的多周期例外实例 。
说白了 , 还是要具体问题具体分析 。
ISE 时序约束笔记 8Achieving Timing Closure题记:achieving timing closure即达到时序收敛 , 这是一个很具有挑战性的任务 。
因为实际的工程项目往往不会像我们用一个资源超大(相对于你的设计来说)的FPGA来做几个数码管串口实验那么简单 。
设计者往往需要达到成本、速度、资源等各个方面的平衡 , 即使是一个小设计 , 有时候也是很费神的 。
特权同学前几周在饱经ISE4里才有的老器件的折磨后 , 感慨良多 。
关于时序报告ISE中的时序报告分为两种:一 Post-Map Static Timin 。

23、g Report一Post-Place & Route Static Timing Report所谓Post-Map是布局后(没有布线)的静态时序报告 , 主要用于估计设计的性能 , 然后提前对设计做一些必要的修改 。
因为设计的实现(布局布线)是很消耗时间的 。
Post-Place & Route就是布局布线后的一个比较接近实际板级的一个静态时序报告了 , 这算是设计者进行时序分析的最终依据 。
关于性能估计综合报告1. 准确的逻辑延时;2. 基于扇出的布线延时估计3. 报告的性能是实际的 20%误差内Post-Map静态时序报告1. 准确的逻辑延时2. 基于最快的可能的布线资源的布线延时估计3. 使用了 60/ 。

24、40规则来计算更趋近于实际的性能估计60/40 法贝U:1. 这是一个时序约束合理性的经验法则;2. 打开Post-Map静态时序报告 , 查看时序报告中关于逻辑延时的百分比 低于60%,时序很有机会到达时序约束要求 60%到80%,如果使用了高级选项 , 时序也很有机会达到时序要求 80%以上 , 基本上很难(回到综合部分 , 或者重新优化你的代码)Post-Place & Route 时序分析找出时序违规的因素有很多:1. 设计的综合不当或者代码风格太烂;2. 糟糕的综合结果(路径中的逻辑太繁杂)3. 不准确或者不完整的时序约束4. 糟糕的逻辑映射和布局每个问题都用不同的解决方案:1. 重写代码2. 添加 。


稿源:(未知)

【傻大方】网址:/a/2021/0905/0024107093.html

标题:ISE|ISE时序约束笔记( 三 )


上一篇:毕业|在毕业三十年同学聚会上的致辞

下一篇:财务部|财务部月工作总结模板