原创 PLD中的微小延时(一) 使用时序约束

2009-11-9 21:31 2812 14 14 分类: FPGA/CPLD

可编程逻辑的微小延时,看过不少帖子实现方法有几种,看过就忘记了,今天在一个论坛里又看到有人讨论,我就实际做了一下,今天使用第一种方法,使用时序约束的方法。
    代码如下:
module delay_10ns(oe_i,dir_i,oe_o,dir_o);
input oe_i,dir_i;
output oe_o,dir_o;
//inout
assign oe_o = ~ oe_i;
assign dir_o = ~ dir_i;
endmodule
oe是使能信号,dir是方向信号,方向信号必须在使能信号到达前有效,假设保持时间为10ns。
时序约束如下:
set_instance_assignment -name TPD_REQUIREMENT "10 ns" -from dir_i -to dir_o
set_instance_assignment -name MINIMUM_TPD_REQUIREMENT "20 ns" -from oe_i -to oe_o
编译后通过Chip Planner观察可发现oe_i到oe_o的布线绕了一大圈,以达到时序约束。但有一点没弄清楚,必须得设置dir信号的TPD_REQUIREMENT约束,oe的MINIMUM_TPD_REQUIRMENT才管用。
以上的约束可以在Assignment Editor设置,完整的工程见附件:


https://static.assets-stash.eet-china.com/album/old-resources/2009/11/9/cfb0e20b-642c-4f9a-9b80-67e5b66fd1d8.rar

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
14
关闭 站长推荐上一条 /3 下一条