盡管對于工程師而言目標始終是以原始形式對SoC源RTL進行原型化,但在原型化工作的早期,SoC設計必須進行必要的修改,以適應FPGA原型系統(tǒng)。設計變化通常是由于在SoC技術中發(fā)現(xiàn)的設計元素,這些設計元素在FPGA技術中不可用或不適合FPGA技術。原型平臺的局限性也導致了設計的變化,對更高性能和調試工具進行了調整。
Top層的IO PAD(Top_level pads)
FPGA工具流程無法解析SoC中IO PAD的例化,因為IO PAD的例化代碼一般來源于Fab代工廠提供的庫,每家Fab的庫的寫法各不相同,只對應其相應的工藝。
門級網表(Gate_level netlists)
門級網表形式的設計沒有FPGA工具認識的RTL方式,因為門級網表也是SoC工藝庫邏輯單元的映射,F(xiàn)PGA工具無法解析。
SoC單元例化(SoC cell instantiations)
FPGA的工具不能解析工藝庫提供的SoC cell的例化。
SoC存儲單元(SoC memory)
SoC的存儲單元也是工藝庫特定的,與FPGA上特定的存儲單元有本質區(qū)別,F(xiàn)PGA工作無法解析相應的存儲單元RTL的例化。
SoC特定IP(SoC Sepecific IP)
從簡單的DesignWare宏到完整的CPU的IP,如果IP的源RTL不可用或者是黑盒看不見可綜合代碼的,那么我們需要在FPGA這一端替換一個等效功能的RTL模塊或FPGA的軟硬核IP。
內建自測試(BIST built-in self test)
內置自測試(BIST)和其他測試相關電路主要在SoC整個流程中起測試作用,并不是SoC主要的功能描述,BIST的存在是為了快速debug已有的SoC功能,但有些BIST是直接實例化設計到RTL中。但FPGA原型不需要這樣做,因為這只是為了SoC的測試功能,而不是SoC的功能,在FPGA端不用做出原型。
門控時鐘(Gated clocks)
與BIST一樣,時鐘門控是SoC為了降低功耗特別使用的一種手段,但通常直接寫入RTL的,F(xiàn)PGA原型只是為了做出功能原型機,而無法模擬功耗原型,所以這通常會用FPGA中可用的時鐘資源,能夠提供正常功能的所需時鐘。
其他復雜生成的時鐘模塊
通常在SoC設計中,都會有一個CRG模塊,與門控時鐘一樣,生成的時鐘可能需要簡化或以其他方式處理(會用FPGA中可用的時鐘資源或者例化FPGA中的分頻器和倍頻器IP模塊),以適應FPGA的設計。
審核編輯:劉清
-
SoC設計
+關注
關注
1文章
148瀏覽量
18818 -
PAD
+關注
關注
1文章
100瀏覽量
30771 -
RTL
+關注
關注
1文章
385瀏覽量
59952 -
FPGA技術
+關注
關注
0文章
24瀏覽量
11793
原文標題:【芯知識】SoC的RTL移植到FPGA的RTL修改啥?
文章出處:【微信號:于博士Jacky,微信公眾號:于博士Jacky】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論