不久之前,數(shù)字信號(hào)處理(DSP)就像是一些“神秘藝術(shù)大師”所做的副業(yè)活動(dòng),并且對(duì)于相對(duì)較少的設(shè)計(jì)感興趣。最近,我們已經(jīng)看到在這個(gè)領(lǐng)域出現(xiàn)了驚人的增長(zhǎng),以至于找到一個(gè)至少不具備某些DSP功能的數(shù)字系統(tǒng)變得越來(lái)越困難。
關(guān)于DSP算法的設(shè)計(jì)和實(shí)現(xiàn),該過(guò)程的第一步是讓DSP架構(gòu)師在高抽象層次上探索和分析它們。這幾乎總是使用MathWorks公司的事實(shí)上的行業(yè)標(biāo)準(zhǔn)Matlab和/或Simulink環(huán)境來(lái)執(zhí)行。對(duì)于目標(biāo)實(shí)現(xiàn)技術(shù)涉及ASIC的設(shè)計(jì)環(huán)境,Matlab通常占據(jù)制高點(diǎn)。相比之下,我現(xiàn)在明白Simulink是當(dāng)今大多數(shù)設(shè)計(jì)環(huán)境中使用的FPGA,其中FPGA是目標(biāo)實(shí)現(xiàn)技術(shù)。
后來(lái),當(dāng)涉及到實(shí)際實(shí)現(xiàn)這些算法時(shí),我們有兩種主要方式??赡軙?huì)選擇:軟件或硬件。在軟件實(shí)現(xiàn)的情況下,我們可能決定用C/C ++和/或匯編代碼表示小的scamps,將這些表示編譯和/或組裝到機(jī)器代碼中,并在通用微處理器上運(yùn)行這個(gè)機(jī)器代碼或者專用數(shù)字信號(hào)處理器。
在代碼中表示算法的主要優(yōu)點(diǎn)是,它提供了極大的靈活性,因?yàn)樗鄬?duì)容易進(jìn)行修改。缺點(diǎn)是微處理器和數(shù)字信號(hào)處理器都是馮·諾依曼型機(jī)器,這意味著他們花費(fèi)了大量的時(shí)間(以及功率和硅片空間)讀取和解碼指令;獲取和處理數(shù)據(jù);然后存儲(chǔ)結(jié)果。
另一種方法是使用ASIC和—直接在硬件中實(shí)現(xiàn)算法(如邏輯門/功能和寄存器)。最近— FPGA中。傳統(tǒng)上,該實(shí)現(xiàn)過(guò)程依賴于在抽象的寄存器傳輸級(jí)別(RTL)上手動(dòng)重新編碼算法。悲傷,就涉及,出現(xiàn)了通常被抽象的分離誰(shuí)制定的算法和設(shè)計(jì)工程師誰(shuí)的任務(wù)是它們的物理實(shí)現(xiàn)(圖1)DSP建筑師墻。
圖1—抽象墻將DSP架構(gòu)師和設(shè)計(jì)工程師分開(kāi)。
為了突破這一障礙,有許多公司采用了各種有趣的解決方案。到目前為止,大多數(shù)這些解決方案都涉及某種形式的語(yǔ)言翻譯或IP塊實(shí)例化。然而,到目前為止,大多數(shù)這些選項(xiàng)還沒(méi)有在Matlab/Simulink域中工作的DSP架構(gòu)師和在實(shí)現(xiàn)域中工作的硬件設(shè)計(jì)工程師之間進(jìn)行明確的交接。事實(shí)上,我們經(jīng)常最終會(huì)遇到最糟糕的情況,需要用戶成為這兩個(gè)領(lǐng)域的專家,這樣的人很少而且很遠(yuǎn)!
真正的DSP合成—我們是否希望?
當(dāng)然,Synplicity的員工以其以FPGA為中心的合成技術(shù)而聞名。因此,您只能想象我的驚喜和喜悅,聽(tīng)到他們的新Synplify DSP產(chǎn)品,他們告訴我,它提供了世界上第一個(gè)真正的DSP綜合解決方案。
這個(gè)想法是Synplicity提供獨(dú)立于架構(gòu)的,與供應(yīng)商無(wú)關(guān)的塊集(庫(kù)),用于Simulink。為了有助于量化過(guò)程(將初始浮點(diǎn)表示轉(zhuǎn)換為它們的定點(diǎn)對(duì)應(yīng)物),這些庫(kù)元素中的每一個(gè)都支持自動(dòng)數(shù)據(jù)類型傳播。這意味著用戶只需要為所選信號(hào)指定定點(diǎn)數(shù)據(jù)類型(有符號(hào),無(wú)符號(hào))和位寬;然后,導(dǎo)出的值將自動(dòng)傳播到整個(gè)設(shè)計(jì)中。
但關(guān)鍵點(diǎn)在于,與傳統(tǒng)的IP模塊集解決方案不同,該庫(kù)保持了DSP架構(gòu)師在純算法級(jí)別的切入點(diǎn)。也就是說(shuō),架構(gòu)師不需要定義任何低級(jí)實(shí)現(xiàn)決策,例如內(nèi)部存儲(chǔ)是基于FIFO,寄存器還是內(nèi)存。相反,架構(gòu)師需要關(guān)注的唯一參數(shù)是高級(jí)屬性,例如濾波器系數(shù)和增益要求。
這意味著生成的Simulink表示沒(méi)有任何架構(gòu)含義,因此提供了最合適的交接指向硬件設(shè)計(jì)工程師。這些工程師只需告知Synplify DSP綜合引擎目標(biāo)FPGA架構(gòu),與系統(tǒng)相關(guān)的所需采樣率以及設(shè)計(jì)的速度要求。
Synplify DSP然后評(píng)估所有不同的可能解決方案,以實(shí)現(xiàn)最佳實(shí)施,并根據(jù)提供的區(qū)域/時(shí)序限制生成適當(dāng)?shù)腞TL。此外,由于Synplify DSP具有架構(gòu)意識(shí),因此它作為輸出生成的RTL被“調(diào)整”,以便為目標(biāo)器件提供最佳解決方案(圖2)。
圖2— DSP Synthesis彌合了域之間的差距。
Synplify DSP執(zhí)行系統(tǒng)級(jí)優(yōu)化技術(shù),如重定時(shí),資源分配,調(diào)度(折疊),多通道化和架構(gòu)選擇。在此上下文中,“折疊”是指采用與數(shù)據(jù)路徑相關(guān)聯(lián)的操作并將這些操作折疊到以較高速率操作的較少資源上。
例如,考慮一個(gè)具有100個(gè)抽頭(級(jí))運(yùn)行頻率為1 MHz的FIR濾波器。每個(gè)抽頭都有一個(gè)相關(guān)的乘法器和加法器函數(shù)。與使用100個(gè)乘法器和100個(gè)以1 MHz運(yùn)行的加法器相反,可以僅使用一個(gè)乘法器和一個(gè)以100 MHz運(yùn)行的加法器創(chuàng)建等效濾波器,中間結(jié)果存儲(chǔ)在存儲(chǔ)器中。
在多通道化的情況下,考慮一個(gè)視頻信號(hào),其中需要在紅色,綠色和藍(lán)色通道上執(zhí)行相同的DSP操作。在這種情況下,用戶只需識(shí)別一個(gè)通道,并指示Synplify DSP將其用于多個(gè)信號(hào)(如果可以)。如果采樣率與系統(tǒng)時(shí)鐘相比足夠低,則綜合引擎將自動(dòng)識(shí)別其他通道,并將多通道化技術(shù)應(yīng)用于它們。
嗯,我不了解你,但我‘印象深刻。如果Synplify DSP公司聲稱Synplify DSP能夠完成其中一半的工作,那么它將成為任何DSP設(shè)計(jì)團(tuán)隊(duì)的一個(gè)非常有價(jià)值的補(bǔ)充,它當(dāng)然值得一個(gè)官方的“酷豆”。直到下一次,有一個(gè)好的!
Clive(Max)Maxfield是Techbites Interactive的總裁,Techbites Interactive是一家專注于高科技的營(yíng)銷咨詢公司。 Bebop的作者是布爾布吉(電子非常規(guī)指南)和EDA的合著者:電子開(kāi)始的地方,Max曾被一位沒(méi)有提示,脅迫或報(bào)酬的名人稱為“半導(dǎo)體設(shè)計(jì)專家”無(wú)論如何。
-
處理器
+關(guān)注
關(guān)注
68文章
19387瀏覽量
230517 -
dsp
+關(guān)注
關(guān)注
554文章
8058瀏覽量
349584
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論