german010 发表于 2013-5-14 17:35:53

时序 约束 对fpga产生的影响?

同样的逻辑结构 在FPGA的不同 位置来实现,有的逻辑点相互距离近,有的逻辑点相互距离远,所以 同样的逻辑结构在不同位置实现,有的满足时序要求,有的不满足时序要求,加了时序约束就是让编译软件 使被实现的 逻辑结构距离合适 以满足 时序要求,加时序约束的目的是不是这样?


wye11083 发表于 2013-5-14 19:22:12

你不做约束,一般也没事,但是想跑高速,不约束?等着跑死吧。

hhxb 发表于 2013-5-14 19:30:07

差不多是这个意思;跟PCB等长等阻抗布线是一个道理

sky5566 发表于 2013-5-14 20:57:20

wye11083 发表于 2013-5-14 19:22 static/image/common/back.gif
你不做约束,一般也没事,但是想跑高速,不约束?等着跑死吧。


那是因为Quartus II 软体不够聪明,所以都要自己DIY LAYOUT FPGA

ALTERA 最近强调主打这个话题,不论是时序约不约束,最后还是要看软体跑的出不出来......

之前将 SDRAM DATA I/O 时序约束一下,结果死的更惨....{:titter:}

wye11083 发表于 2013-5-15 08:23:12

sky5566 发表于 2013-5-14 20:57 static/image/common/back.gif
那是因为Quartus II 软体不够聪明,所以都要自己DIY LAYOUT FPGA

ALTERA 最近强调主打这个话题,不论是时 ...

那是你还不会约束。我约束之后用01年的FPGA跑DDR200无压力。用SDR模拟DDR时序。片子不支持DDR。Spartan-IIE

german010 发表于 2013-5-15 08:58:25

学习了         {:smile:}

sky5566 发表于 2013-5-15 21:47:07

wye11083 发表于 2013-5-15 08:23 static/image/common/back.gif
那是你还不会约束。我约束之后用01年的FPGA跑DDR200无压力。用SDR模拟DDR时序。片子不支持DDR。Spartan-I ...

那就給個範例解說吧~~
至今 ALTERA 中文官方論壇一堆人還搞不出來~~{:titter:}

wye11083 发表于 2013-5-15 22:06:17

sky5566 发表于 2013-5-15 21:47 static/image/common/back.gif
那就給個範例解說吧~~
至今 ALTERA 中文官方論壇一堆人還搞不出來~~...

那我就给个简单的X的时序约束。

NET "pin_GCLK" TNM_NET = pin_GCLK;
TIMESPEC TS_pin_GCLK = PERIOD "pin_GCLK" 20 ns HIGH 50% INPUT_JITTER 150 ps;
这个指定系统时钟。因为片内倍频2,4,因此片内最高200MHz,这个50MHz的约束不算慢了。布线器会努力向50MHz努力。

NET "pio_FIFOD<0>"LOC = "P6"; # PB0
NET "pio_FIFOD<1>"LOC = "P5"; # PB1
NET "pio_FIFOD<2>"LOC = "P8"; # PB2
NET "pio_FIFOD<3>"LOC = "P7"; # PB3
....
这一堆是管脚约束,用QII的话直接就在程序里点了,但是我更乐意去写,因为写的话就不用一个一个去找了,毕竟找点比写几个字母更费时间。

TIMESPEC TS_Data_In_To_DDR_Out_Timing_7ns = FROM "TS_Local_Data_In_To_DDR_Output_Module" TO "TS_DDR_Output_Module_To_DDR_Port_Output" 7.5 ns;
....
这个先对寄存器分组,再对非跨时钟域不同频率时钟异步寄存器约束。因为我保证2.5ns后输出数据,因此约束7.5ns缀缀有余了。

事实证明,不做约束,布线器只要布通就立马返回了,因为任务完成了啊。如果做了约束,那么布线器会努力使布线后分数最小(0),当分数为0时布线结束(完全满足时序要求)。如果你不做时序约束,鬼才知道你片子时序有没有达到要求!当然你可以看布线后Report,检查所有路径延时,IO延时,时钟延时,最小时钟周期,====,关键是,你不约束,你就只有看的份。软件做的再好,它只是个软件而已,它只会按人的指令去干活而已!

sky_prince 发表于 2013-5-17 10:53:26

关注学习中...

qt11 发表于 2013-5-17 11:14:55

wye11083 发表于 2013-5-15 22:06 static/image/common/back.gif
那我就给个简单的X的时序约束。

NET "pin_GCLK" TNM_NET = pin_GCLK;


学习了! 我自己还不会写

cheungman 发表于 2013-5-17 11:46:23

初学fpga, 还不懂怎么约束.{:cry:}
页: [1]
查看完整版本: 时序 约束 对fpga产生的影响?