altera cyclone v IOE delay 設置

在用altera fpga芯片進行項目開發時,某個源同步信號輸入fpga時,或者要輸出串行同步信號。由於外部走線不等長等原因,有時會遇到各個信號到達fpga不同步的問題,或輸出信號到達外部器件不同步,這時可以通過quartus ii 的Assignment editor 對某個輸入或輸出信號進行時間延遲設置,比如輸入時,通過設置輸入延遲使得到達fpga內部單元的信號能夠同步。下面介紹下Assignment editor 裏 quaruts ii 提供的幾種延遲方式,這裏以Cyclone v 爲例進行介紹,從cyclone v 的datasheet裏可以看到對IO延遲有D1,D3,D4,D5四種設置方式:

圖1 可編程IOE delay

D1 delay:指的是IO buffer 到輸入寄存器間的延遲;
D3 delay:指的是IO buffer 到內部模塊單元間的延遲;
D4 delay:指的是DQS線上的延遲;
D5delay:指的是輸出寄存器到IO buffer 的間延遲。
通過查看上圖可以得出每個器件對應的最大延遲值。比如器件速度等級爲C8,Slow Model,則D1的最大延遲是1.194ns。Available Settings 裏的值表示的是把延遲值劃分爲多少個等級,比如D1,則有32個延遲等級,最高等級31 對應延遲值1.194ns,0則對應延遲值爲0ns。
這裏D1,D3,D4是輸入延遲設置,只有當管腳設置爲輸入或者雙向口時設置的延遲纔會生效,D5是輸出延遲, 所以只有當管腳爲輸出或雙向口時設置的延遲纔會有效)。

具體到IOE結構圖上對應的位置如下圖所示:

這裏寫圖片描述

在quartusII 15.0裏設置IO delay的方式:
此處用的FPGA芯片是cyclone v 5cEFA5F23C8,速度等級c8,所設置的管腳爲slow model 模式
1、首先創建工程,編譯工程,分配IO管腳;
2、打開Assignment editor,從下圖的To這一列找到需要延遲的管腳,將名稱copy ,然後粘貼到To這一列最下方的框中(<>)。
這裏寫圖片描述

3、該處以RGMII_IN[0]管腳爲例 將名稱賦值到To這一列最下方的框中,然後雙擊該行Assignment Name對應的框,根據你需要的延遲方式從下拉列表中選擇 D1 delay(一般選這種輸入延遲就行)或者D3,D4,D5。此處選擇D1 delay,然後在Value這一列設置延遲值,注意這裏的值只能設置0-31之間的整數,要是設置超過31,則延遲值爲0 。這裏設延遲值爲31,根據IOE delay表查看,則其D1 delay 值應爲1.194ns,使能Enabled 選擇yes。然後保存退出,重新編譯一次,延遲就會生效。
這裏寫圖片描述
4、打開chip planner 找到對應的輸入管腳RGMII_IN[0]的pad,雙擊,就能看到對應設置的D1 delay的值,如下圖
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章