关于新的描述语言GEZEL的介绍
對gezel有用的網址:
http://rijndael.ece.vt.edu/gezel2/index.php/Main_Page
?
下面的文章摘自這個人的博客,
http://edacn.net/index.php/83433/spacelist-blog-itemtypeid-1395.html
國內好像只有他的博客里對gezel有大量研究.
=====================================================================
我對gezel的看法(一)
在見到的硬件語言中,比較看好gezel和SpecC,都是以FSMD為核心。FSMD最大好處是將硬件并發執行順序化,對于以前從事軟件開發的我,是比較偏愛。EDA中國門戶網站P N SS-^ R!]
w-O*M
? ? gezel比較可愛之處,我覺得有以下幾點:EDA中國門戶網站Xw
q)I7dq(A
? ? 1、以FSMD為核心,其實,在rtl設計時,我們都在無形中使用FSMD,電路無時無刻在執行,組合邏輯負責變換,寄存器控制節奏,而FSMD將其合理化、理論化。gezel將FSM和DATAPATH分開是非常明智的,清晰性、可讀性非常好;
/O+aC!r0Hg(s.t$?b7B?r0? ? 2、語法簡單、面向硬件實現,簡潔的語法,主要針對硬件實現而設計,每一步都是很確定的,很少引起歧義。這和面向仿真的rtl語言有很大區別。
x(B X3o7pc0? ? 3、開源,為擴展打開了廣闊的空間,也方便了開發者定制。不過,自1.7版本后去掉了fdlvhd的源代碼,是否有準備商業化的嫌疑?
H/P
UsG9F?j,e9k0EDA中國門戶網站4TA
Pj3y/k8N
? ? 總之,我覺得gezel是個非常好的創舉,其思想很有啟發性,是為“硬件開發者”設計的“實現硬件”的一種語言,有一種返璞歸真的聞道。
9a0o?G?[*]5t6da;n8o0EDA中國門戶網站1_8kVzv-^ fH|
? ? SpecC在接口協商方面可能更勝一籌,不過,gezel的發展空間還很大。
本文原址:http://edacn.net/html/33/83433-33183.html
我對gezel的看法(二)
就我對gezel的認識,覺得有以下好處:
/{bj$W;{#v?f
|2H4}13977EDA中國門戶網站
r?X^:VX7d*w5{z:F
W
1、語法簡潔,可讀性好,特別是數據通路和控制通路的分離。verilog和vhdl較復雜;
[1]k1}C|KW*f139772、面向硬件實現,從fdl程序可以直接得到硬件實現,而現在許多esl工具,其生成的代碼要看懂實在太難。verilog和vhdl面向硬件仿真,如果代碼很長、很復雜,要想象出硬件是很不容易的。EDA中國門戶網站
E[1]R1g c*Q
T [Le(xeK
3、語義確定,象gezel中的寄存器就是硬件中寄存器,而verilog和vhdl卻不然;
%U3_^+e6Ae1a139774、 思想明確,清晰易理解,其sfg,fsmd都是常用的硬件實現方法,而vhdl和verilog由于語言豐富,書寫風格多樣,有經驗寫的直接對應硬件,而 無經驗的可能寫成類似c語言的實現,其綜合結果會相差千里;gezel強制采用sfg,fsmd等方法,只能在充分理解sfg,fsmd等方法及其對應的 硬件實現后,才能寫出合格的gezel程序。不知道fsmd可以寫出vhdl或verilog程序,但不知道fsmd,卻不好寫出fdl。
`bh'i?W0I_h+?w)G13977? ? 也可以說,gezel對vhdl和verilog進行了高級抽象,使其硬件實現方法化。當然,gezel還在發展中,還有許多不足。個人感覺,如果能在接口、通訊協議、共享資源方面有所擴展,就比較完美了。EDA中國門戶網站4[6zji;~
? ? 前一段,在國外一個論壇上,看到有人建議寫一本關于硬件設計的設計模式(設計模式取自C++的設計模式),我覺得這是一件非常好的事情,如果能有這樣一本巨著,我們這些菜鳥即使寫不出最好的硬件程序,也可寫出不錯的硬件程序。EDA中國門戶網站m9SqTo-mgt:l
5、周期精確地、方便地和c語言接口仿真,比如,寫一個mpeg4編碼程序,可以一步一步嵌入fdl程序仿真,好了,直接生成hdl。當然,vhdl和erilog也可以和c接口,但你首先的熟悉一大堆接口規范,然后才能寫程序。
jL5Ppg139776、開放源代碼,如果你高興,你可以根據自己的喜好和經驗定制自己的工具。EDA中國門戶網站B&L2n n$mT
EDA中國門戶網站se R WGIt
? ? 其實,對于真正懂得硬件和硬件實現方法的高人,用任何語言都可以寫出優秀的程序。只是有些工具會讓我們少犯錯誤,有些工具教會我們怎樣思考硬件、實現硬件。
3ozU]{V l}
@P;v;}13977EDA中國門戶網站?A)@#YJz7Smn
? ? 總之,我覺得gezel是給“硬件者”實現“硬件”的語言。
1[9Q]c&T
FY{w13977EDA中國門戶網站 Z
B@[1]I/G%J
? ? 以上僅是自己的一些拙見,還在學習中。歡迎討論、批評指正。
本文原址:http://edacn.net/html/33/83433-33184.html
對gezel之fdlsim仿真調度算法的初步猜想
fdlsim其實就是一個解釋器。
[1]p
`/A'X
z0? fdlsim仿真速度比其它事件驅動編譯型仿真器可能要快(沒比較過)。
dt Avz?n0 EDA中國門戶網站8U-f?J.q3xGdJ 如果將vhdl看作CISC機,gezel可能就是risc機。EDA中國門戶網站t?[b@!t8n&oX?a'|2C \?i
$AEg-V F _-] R0??? gezel的確定性是由fmsd和fmsd的四條規則來保證,在此基礎上簡化了仿真和代碼生成。EDA中國門戶網站8_'a[1]S()4E q
fdlsim的仿真調度方法還沒有搞清楚,不過從硬件執行特性猜想可能如下進行仿真調度:
N P g(d
gY?c0???
C9^C-]?G
[1^ `j7Q0??? 1、寄存器處理:將寄存器分為寄存器和信號兩個值,分別表示將來值和現在值,將來值參與寄存器更新,而現在值參與數據數據通路計算。在gezel中,寄存器默認值為0,而信號為未知。EDA中國門戶網站@9y_9Ed)R)\8]
??? 2、dp處理:對寄存器處理后,dp的計算將都是信號,其并行計算和順序計算效果一樣,不過要以sfg為變量范圍,這里涉及到sfg是單周期以及fsmd的規則之一:任何周期不能有組合環。EDA中國門戶網站B ]%N&t-C }C
??? 3、fsm處理:順序執行,比較簡單,和軟件執行相同。僅相當一個開關,在什么時候打開哪個通路。
*Kb&w
V#c[1]G-Q2?^0??? 4、仿真調度:
?2CUY Rc3[0?????? a、寄存器值->寄存器信號值;
1B?WM?]'c7RG0???????????b、計算dp中各個sfg;EDA中國門戶網站
}u.Z n
m[1]H Lj
?????? c、查找fsm執行分支,得到正執行的sfg,標志下一步執行分支;
M^J~!qh$Z9?T&rM0?????? d、根據c得到的sfg,從dp中查找對應的sfg,更新輸出,這涉及到fsmd的另一條規則:任何周期都要有確定的輸出;
/M3l-~(y6),z7E?)0?????? e、寄存器信號值->寄存器值;EDA中國門戶網站#l h-A(ao
???????f、周期計算加一,goto a。
?
????? 以上僅初步想法,望指正、討論。
本文原址:http://edacn.net/html/33/83433-33213.html
總結
以上是生活随笔為你收集整理的关于新的描述语言GEZEL的介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光模块、连接器、光纤的常用知识
- 下一篇: 论文写作利器—LaTeX教程