本文接續(xù)上一篇《FPGA雜記基礎(chǔ)篇》,繼續(xù)為大家分享IP例化和幾個(gè)基于FPGA芯片實(shí)現(xiàn)的Demo工程。
IP例化
IP即是一個(gè)封裝好的模塊,集成在相應(yīng)的開(kāi)發(fā)環(huán)境里面,以安路的TD軟件為例,不同系列的芯片集成了不同的IP模塊,可以通過(guò)軟件例化調(diào)用。
以下是安路TD4.6.5集成的EF3L40CG332B的相關(guān)IP。
1.1 PLL&RAM
以例化PLL和RAM為例,實(shí)現(xiàn)兩個(gè)異步雙口 RAM。
讀寫(xiě)時(shí)鐘都設(shè)置 100Mhz, 兩個(gè) RAM 為 RAMA 和RAMB, 深度為 1024,位寬為 8bit,寫(xiě)入數(shù)據(jù)為 8bit,100Mhz 持續(xù)數(shù)據(jù)流, 當(dāng) RAMA被寫(xiě)入 1024 字節(jié)數(shù)據(jù)后切換到寫(xiě) RAMB, RAMB 被寫(xiě)入 1024 字節(jié)后切換 RAMA。以此循環(huán)類(lèi)推。
當(dāng) RAMA 被寫(xiě)入 1024 字節(jié)時(shí), 給讀時(shí)序提供一個(gè)啟動(dòng)信號(hào)讀取 RAMA 的數(shù)據(jù), 讀取完 RAMA 的 1024 字節(jié)數(shù)據(jù)時(shí), 切換讀 RAMB 以此類(lèi)推。
這個(gè)工程的工程結(jié)構(gòu)如下圖:
首先EF3L40CG332B_DEV開(kāi)發(fā)板提供了25Mhz的晶振時(shí)鐘輸入到EF3L40CG332B的時(shí)鐘管腳。
想要得到100Mhz的讀寫(xiě)速率,需要先用PLL得到倍頻時(shí)鐘。
在tools目錄下點(diǎn)擊IP Generator進(jìn)入IP core頁(yè)面,并選擇PLL,輸入時(shí)鐘填入板子晶振25Mhz。
輸出時(shí)鐘填入所需要的100Mhz,并從C0輸出。
設(shè)置完成后,生成的module聲明如下(完整模塊可參考代碼)
再生成ram的IP模塊。
在IP core中選擇RAM。
-
FPGA
+關(guān)注
關(guān)注
1630文章
21796瀏覽量
605493 -
芯片
+關(guān)注
關(guān)注
456文章
51157瀏覽量
426625 -
電力電子
+關(guān)注
關(guān)注
29文章
576瀏覽量
48979
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論