xilinx時鐘問題 IBUFG

2021-06-28 20:47:52 字數 1701 閱讀 1909

xilinx時鐘問題 之前用altera沒有什麼問題,都是直接連線上的, 

我在xilinx平台上做ddr2,需要200m的時鐘訊號,我就用dcm倍頻了乙個,直接接在ddr2的ipcore上面,出現了如下錯誤,請大神指點一二,不勝感激!! 

error:ngdbuild:770 - ibufg 

'test_ddr2_inst/memc3_infrastructure_inst/se_input_clk.u_ibufg_sys_clk' and 

bufg 'pll_200m_inst/clkout1_buf' on net 'clk_200m' are lined up in series. 

buffers of the same direction cannot be placed in series. 

我的程式**如下: 

//**** pll產生200mhz時鐘訊號 

pll_200m    pll_200m_inst                                ( 

.clk_in1                    (clk                ),         

.clk_200m                    (clk_200m            ),          

.clk_50m                    (clk_50m            ), 

.locked                       (locked                ) 

); 然後我直接把clk_200m給了ddr2的系統時鐘訊號,如下圖所示(ddr2**太多,簡單乙個鏈結): 

.c3_sys_clk                (clk_200m                    ), 

這樣會出現問題,不知道怎麼解決了呢? 

之前測試ddr2的時候,我是把外部的時鐘直接接在ddr2的ipcore上面,用的是150m的時鐘,現在板子上面只有乙個50m的時鐘了,只能自己用dcm倍頻了,應該是可以通過乙個原語解決的,但是不知道是哪個?我胡亂測試了一下,都不行。 

我用的是xilinx14.7的版本,也嘗試設定了xst的這項設定,去掉add i/o buffer 但是沒用。 

問題解決,我首先嘗試修改pll的源**,把下面**注釋掉 

bufg clkout1_buf 

(.o   (clk_200m), 

.i   (clkfx)); 

換成 assign clk_200m = clkfx ; 

編譯之後,會報錯,多驅動問題的錯誤,我就又恢復原裝,嘗試修改ddr2的原始碼!! 

assign    sys_clk_ibufg = sys_clk            ; 

//      ibufg  u_ibufg_sys_clk 

//          ( 

//           .i  (sys_clk), 

//           .o  (sys_clk_ibufg) 

//           ); 

把上面的**注釋掉,然後換成 

assign    sys_clk_ibufg = sys_clk    ; 

大功告成,編譯就沒問題了!! 

Xilinx 中時鐘的使用

沒有pll的時鐘 輸入時鐘在沒有連線到pll中,那麼一定在輸入端鏈結bufg,ibufg iostandard default specify the input i o standard ibufg inst o o clock buffer output i i clock buffer inp...

集群時鐘同步問題

時鐘此處指伺服器時間,如果集群中各個伺服器時鐘不 致勢必導致 系列問題,試想 集群是各個服 務器 起團隊化作戰,家 作都不在 個點上,亂了套!舉 個例 電商 站業務中,新增 條訂單,那麼勢必會在訂單表中增加了 條記錄,該條記錄中應 該會有 下單時間 這樣的字段,往往我們會在程式中獲取當前系統時間插 ...

集群時鐘同步問題

併發的三個下單請求,乎同時被處理,由於伺服器時鐘不 致,導致 庫的下單時間卻差別很 資料混亂 每個節點都去同步 國家授時中心 時間伺服器,可以加入crontab中去執行 此時需要把 選取其中一台伺服器 192.168.0.1 作為 區域網內的 時間伺服器,其它伺服器 192.168.0.2,192....