System C特點(diǎn)及FPGA設(shè)計(jì)
3.多系統(tǒng)測(cè)試。不但C模塊要轉(zhuǎn)換為HDL模塊,對(duì)C模塊的測(cè)試也要人工轉(zhuǎn)換為在HDL環(huán)境下的測(cè)試。這種轉(zhuǎn)換也很復(fù)雜,而且浪費(fèi)時(shí)間。HDL設(shè)計(jì)人員是根據(jù)他所設(shè)計(jì)的HDL模塊和系統(tǒng)要求來(lái)設(shè)計(jì)TESTBENCH,這使得硬件設(shè)計(jì)人員不可能利用軟件設(shè)計(jì)人員所使用的測(cè)試文件。同時(shí),HDL人員要設(shè)計(jì)出一個(gè)好的TESTBENCH也需要比較長(zhǎng)的時(shí)間。
為解決在現(xiàn)在設(shè)計(jì)流程中所帶來(lái)的種種弊端,一種全新的設(shè)計(jì)流程被提出,這就是System C設(shè)計(jì)流程。它能很好的解決上面所提到的各種設(shè)計(jì)弊端,大大提高設(shè)計(jì)效率。圖2是System C的硬件設(shè)計(jì)流程。
本文引用地址:http://www.biyoush.com/article/151249.htm
圖2
這種設(shè)計(jì)方法與現(xiàn)在常用的設(shè)計(jì)方法相比有很多優(yōu)點(diǎn):
1.精煉的設(shè)計(jì)方法。使用System C設(shè)計(jì)系統(tǒng),系統(tǒng)設(shè)計(jì)人員不必花費(fèi)很大的精力將整個(gè)系統(tǒng)設(shè)計(jì)由C語(yǔ)言描述轉(zhuǎn)換為HDL描述。系統(tǒng)設(shè)計(jì)人員可以通過(guò)在C模塊中很小的區(qū)域范圍內(nèi)加入必要的硬件和時(shí)序結(jié)構(gòu)描述,從而將C模塊方便準(zhǔn)確地轉(zhuǎn)化為一個(gè)有效的硬件設(shè)計(jì),而避免將另行設(shè)計(jì)一個(gè)硬件模塊。利用System C設(shè)計(jì)方法,設(shè)計(jì)人員可以很輕松地實(shí)現(xiàn)一個(gè)設(shè)計(jì)的更改,或在優(yōu)化算法時(shí)檢測(cè)出一些設(shè)計(jì)錯(cuò)誤并及時(shí)修改。
2.單一語(yǔ)言書寫。使用System C設(shè)計(jì)系統(tǒng),整個(gè)設(shè)計(jì)都用一種語(yǔ)言設(shè)計(jì)系統(tǒng),降低了對(duì)設(shè)計(jì)人員的要求,減少了語(yǔ)言轉(zhuǎn)換時(shí)所造成的錯(cuò)誤。這一優(yōu)點(diǎn)也使得設(shè)計(jì)人員可以在一個(gè)比較高的層次上進(jìn)行系統(tǒng)模塊設(shè)計(jì)。在較高層次的設(shè)計(jì)會(huì)導(dǎo)致產(chǎn)生小的設(shè)計(jì)代碼,使設(shè)計(jì)和仿真的速度比傳統(tǒng)的設(shè)計(jì)方法要快很多。這一點(diǎn)是很顯著的。
四、SYSTEM C基本概念
1.模塊
模塊是System C設(shè)計(jì)中的基本設(shè)計(jì)單元。模塊可以使得設(shè)計(jì)者將一個(gè)復(fù)雜的系統(tǒng)分割為一些更小但易于管理的部分。System C模塊的功能和作用與HDL語(yǔ)言中的模塊是相類似的,這使得一位習(xí)慣于用HDL進(jìn)行設(shè)計(jì)的設(shè)計(jì)人員可以很容易的轉(zhuǎn)向用System C進(jìn)行設(shè)計(jì)。
模塊在System C中的關(guān)鍵字為SC_MODULE。緊跟著關(guān)鍵字后的是模塊的名稱,如SC_MODULE(fifo),這就定義了一個(gè)叫fifo的模塊。定義的模塊也可以像HDL語(yǔ)言一樣包含端口、信號(hào)、其它模塊、處理過(guò)程和結(jié)構(gòu)體,這些單元實(shí)現(xiàn)用以實(shí)現(xiàn)模塊的功能。通過(guò)端口可以將幾個(gè)模塊連接起來(lái)。
模塊被保存為.h文件。如果在一個(gè)模塊中調(diào)用其它模塊,只需像C++中引入庫(kù)一樣將要調(diào)用的模塊作為一個(gè)庫(kù)引入即可。
評(píng)論