block外面? 如果係sync既問題,以fpga黎講,inside成粒fpga,main clocking region都切四份,一個大既clocking region再斬四個localize既region,個clock signal route遠d route近d,已經會有clock skew。 data path係place and route都有影響,有d path route出黎delay長d,有d短d,呢度除左影響個max frequency,亦會影響係same clock edge裏面,sample到個data會係old data (clock trigger快過data到)定係new data(data快過clock trigger到),正常黎講都係會latch返個old data。 最簡單係兩個pipe既shift chain。 process (arst,clk) begin if (arst=’1′) then r1<=’0′; r2<=’0′; elsif (rising_edge(clk)) then r1<=din; r2<=r1; end if; end process; r1去r2果度有delay,所以din唔會係一下clock edge sync起左之後直出r2。 重有d signal既edge係dead zone,係果d位sample一定錯。 你block與block之跟做sync,有無check過個sync signal靚唔靚?重有d電線d noice又會另個signal樣衰左,sync得無咁好。如果你話sync有問題,我覺得係hardware問題,同埋要留意下呢d minor野,唔係logic同program可以解決到。 其實我既留言係咪off左topic?=.=
Comments (4)
冷靜落唻
冇0野難得到我地
係時候迫出你0既真材實料
無論答案0岩唔0岩
FYP 總有辦法做得掂
記住希望在明天
remember the LS spirit!
Never Say Die
block外面?
如果係sync既問題,以fpga黎講,inside成粒fpga,main clocking region都切四份,一個大既clocking region再斬四個localize既region,個clock signal route遠d route近d,已經會有clock skew。
data path係place and route都有影響,有d path route出黎delay長d,有d短d,呢度除左影響個max frequency,亦會影響係same clock edge裏面,sample到個data會係old data (clock trigger快過data到)定係new data(data快過clock trigger到),正常黎講都係會latch返個old data。
最簡單係兩個pipe既shift chain。
process (arst,clk)
begin
if (arst=’1′) then
r1<=’0′;
r2<=’0′;
elsif (rising_edge(clk)) then
r1<=din;
r2<=r1;
end if;
end process;
r1去r2果度有delay,所以din唔會係一下clock edge sync起左之後直出r2。
重有d signal既edge係dead zone,係果d位sample一定錯。
你block與block之跟做sync,有無check過個sync signal靚唔靚?重有d電線d noice又會另個signal樣衰左,sync得無咁好。如果你話sync有問題,我覺得係hardware問題,同埋要留意下呢d minor野,唔係logic同program可以解決到。
其實我既留言係咪off左topic?=.=
Don’t Give UP~~
you Are My ProUD~***ha