穆文爭 史鴻聲 劉 麗
(中國電子科技集團公司第三十八研究所 合肥 230088)
為了打破我國對高端信號處理器進口的依賴,以及滿足新一代信號處理機對高速、實時、并行計算的要求,我們研制了高性能通用信號處理芯片BWDSP100。BWDSP100是一款32位浮點 DSP,同時兼容16位和32位定點數據格式,采用VLIW架構,具有強大的并行處理能力,可廣泛運用于雷達、電子對抗、精確制導武器、通信保障等領域。
BWDSP100是靜態超標量處理器,它采用16發射、SIMD架構,指令總線寬度512bit,內部數據總線采用非對稱全雙工總線,讀總線512bit、寫總線256bit,共有11級流水。處理器的工作主頻為500 MHz,內部包含4個基本運算單元,每個運算單元由8個算術邏輯單元、4個乘法器、2個移位器、1個特定運算單元以及1個通用寄存組組成。運算部件支持16位/32位定點、32位浮點,16位/32位定點復數、32位浮點復數等數據格式,是一款性能優越的國產高端DSP處理器。
為了讓用戶盡快熟悉這款處理器并早日投入使用,設計了一塊DEMO板,通過該板,用戶能夠快速對BWDSP100形成感性認識,并對其功能、性能做出粗略評價。本文介紹了DEMO板的設計過程、使用方法,給出調試結果,并指出需要改進的地方。
根據任務書的要求,所設計DEMO板為一塊能夠單獨工作的板卡,類似于評估板,基于板卡的這一性質,得出如下設計需求:
a.電源:由于板卡單獨工作,不放入機箱,所以沒有專門的電源插件來給板卡供電,這就要求板卡要自帶電源適配器,在用戶沒有電源的情況下,能夠方便地從市電取電。市電經過電源適配器完成AC/DC,然后送至板卡進行DC/DC,從而得到所需要的電源。
b.時鐘:高性能芯片BWDSP100的內核時鐘最高頻率為500MHz,其大小可以通過管腳CLKINRAT[2..0]來設置。由于設置管腳只有3位,所以對外部時鐘的倍頻就只有8種,為了能夠得到范圍較大的核時鐘,希望輸入給芯片的外部時鐘頻率也可變;
c.板卡結構:采用經典FPGA+DSP結構。雖然BWDSP100的處理能力強大,但控制不夠靈活,現在信號處理板一般為FPGA和DSP配合使用,FPGA發揮控制靈活、并行度高的優勢,而DSP則進行高性能計算。采用FPGA的另外兩個好處,一是FPGA的集成開發軟件帶有SignalTap工具,相當于一個邏輯分析儀,能夠對BWDSP100的管腳信號進行探測,這給調試帶來了便利;其次就是通過FPGA不僅可以模擬DSP的測試環境,還能為DSP提供測試激勵等;
d.外部接口:DEMO板要留有通用的外部接口,以便于和主機等設備進行通信,這類接口有網口、串口等。為了將DSP的處理結果送往示波器顯示,板卡上留有SMA連接器也是必要的;
e.存儲器:BWDSP100和FPGA的片內存儲器容量都不大,為了滿足大數據量緩存的需要,板卡要外擴存儲器。由于FPGA和DSP的在線調試程序掉電后就丟失,為了將程序固化永久保存,也需要配備專門的程序存儲芯片。
經過以上的設計需求分析,得到DEMO板的設計方案,如圖1所示。
DEMO板由1片FPGA+2片DSP構成,DSP即為BWDSP100,FPGA選用Altera公司的低端芯片EP2C35,選用低端芯片有兩方面的原因:一是該板卡要突出的是DSP,FPGA在這里只是起到輔助作用,沒有必要配置高端芯片;二是要降低板卡的開發成本。
DEMO在設計過程中,貫徹了“通用化、標準化、系列化”的思想,盡量借鑒成熟的或已經經過驗證的電路,以此減少設計失敗的風險。在器材選用上盡量選用單位的優選器件,因為器件優選既是生產的保障,同時又能夠提高設計質量。為了降低器材采購的難度及板卡裝配的難度,設計時盡量減少所用器材的種類,并且器件的封裝盡量做到一致。比如電阻的封裝,板卡所有電阻的封裝均采用0603,這樣當發現某一個電阻的阻值不合適時,很容易找到別的阻值的替換電阻,例如調節電源模塊的輸出電壓,當發現輸出值不合適時,通過改變配置電阻,就能夠迅速得到另外一種輸出壓值。器材選用的另一準則,就是在滿足板卡性能的前提下,優先選用數字化和集成度高的器件,盡量少用模擬和分立器件,這對提高板卡的可靠性有益。
上述設計準則并不排斥新器材的試用與驗證,在充分閱讀器件手冊的基礎上,要嘗試使用新器件。比如本板,由于要求單板就能夠工作,但已有的電源模塊均不能滿足此要求,所以就嘗試選用新的電源模塊。
依據設計需求的分析結果,在設計準則的約束下,對關鍵模塊進行了選型,如下:
a.電源:在充分估算板卡功耗的基礎上,選用凌特公司的電源芯片:LTM4601和LTM4616。這兩款芯片都是LGA封裝,有著較小的外形尺寸(15mm*15mm),適合集成在本高密度板卡上,其中LTM4601作為初級DC/DC,LTM4616作為次級DC/DC。由于從電源適配器送來的是+12V直流電,LTM4601的輸入范圍為4.5V~20V,可見它是滿足輸入要求的。LTM4601將+12V電源轉為+5V后,送給LTM4616完成次級DC/DC。LTM4616為雙路輸出芯片,每路可達8A,這對電壓品種較多的本板來說是合適的,因為既減少了器件數量,又節省了板卡的面積。
b.FPGA:由于FPGA不是本板卡的重點,所以選用了Altera公司的低端芯片EP2C35。該款FPGA的資源為:33216個LE,475個用戶IO,內存容量483.84K bits,4個PLL。FPGA的主要任務是用來做接口、控制和簡單的數據處理。因為DEMO板是單板工作,主要用來做演示,所以這樣的資源配置是足夠的。
c.時鐘:DEMO板的主要任務是讓用戶體驗,所以希望DSP的主頻可以在較大的范圍內變化,這就要求有可變的外部時鐘,解決這一問題的辦法是——使用時鐘管理芯片ispClock5620A。ispClock5620A是一種片上可編程、高扇出的增強型零延時時鐘發生器,它可以提供20個單端或10對差分輸出,將板載60M晶振作為時鐘源,通過ispClock5620A分頻或倍頻出所需要的時鐘頻率,從而改變DSP的主頻。isp-Clock5620A的分頻倍頻系數可以通過配套軟件PACDesigner進行設置,將結果固化即可。
d.存儲器:為了數據緩存和程序存儲的需要,DEMO板為DSP和FPGA均外掛了存儲器。DSP的程序存儲器為一片128M的Flash,除了可以進行存儲程序外,剩余空間還可以作為EPROM使用;數據存儲器則為4片DDR2,由于每片DDR2的數據總線寬度只有16位,可以通過4片DDR2完成64位總線的拼接。FPGA是用一片EPCS16作為程序存儲器,數據緩存用一片SRAM實現。
DEMO板是一塊交由用戶使用的板卡,這就要求在進行布局時多站在用戶的角度考慮,除了要做到布局合理外,還要考慮用戶操作是否方便等。在布局過程中,先放置核心器件,如DSP、FPGA等,然后考慮外圍電路,最后考慮接插件。對于電源模塊,底部要接大面積的地層,且均勻打上散熱孔,這樣做是為了保證好的散熱效果。晶振為熱敏感器件,它需要遠離電源、處理器之類的發熱源。對于存儲器,要盡量靠近使用它的器件,這樣可以方便走線。為了便于用戶插拔編程電纜和仿真器,接插件最好放置在板卡的周邊,且相互之間要留有足夠的間距。發光二極管也要靠近邊沿,但注意不要被高的器件遮擋。
布線方面,主要考慮LVDS差分線對等長的約束,為了減小信號的反射,需要端接匹配電阻。數據總線和地址總線對等長也有要求,另外時鐘信號要走屏蔽線。
除了上述因素外,板卡的可測試性、安全性、電磁兼容及質量控制也很重要。可測試性方面,由于采用了Altera公司的FPGA芯片,可以利用Quartus自帶的SignalTap工具,測試FPGA內部各寄存器的值;DSP內部各寄存器的值可以通過硬件仿真器測得;板卡設計了JTAG鏈路,支持在線測試功能,能夠用來判斷板卡的虛焊、短路情況,除此之外,在用戶開發的軟件中也可以加入BITE設計。安全性方面,主要考慮防誤插設計,現在只做好了絲印標識,結構上防誤插尚需考慮。由于DEMO板為低電壓小功率電路板卡,因此不存在高壓、漏電等不安全因素。電磁兼容方面,主要是在電源模塊和集成電路周圍均勻布滿去耦電容。質量控制上,除了設計階段質量控制外,對采購、裝配、存儲等環節的控制也很重要。圖2為所設計板卡實物圖。

圖2 DEMO板實物圖
調試時,拿到一塊新板卡,先用萬用表測量板卡電源對地電阻,在確認不短路的情況下再通電。在通電過程中,觀察電源指示燈是否點亮,如果點亮,表明電源模塊的輸出電壓正常,用萬用表測量確認后,再將跳線器與后續電路連通。由于跳線器有時接觸不好,這會帶來過多的壓降,對于這種情況,可以在板卡背面直接用光銅線將跳線位置短接,從而減小電阻,降低壓降損失。調試DSP可以通過仿真器Emulator進行,也可以在軟模擬環境Simulator下進行。在集成開發環境ECS下完成代碼的編寫、編譯與連接,通過仿真器將其下載到DSP芯片,完成代碼的調試工作,如果沒有板卡,可以在軟模擬環境Simulator下建立一個平臺,在該平臺上也能完成程序的開發。圖3為ECS的程序開發界面。
由于DSP和FPGA有并口和鏈路口等數據通路,所以可以非常方便地進行通信,FPGA既可以從DSP中讀寫數據,也可以模擬外部事件。除此之外,FPGA還可以做接口邏輯,將外部數據導給DSP,待DSP處理完成后,再將結果送出去。FPGA的集成開發環境帶有SignalTap,通過它可以很方便地觀察DSP并口或鏈路口上的數據和時序情況。另外,FPGA的部分IO接了發光二極管,通過發光二極管可以指示DSP內部的一些信息,比如數據傳輸是否正確、1K次中斷是否響應完成等。

圖3 BWDSP100集成開發環境ECS
在調試過程中,發現操作者有時誤將板卡電源當作仿真器電源的情況,這樣就會把仿真器燒掉,因為仿真器電源是+5V供電,而板卡電源是+12V的,因此在今后的改進設計中,需要考慮這兩種電源的防插錯設計,比如可以采用不同孔徑的連接器。由于DSP和FPGA都是采用2*5芯的JTAG插座,也容易造成誤插,對于這種情況,可以考慮一種插座帶圍墻,另一種不帶。另外,現在板卡上LED燈的顏色均為綠色,可以考慮將一部分換成紅色,用于指示故障信息,這樣可以更加醒目。
本文設計了一塊BWDSP100數字信號處理器的DEMO板,通過該板用戶可以對BWDSP100進行體驗。板卡在設計過程中,始終站在用戶的角度考慮問題,把用戶使用是否方便作為重要的設計任務,同時采用經典FPGA+DSP結構,盡量靠近工程實際,起到讓用戶借鑒的作用。由于BWDSP100為國產高性能DSP,所以對其推廣也是一項重要任務,希望DEMO板在推廣過程中能夠起到應有作用。
[1]BWDSP100硬件用戶手冊[M].中國電子科技集團公司第三十八研究所,2011.
[2]BWDSP100軟件用戶手冊[M].中國電子科技集團公司第三十八研究所,2011.
[3]胡丹,錢波,高性能通用信號處理器[J].火控雷達技術,2010,39(3):41 -44.