發布日期:2022-07-15 點擊率:55
CabaTech計劃發布的工具可將C語言描述編譯成可綜合的寄存器傳輸級(RTL)代碼,也能將未定時的(untimed)的C編譯成精確循環(cycle-accurate)C模型。該公司稱,將可支持電子系統級(ESL)設計方法學,允許整個系統級芯片用C編碼,并在內部C軟件環境中運行,其中精確循環模型可以精確地描述生成的RTL的行為。
CebaTech公司首席技術官、同時也是Sandgate公司前任總裁的Chad Spackman表示,Sandgate的行為級Verilog編譯經驗已經表明“行為流程在減少芯片設計中所需的人力支出方面起著重要作用”。雖然大多數ASIC需要大型開發團隊,但Spackman表示,他們只用了兩個人,就在12個月的ASIC周期往返時間內設計出了完整的TCP/IP卸載芯片。不過,他們也遇到一個問題:芯片驗證困難,共經歷了多達四次設計返工。
CebaTech成立后,開發人員采用了另外一種方法,即直接從C編譯RTL代碼,這樣就可以在C語言環境中利用精確循環模型完整地實現驗證。“我認為人力資源的節省相當可觀,”Spackman說道,“只要我們生成了RTL,RTL就是正確的。我們有辦法在實際環境中證實這一點,C代碼可以通過實際網絡通信。我們的目標是成功地實現沒有任何返工的大型設計。”
與大多數EDA提供商不同的是,只有25人的CebaTech公司正在使用自己的工具設計產品。具有知識產權的最初產品將采用OpenBDS TCP/IP堆棧。這些產品將包含互聯網協議版本4(IPv4)模型、包濾波器模型、UDP協議模型、TCP協議模型、iSCSI啟動程序和目標協議、IPsec模型和IPv6模型。CebaTech還將提供可以滿足這些領域中特殊要求的完整芯片。
身兼IP提供商與EDA公司雙重角色
那么CebaTech是一家知識產權提供商還是一家EDA公司呢?“這是一個被問了無數次的問題,答案是該公司具有雙重性質。”Spackman表示,“但編譯器需要大量開發工作和支持,因此它實際上是一種投資。”
CebaTech正在進入競爭激烈的、已經存在許多C語言工具提供商的ESL市場。但新創企業總有某些不同的觀點。例如,CebaTech公司認為架構應該被編碼成C語言源代碼,而不應該通過行為級綜合工具加進去,Spackman表示。否則,該工具將增加并行機制,但只要它增加了并行機制,源代碼就不再代表設備的功能。
“因此,C源代碼必須由架構師結構化,以便描述好的硬件。”Spackman指出。應該由設計師決定什么東西需要通過并行機制描述,什么東西需要以那樣的方式,并使用CebaTech所謂的屬性編成C源代碼。一般來說,只有約2%的源代碼堆棧需要改變,Spackman指出。
CebaTech可將C源代碼編譯成RTL,而精確循環C模型可以加速仿真
代碼重構需要一定的時間,CebaTech公司的一個設計團隊需要處理約5萬行代碼的TCP/IP堆棧,Spackman指出,而重構代碼需要花4個人6個月的時間。不過所有的代碼重構可以在硬件架構師的指導下由軟件設計人員完成,但不要求對C語言作任何增補,他說。
再舉一個例子,他說,對一個維特比(Viterbi)解碼器來說,取得四倍的RTL時鐘性能改善需要三天的重構時間,而只需數分鐘就能生成位精度提高了的RTL。
是否是行為級綜合工具的爭論
CebaTech公司是否在提供行為級綜合工具是業界爭論的焦點。傳統的行為級綜合定義應包含資源分配和調度。CebaTech公司的編譯器用“時鐘插入”處理調度,Spackman指出,但不做資源分配。設計師用C源代碼處理該任務。
由編譯器產生的精確循環C可以用“老的普通C編譯器”重新編譯,反向運行后可代替原來的C代碼,Spackman說道。據稱該功能可以在內部C軟件環境中通過實際網絡實現功能測試,并以每秒數億條指令的速度執行。
“C代碼中的每個模塊在每個時鐘周期中做某件事所需的時間非常精確。”Spackman表示,“它的行為就像RTL在仿真器中的行為一樣。它能如此精確地描述RTL以致于我們無需仿真RTL。”
不過他也非常實際。“我們非常明白RTL小組習慣于什么,我們并不指望他們僅僅因為信任我們而說這種仿真現在可以普及了。”他說。更可能的情況是設計師在仿真中混合使用RTL模型和循環精確C模塊。另外一種可能性是精確循環C模型和RTL模型之間的形式驗證。
CebaTech編譯器的beta測試在9月份進行,并于今年年底上市,價格尚未確定。另外,CebaTech承諾,它的IP價格將比競爭產品低“幾個數量級”,這是因為CebaTech的ESL流程大大地降低了產品開發成本。
作者:葛立偉