新的一年,新的開始。本文對最近的學習做個總結吧。最近在做spartan6的ddr3開發,fpga採用的是spartan6的xc6lx45t,平台工具為ise14.6,mig的版本為3.92。採用的ddr3晶元為mt41j128m16xx-187e,並使用chipscope完成**除錯(主要是例項的**學習)。
根據黑金spartan6開發板的教程可以很快生成ddr3的mig例項。首先了解下ip生成細節:
第一步選擇 bank3 連線 ddr3 sdram,因為開發板上 ddr3 是連線到 fpga 的bank3 上的。設定
ddr3
的時鐘頻率為
312.5mhz,
這個頻率最高可設定為
333.33mhz
,我們這裡稍微留一點餘量。另外
ddr3
的型號設定為跟開發板上一致的型號
mt41j64m16xx-187e,
如果是ax545
的開發板,需選擇的
ddr3
型號為mt41j128m16xx-187e;
第二步根據需要可以選擇不同的使用者端介面方式,可以選擇多個
port,
也可以組合成乙個
port,
我們這裡選擇
one 128-bitbidirectional port;
第三步選擇
rzq和
zio
的引腳分配,這跟硬體電路設計有關,在
ax516
和ax545
的開發板上
c2 腳作為
rzq,l6
腳作為zio
。另外選擇
debug signals for memory controller
項設定為
enable
,因為要用
chipscope
來測試ddr3
。system clock
設定為single-ended
之後進行引數修改設定:
(1)vccaux 的電壓修改為 3.3v。
(2)把 39 行的 net 「c?_pll_lock」 tig 遮蔽掉。
(3)修改系統時鐘輸入的週期為 20ns, 這需要跟開發板上的晶振頻率一樣。
(4)修改狀態訊號為四個,分別定義到開發板上的四個 led 燈,用 led 燈的狀態來顯示程式工作狀態。
(5)修改 c3_sys_clk 的電壓為 lvcmos33,因為開發板上晶振的輸入腳所在的 fpga bank的 io 電壓為 3.3v。
(6) 修改 c3_sys_clk 和 c3_sys_rst_i 的管腳約束, 配置成跟開發板的上時鐘輸入和復位一致。
(7)時鐘頻率修改。由於開發板上的時鐘輸入為 50mhz, 因為 ddr3 是上下沿取樣,這樣 fpga 內部的 ddr3控制器的時鐘需要625mhz ,所以這裡需要倍頻25,再分頻2,得到625mhz的clkout0和 clkout1,再分頻 8 分別得到 user inte***ce 的時鐘和 calibration 的時鐘 78.125mhz。
完成上述修改後,進行chipscope**環節。這裡直接選擇例程中的\ddr3_test\mig_39_2\example_design\chipscope 目錄下的 ax516.cpj。如圖所示:
寫時序一般問題不大,這裡重點研究讀取資料的時序,首先置讀取命令c3_p0_cmd_instr <= 3'b001;這裡置fifo資料深度為c3_p0_cmd_bl <= 6'd2;
使能引入為高電平c3_p0_cmd_en <= 1;測試位址為c3_p0_cmd_byte_addr <= 30'h00000400。在之後進行讀取訊號設定:讀使能拉高c3_p0_rd_en <= 1;維持三個週期,依次讀出c3_p0_rd_data <= 32'h00000400,
32'h00000410,
32'h00000420這三個資料,同時可觀察到在拉高讀使能訊號時,c3_p0_rd_empty<=1'b0;讀使能拉低後,c3_p0_rd_empty<=1'b1;至此驗證基本完畢。
墨大Spartan常用命令總結
近期在做自己畢業設計的過程中需要用學校的spartan平台進行資料處理,這裡對學校spartan常用的一些命令進行總結。ssh spartan hpc.unimelb.edu.auscp source destination scp spartan hpc.unimelb.edu.au data p...
CentOS 6 IPv6 關閉方法
方法一 centos 6 預設安裝後,ipv6是自動開啟的,但是現在ipv6還沒有普及基本用不到這個功能,建議關閉ipv6模組。下面介紹一下關閉方法。說明 藍色 命令名稱 淺綠 命令引數淺藍 選項 紫色 目錄 系統環境 centos 6.2 i686 1 檢視系統是否開啟ipv6 a 通過網絡卡屬性...
es6 最佳入門實踐 6
symbol是es6中一種新增加的資料型別,它表示獨一無二的值。es5中我們把資料型別分為基本資料型別 字串 數字 布林 undefined null 和引用資料型別 object 在es6中新增的symbol資料型別劃分到基本資料型別 為什麼會有這樣一種資料型別呢?別人給了你乙個定義好的物件 va...