發(fā)布日期:2022-07-15 點(diǎn)擊率:69
在察覺(jué)到芯片設(shè)計(jì)環(huán)境中存在的規(guī)范管理問(wèn)題后,工程師出身的Jeremy Ralph創(chuàng)辦了一家名為Productivity Design Tools的公司,提供能自動(dòng)從規(guī)范生成代碼和文檔的電子系統(tǒng)級(jí)(ESL)設(shè)計(jì)工具。
該公司日前宣布將開發(fā)一種針對(duì)存儲(chǔ)器映射寄存器的軟知識(shí)產(chǎn)權(quán)(IP)生成器:SpectaReg。SpectaReg接受高級(jí)XML規(guī)范,生成硬件和軟件設(shè)計(jì)需要的不同“視圖(view)”,包括RTL代碼、一個(gè)測(cè)試平臺(tái)、斷言、器件驅(qū)動(dòng)器的C頭文件和文檔。
Ralph曾是West Bay Semiconductors公司的一位芯片設(shè)計(jì)師。這家位于加拿大溫哥華的公司是開發(fā)Sonet/SDH光網(wǎng)絡(luò)ASSP芯片的新創(chuàng)企業(yè),于2003年被Intel公司收購(gòu)。Ralph在Intel呆了大約9個(gè)月的時(shí)間,直到他決定開設(shè)Productivity Design Tools公司。
“我認(rèn)真考慮過(guò)我所做的工作,并試圖尋找真正的用戶需求。”Ralph表示,“根據(jù)我的經(jīng)驗(yàn),我發(fā)現(xiàn)人們經(jīng)常進(jìn)行重復(fù)勞動(dòng)。雖然每個(gè)人都從相同的規(guī)范著手,但卻是基于不同的版本,因此很多時(shí)候各項(xiàng)工作無(wú)法同步。”
Ralph指出,對(duì)設(shè)計(jì)作了某些修改但忘記更新規(guī)范是常有的事。“這意味著驗(yàn)證人員嘗試測(cè)試的是錯(cuò)誤的版本,從而造成時(shí)間和精力的極大浪費(fèi)。”他說(shuō)。
Ralph是在2004年組建Productivity Design Tools公司的。他是SpectaReg工具中關(guān)鍵技術(shù)SpectaGen Framework的首要開發(fā)者。SpectaGen Framework引擎可以根據(jù)高級(jí)規(guī)范生成硬件和軟件視圖。SpectaReg是特別針對(duì)存儲(chǔ)器映射寄存器而開發(fā)的定制框架版本,目前正在進(jìn)行beta測(cè)試,有望明年初交付使用。
“我在年輕時(shí)就很有事業(yè)心,但這是我第一次真正全力以赴追求的事業(yè)。”Ralph表示。這也是Ralph第一次涉足工具開發(fā)行業(yè),雖然他在當(dāng)芯片設(shè)計(jì)師時(shí)就曾編寫過(guò)一些“特別”工具。
Productivity Design Tools是許多以ESL為目標(biāo)的新創(chuàng)企業(yè)之一,一些分析人士認(rèn)為ESL是未來(lái)EDA產(chǎn)業(yè)增長(zhǎng)的主要源動(dòng)力。事實(shí)上,Denali Software公司最近就推出了一款名為Blueprint的工具,該工具非常類似于SpectaReg,它也能根據(jù)高級(jí)別規(guī)范為寄存器生成硬件和軟件視圖。
不過(guò)Ralph相信Productivity Design Tools公司與眾不同。舉例來(lái)說(shuō),SpectaReg工具是根據(jù)Spirit協(xié)會(huì)的1.1 XML規(guī)范的擴(kuò)展版本生成代碼的。而Denali使用新的高級(jí)語(yǔ)言,稱為寄存器描述語(yǔ)言(RDL),該公司希望能將其發(fā)展為行業(yè)標(biāo)準(zhǔn)。
圖1: SpectaGen將規(guī)范轉(zhuǎn)化為代碼
從更長(zhǎng)遠(yuǎn)來(lái)看,Ralph相信他的公司會(huì)從眾多ESL供應(yīng)商中脫穎而出,因?yàn)槠浣鉀Q方案具有極好的可擴(kuò)展性。例如SpectaGen Framework能幫助設(shè)計(jì)師擴(kuò)展捕獲的IP規(guī)范范圍,并能利用基于Phthon的編程接口改變所生成的代碼和文檔。“許多其它ESL公司都試圖提供以特殊方式工作的解決方案,但對(duì)于那些擁有內(nèi)部工具的人們來(lái)說(shuō)這種解決方案根本無(wú)法使用。”Ralph說(shuō),“如果要用的話,他們必須修改內(nèi)部的解決方案。而我們提供的工具允許用戶根據(jù)他們自己特殊的做事方式加以擴(kuò)展。”
Ralph還指出,SpectaGen不要求采用Spirit 1.1 XML規(guī)范作為輸入,擁有自己的XML標(biāo)準(zhǔn)的公司也可以使用SpectaGen。同樣的,用戶可以決定所生成的RTL代碼的外觀,并通過(guò)工具配置生成指定外觀的代碼。
這也回答了生成的RTL代碼如何與手工代碼進(jìn)行比較的問(wèn)題。“因?yàn)镾pectaGen可以定制,因此我認(rèn)為生成的代碼效率能達(dá)到定制代碼的水平。”Ralph說(shuō),“如果用戶只想使用默認(rèn)設(shè)置,那么優(yōu)化程度也只能達(dá)到我所能達(dá)到的水平。”
一旦規(guī)范輸入后,SpectaGen就可以生成基于XML的數(shù)據(jù)表(可轉(zhuǎn)換成HTML或PDH格式)、包含VHDL、Specman或Vera在內(nèi)的任意語(yǔ)言形式的測(cè)試平臺(tái)、用于器件驅(qū)動(dòng)的C頭文件、屬性規(guī)范語(yǔ)言(PSL)或SystemVerilog等形式的斷言、以及用于硬件設(shè)計(jì)的Verilog或VHDL RTL代碼。如果規(guī)范有所變化,那么相應(yīng)視圖也會(huì)隨之改變。
基于SpectaGen的第一款產(chǎn)品SpectaReg主要針對(duì)的是存儲(chǔ)器映射寄存器,它包含了預(yù)先定義的標(biāo)準(zhǔn)對(duì)象,可以幫助用戶定義和規(guī)定存儲(chǔ)器映射圖。雖然演示時(shí)采用的是VHDL RTL代碼和測(cè)試平臺(tái),但它同樣支持其它語(yǔ)言。
Ralph確信他已經(jīng)找到了絕妙的應(yīng)用領(lǐng)域,因?yàn)榇鎯?chǔ)器映射寄存器已被廣泛應(yīng)用于那些融合了硬件和嵌入式軟件的系統(tǒng)中。這些系統(tǒng)通常提供硬件與軟件之間的接口。“對(duì)于那些設(shè)計(jì)可通過(guò)寄存器配置的復(fù)雜芯片的網(wǎng)絡(luò)公司來(lái)說(shuō),SpectaGen是再好不過(guò)的工具了。”Ralph表示。
雖然Productivity Design Tools公司面臨著來(lái)自規(guī)模更大的Denali公司的競(jìng)爭(zhēng),但Ralph認(rèn)為真正的競(jìng)爭(zhēng)將來(lái)自于內(nèi)部開發(fā)工具。“根據(jù)我們的經(jīng)驗(yàn),內(nèi)部工具不能很好地適應(yīng)各個(gè)不同的項(xiàng)目。”Ralph說(shuō),“在生成或維護(hù)工具方面無(wú)法投入很多精力,因?yàn)殚_發(fā)這些工具的人通常還必須做芯片設(shè)計(jì)工作。”
SpectaReg計(jì)劃在2006年初發(fā)布,在這之后,Ralph還將尋找下一個(gè)合適的應(yīng)用。“我準(zhǔn)備先交付給用戶使用,然后再看需求在哪。”他說(shuō)。
作者:葛立偉