




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第4章SystemGenerator庫的構(gòu)成4.1SystemGenerator模塊定義4.2在Simulink模型中引用XILINX模塊4.3XILINXBlockset庫4.4XILINXBlockset庫4.5XILINXReferenceBlockset庫4.6XILINXXtremeDSPKit庫4.7本章小結(jié)
4.1SystemGenerator模塊定義
XILINXBlockset、XILINXReferenceBlockset和XILINXXtremeDSPKit三個庫包含很多模塊,這些模塊就是XILINX模塊。SystemGenerator能夠基于設(shè)計(jì)人員用HDL語言開發(fā)的功能模塊和XILINXSmart-IP核完成數(shù)字系統(tǒng)的FPGA實(shí)現(xiàn)。在進(jìn)行完整的系統(tǒng)級設(shè)計(jì)時,模型中通常包括測試環(huán)境,一般由任意的非XILINX模塊構(gòu)成,但是在FPGA實(shí)現(xiàn)時,模型中的非XILINX模塊在編譯時是不會被綜合的。也就是說,只有XILINX模塊才會在FPGA硬件中實(shí)現(xiàn)。
4.2在Simulink模型中引用XILINX模塊
XILINX模塊可以從SimulinkLibraryBrowser中拖拽出來放在Simulink模型的窗口中。雙擊模塊的圖標(biāo),打開模塊的參數(shù)設(shè)置對話框,用戶可自定義參數(shù)以適應(yīng)不同場合下的
應(yīng)用。
XILINX模塊基于定點(diǎn)數(shù)運(yùn)行,使用任意精度的算法類型。在XILINXBasicElement庫中可找到Gateway模塊,用來作為XILINX模塊和非XILINX模塊的接口,使XILINX模塊可以自由地用在Simulink的模型中。當(dāng)然只有SystemGenerator庫中的XILINX模塊才可以被SystemGenerator轉(zhuǎn)換成相應(yīng)的硬件。
4.3XILINXBlockset庫
XILINXBlockset庫包括了所有用在Simulink中構(gòu)建數(shù)字信號處理系統(tǒng)和其他FPGA數(shù)字系統(tǒng)的模塊,按照各個模塊的具體功能將XILINXBlockset劃分成多個子庫,部分具有廣泛適用性的模塊出現(xiàn)在多個子庫中,比如GatewayOut模塊在BasicElements和DataTypes兩個子庫中都可以找到。XILINXBlockset庫一共劃分成如表4.3.1所示的10個子庫。下面介紹模塊參數(shù)配置中的公共項(xiàng)。
1.Precision
XILINXBlockset庫中的模塊在仿真計(jì)算時按任意精度定點(diǎn)數(shù)進(jìn)行,大部分模塊的計(jì)算精度可由開發(fā)人員定義,包括位數(shù)(NumberofBits)和小數(shù)位(BinaryPoint),如圖4.3.1所示。圖4.3.1Precision項(xiàng)參數(shù)設(shè)置
2.ArithmeticType
在模塊的參數(shù)對話框中可以定義無符號位或帶符號位(二進(jìn)制補(bǔ)碼)數(shù)作為模塊的輸出信號的數(shù)據(jù)類型,如圖4.3.2所示。
3.Numberofbits
定點(diǎn)數(shù)以何種數(shù)據(jù)格式進(jìn)行存儲由其位數(shù)、小數(shù)位和運(yùn)算類型決定,SystemGenerator支持的最大位數(shù)為4096,如圖4.3.2所示。圖4.3.2數(shù)據(jù)Type項(xiàng)參數(shù)設(shè)置
4.Binarypoint
小數(shù)位決定了一個定點(diǎn)二進(jìn)制數(shù)的所有位數(shù)中有多少位是小數(shù),小數(shù)位的數(shù)值必須介于0和位數(shù)之間,如圖4.3.2所示。
5.Overflow&Quantization
一旦開發(fā)人員定義了數(shù)據(jù)的精度,就會產(chǎn)生由溢出和量化帶來的誤差。當(dāng)一數(shù)值超過了開發(fā)人員定義的數(shù)據(jù)所能表示的范圍,就產(chǎn)生了溢出誤差;當(dāng)開發(fā)人員定義的數(shù)據(jù)的小數(shù)部分無法完全表示實(shí)際輸入的小數(shù)數(shù)值時,就出現(xiàn)量化誤差。
對于開發(fā)人員定義的任意精度數(shù)據(jù),SystemGenerator都針對溢出和量化誤差提供了多種處理方式。當(dāng)發(fā)生溢出時,開發(fā)人員有三種處理方式,當(dāng)選擇Saturate模式時,將數(shù)據(jù)飽和在正的最大值或負(fù)的最小值;當(dāng)選擇Wrap模式時,作繞回處理,即最大值加1結(jié)果是最小值,最小值減1得到最大值;當(dāng)選擇Flagaserror模式時,將數(shù)據(jù)溢出標(biāo)記到Simulink的錯誤報(bào)告中。
當(dāng)出現(xiàn)量化誤差時,開發(fā)人員有兩種處理方式,當(dāng)選擇Round模式時,將數(shù)據(jù)四舍五入到最接近的開發(fā)人員定義精度可表示的數(shù)值上;當(dāng)選擇Truncate模式時,直接將開發(fā)人員定義精度無法表示部分?jǐn)?shù)值丟棄。圖4.3.3表示處理溢出和量化的選項(xiàng)。圖4.3.3Overflow&Quantization項(xiàng)參數(shù)設(shè)置在使用SystemGenerator進(jìn)行系統(tǒng)開發(fā)時需要注意整個數(shù)據(jù)流上各個模塊的溢出和量化的處理方式,這不但影響到在Simulink中的仿真結(jié)果,在生成硬件描述語言代碼時,同樣按照各個模塊的具體設(shè)置來進(jìn)行,影響到最終設(shè)計(jì)的性能?,F(xiàn)用兩個實(shí)驗(yàn)對上述參數(shù)配置項(xiàng)進(jìn)行說明。例1數(shù)據(jù)飽和實(shí)驗(yàn)
本例以兩數(shù)相加為例,用以說明SystemGenerator中的相關(guān)模塊在處理數(shù)據(jù)飽和時的特性。實(shí)驗(yàn)步驟如下:
1)建立模型
打開C:\SG\exercise\WrapandSaturate\add_overflow.mdl模型,如圖4.3.4所示。圖4.3.4數(shù)據(jù)飽和實(shí)驗(yàn)仿真結(jié)構(gòu)圖
AddSub和AddSub1模塊的輸出都設(shè)定為四位帶符號二進(jìn)制整數(shù),AddSub2模塊的輸出設(shè)定為五位帶符號二進(jìn)制整數(shù)。
AddSub的Overflow項(xiàng)設(shè)定為Wrap;AddSub1的Overflow項(xiàng)設(shè)定為Saturate;AddSub2的Overflow項(xiàng)設(shè)定為Flagaserror。
2)仿真
單擊StartSimulink開始仿真,Display、Display1、Display2分別顯示-7、7、9。
3)分析
實(shí)驗(yàn)的分析如表4.3.2所示。
例2采樣量化實(shí)驗(yàn)
本例通過設(shè)定GatewayIn模塊的相關(guān)參數(shù),以體現(xiàn)不同的采樣量化設(shè)置對采樣結(jié)果的影響。實(shí)驗(yàn)步驟如下:
1)建立模型
用SimulinkLibraryBrowser的Simulink→Sources庫中的SineWave模塊替換design_flow設(shè)計(jì)的Constant模塊并另存到C:\SG\exercise\Wrap_and_Saturate\Wrap_and_Saturate.mdl,如圖4.3.5所示。圖4.3.5采樣量化實(shí)驗(yàn)仿真結(jié)構(gòu)圖
2)修改參數(shù)
雙擊SystemGenerator模塊,彈出模塊參數(shù)對話框,如圖4.3.6所示,將參數(shù)項(xiàng)Simulinksystemperiod(sec)的設(shè)定值改為0.01,則此時設(shè)計(jì)在Simulink中的仿真采樣時間為0.01s。圖4.3.6SystemGenerator模塊參數(shù)配置雙擊SineWave模塊,彈出模塊參數(shù)對話框,如圖4.3.7所示,將參數(shù)設(shè)定項(xiàng)Amplitude的設(shè)定參數(shù)改為“140”,將參數(shù)設(shè)定項(xiàng)Frequency(rad/sec)的設(shè)定參數(shù)改為“2*pi”,將參數(shù)設(shè)定項(xiàng)Sampletime的設(shè)定參數(shù)改為“0.01”,則此時SineWave模塊的輸出幅值為140,頻率為1Hz,采樣時間為0.01s的正弦波。
注意:pi=π。圖4.3.7SineWave模塊參數(shù)配置雙擊GatewayIn模塊,將Binarypoint改為8;Sampleperiod改為0.01。該模塊的溢出模式為Saturate,當(dāng)發(fā)生數(shù)據(jù)溢出時,輸出保持輸入數(shù)據(jù)的正最大值或負(fù)最大值,如圖4.3.8所示。圖4.3.8GatewayIn模塊參數(shù)配置
3)?Saturate仿真
將仿真時間改為2s,如圖4.3.9所示。圖4.3.9設(shè)定仿真時間單擊StartSimulink開始仿真,雙擊Scope模塊查看仿真結(jié)果,單擊Autoscale按鈕便于觀看仿真結(jié)果,如圖4.3.10所示。圖4.3.10量化飽和仿真結(jié)果
4)?Wrap仿真
將GatewayIn模塊中的溢出模式改為Wrap。
單擊StartSimulink開始仿真,并得到如圖4.3.11所示的仿真結(jié)果。圖4.3.11量化溢出仿真結(jié)果
6.Latency
許多XILINXBlockset庫中的模塊都具有延遲選項(xiàng),定義該模塊的輸出信號延遲多少個采樣周期后輸出。SystemGenerator中沒有專門的模塊或結(jié)構(gòu)用于實(shí)現(xiàn)流水線,給模塊的輸出添加延遲可以理解為在其輸出端上存在有移位寄存器,用以調(diào)節(jié)模塊的處理時間,使得不同的模塊具有相同的處理時間,實(shí)現(xiàn)流水線,提高系統(tǒng)處理速度,如圖4.3.12所示。圖4.3.12Latency項(xiàng)參數(shù)設(shè)置
7.Overridewithdoubles
大多數(shù)的Simulink模塊使用雙精度浮點(diǎn)數(shù)進(jìn)行運(yùn)算并輸出,當(dāng)一個雙精度浮點(diǎn)數(shù)信號經(jīng)過SystemGenerator的GatewayIn模塊時轉(zhuǎn)換成定點(diǎn)數(shù)信號,再經(jīng)過SystemGenerator的GatewayIn模塊時又轉(zhuǎn)回雙精度浮點(diǎn)數(shù)信號。在Simulink環(huán)境下,雙精度替換選項(xiàng)允許開發(fā)人員對整個設(shè)計(jì)進(jìn)行基于雙精度浮點(diǎn)數(shù)的仿真,便于調(diào)試及確定定點(diǎn)數(shù)位寬。如果在調(diào)試過程出現(xiàn)量化誤差,可以設(shè)定整個設(shè)計(jì)或部分特定模塊按雙精度浮點(diǎn)數(shù)進(jìn)行仿真,從而確定設(shè)計(jì)中出現(xiàn)量化誤差的模塊,如圖4.3.13所示。
但版本號為8.1和8.2的SystemGenerator并不支持這項(xiàng)功能。圖4.3.13Overridewithdoubles項(xiàng)參數(shù)設(shè)置
8.Providesynchronousresetport
選中該選項(xiàng),SystemGenerator自動激活模塊的復(fù)位端(rst)。當(dāng)復(fù)位信號有效時,模塊立即恢復(fù)到初始狀態(tài),復(fù)位信號必須為布爾量(Boolean)信號,如圖4.3.14所示。
9.Provideenableport
選中該選項(xiàng),SystemGenerator自動激活模塊的使能端(en)。當(dāng)使能信號無效時,模塊保持當(dāng)前狀態(tài),直到使能信號或復(fù)位信號有效時模塊開始動作。復(fù)位信號的優(yōu)先級高于使能信號,同樣,使能信號也必須為布爾量(Boolean)信號,如圖4.3.14所示。圖4.3.14ProvideSynchronousResetPort項(xiàng)參數(shù)設(shè)置
10.Sampleperiod
SystemGenerator根據(jù)特定的采樣率對數(shù)據(jù)流進(jìn)行處理,通常每個模塊按照采樣率對輸入信號進(jìn)行采樣并按照采樣率輸出信號,唯有UpSample和DownSample兩個模塊例外,分別用于實(shí)現(xiàn)提高、降低采樣率,如圖4.3.15所示。圖4.3.15Sampleperiod項(xiàng)參數(shù)設(shè)置
11.Specifyexplicitsampleperiod
如果選中該選項(xiàng),開發(fā)人員可以按設(shè)計(jì)需要指定采樣周期。該選項(xiàng)經(jīng)常用于構(gòu)成反饋回路的設(shè)計(jì)中,在反饋回路中,SystemGenerator不能確定默認(rèn)的采樣率,因?yàn)榛芈返拇嬖谑沟帽容^器的輸入信號的采樣率依據(jù)于尚未確定的反饋信號的采樣率。在這種情況下,SystemGenerator需要開發(fā)人員指定采樣周期,如圖4.3.16所示。圖4.3.16Specifyexplicitsampleperiod項(xiàng)參數(shù)設(shè)置
12.UsebehavioralHDL(otherwiseusecore)
如果選中該選項(xiàng),由MCode(MATLAB的M文件所用代碼)仿真來生成行為級硬件描述語言,否則由IP核構(gòu)成硬件描述語言,如圖4.3.17所示。圖4.3.17UsebehavioralHDL項(xiàng)參數(shù)設(shè)置
13.Usepre-definedcoreplacementinformation
如果選中該選項(xiàng),生成的IP核包括相關(guān)的布局信息,通常使得最終得到的硬件具有較高的處理速度。也正因?yàn)镮P核的布局會受到相應(yīng)的約束,將影響到后續(xù)布局布線階段的處理結(jié)果,如圖4.3.18所示。圖4.3.18Usepre-definedcoreplacementinformation項(xiàng)參數(shù)設(shè)置
14.Placementstyle
當(dāng)IP核布局信息選項(xiàng)被選中后,開發(fā)人員才可以設(shè)定布局風(fēng)格選項(xiàng)。該選項(xiàng)用于直接設(shè)定乘法器核在硬件上的布局,如圖4.3.18所示。
選中矩形(Rectangularshape)選項(xiàng),F(xiàn)PGA上相關(guān)查找表(LUTs)分布比較松散;選中三角(Triangularpacking)選項(xiàng),F(xiàn)PGA上相關(guān)查找表(LUTs)分布比較緊湊。
15.DefineFPGAareaforresourceestimation/FPGAarea(slices,FFs,BRAMs,LUTs,IOBs,emb.mults,TBUFs)
ResourceEstimator模塊需要調(diào)用這部分信息,用于估算ResourceEstimator模塊所在的SystemGenerator設(shè)計(jì)模型需要多少FPGA硬件資源,如圖4.3.19所示。圖4.3.19FPGAAreaEstimation項(xiàng)參數(shù)設(shè)置如果在SystemGenerator設(shè)計(jì)中包含有ResourceEstimator模塊,開發(fā)人員可以手動定義任意功能模塊的FPGA資源使用量。如果沒有輸入任何參數(shù),ResourceEstimator模塊會自動計(jì)算相關(guān)數(shù)據(jù)并給出所需資源總量。
如果開發(fā)人員希望自行定義設(shè)計(jì)中的每一功能模塊的FPGA資源使用量,就必須選中DefineFPGAareaforresourceestimation選項(xiàng),ResourceEstimator模塊才會在處理時嚴(yán)格按照開發(fā)人員設(shè)定的參數(shù)進(jìn)行計(jì)算;否則ResourceEstimator模塊的計(jì)算結(jié)果會覆蓋開發(fā)人員設(shè)定的任意參數(shù)。一共有七個參數(shù)需要輸入FPGAarea欄,在填寫時需要注意其先后順序。七個參數(shù)依次表示本模塊slices、觸發(fā)器(FFs)、塊狀RAM(BRAMs)、查找表(LUTs)、IO模塊(IOBs)、嵌入式乘法器(emb.mults)、三態(tài)緩存器(TBUFs)的使用量。
ResourceEstimator模塊進(jìn)行處理時僅考慮需要占用硬件資源的模塊,略過不占用硬件資源的模塊,如ClockEnableProbe模塊等。雖然Slice和LUT、FF是有關(guān)聯(lián)的(每個Slice中包含有兩個LUT和兩個FF),但在計(jì)算使用資源量時需要分別計(jì)算,因?yàn)樵谝粋€Slice中,不一定同時用到LUT和FF,并且不同的設(shè)計(jì)會有不同的結(jié)果。
部分XILINX模塊不支持自動資源估計(jì),F(xiàn)PGAarea欄中的數(shù)據(jù)不能自動生成,如果開發(fā)人員沒有給定這些數(shù)據(jù),MATLAB會給出一條警告信息。
16.Pipelineformaximumperformance
在使用IP核構(gòu)成設(shè)計(jì)模塊時可在其內(nèi)部構(gòu)成流水線結(jié)構(gòu)以提高處理速度,選中該選項(xiàng)SystemGenerator可以最大限度利用模塊的延遲時間構(gòu)成流水線結(jié)構(gòu),如圖4.3.20所示。圖4.3.20Pipelineformaximumperformance項(xiàng)參數(shù)設(shè)置
4.4XILINXBlockset庫
1.SystemGenerator
該模塊列于BasicElements、Tools和Index三個子庫中。
SystemGenerator模塊給定整個系統(tǒng)控制和仿真的參數(shù),并用于工程的生成。一個Simulink模型如果包含有XILINXBlockset庫中的任意模塊,都必須至少包含一個SystemGenerator模塊。通過設(shè)定SystemGenerator模塊決定怎樣進(jìn)行工程的生成和仿真。模塊參數(shù)對話框如圖4.4.1所示。圖4.4.1SystemGenerator模塊可配置參數(shù)對話框模塊參數(shù)說明:
Compilation:設(shè)定編譯類型,直接影響到代碼生成器的生成結(jié)果。
Part:選擇所使用的FPGA芯片。
Targetdirectory:設(shè)定相關(guān)文件的導(dǎo)出路徑,當(dāng)輸入為“./netlist”時表示導(dǎo)出路徑為當(dāng)前MATLAB工作路徑下的netlist文件夾。
Synthesistool:設(shè)定設(shè)計(jì)使用的綜合工具??蛇xSynplicity公司的SynplifyPro、Synplify以及XILINX公司的XST。
Hardwaredescriptionlanguage:設(shè)定設(shè)計(jì)編譯時使用的硬件描述語言??蛇xVHDL或Verilog。
FPGAclockperiod:以納秒(ns)為單位設(shè)定硬件時鐘周期。
Clockpinlocation:定義硬件時鐘的管腳位置。該信息同樣由約束文件傳給XILINX執(zhí)行工具。
Createtestbench:要求SystemGenerator創(chuàng)建硬件描述語言testbench測試文件。
Importasconfigurablesubsystem:當(dāng)SystemGenerator模塊位于子系統(tǒng)時需要開發(fā)人員設(shè)定,要求SystemGenerator完成兩件事:一為構(gòu)造一個實(shí)現(xiàn)該子系統(tǒng)功能的模塊;二為構(gòu)造一個實(shí)現(xiàn)該子系統(tǒng)功能的子模塊,可嵌入到不同設(shè)計(jì)中。
Provideclockenableclearpin:要求SystemGenerator在生成的設(shè)計(jì)的頂層模塊上增加一個ce_clr端口。ce_clr信號可復(fù)位系統(tǒng)時鐘,使得該設(shè)計(jì)可以進(jìn)行動態(tài)控制,僅在需要的時刻動作。
Overridewithdoubles:設(shè)定Simulink為雙精度仿真。
Simulinksystemperiod:以秒為單位定義Simulink仿真系統(tǒng)周期。
Blockicondisplay:定義Simulink中各個SystemGenerator的模塊圖的顯示風(fēng)格。共有如下六種顯示風(fēng)格:圖4.4.2Default模式仿真結(jié)構(gòu)圖
Samplerates:圖標(biāo)顯示輸入/輸出端口上歸一化采樣周期,如圖4.4.3所示。圖4.4.3Samplerates模式仿真結(jié)構(gòu)圖
Pipelinestages:圖標(biāo)顯示從輸入端口到輸出端口的延遲,便于設(shè)計(jì)實(shí)現(xiàn)流水線結(jié)構(gòu),如圖4.4.4所示。圖4.4.4Pipelinestage模式仿真結(jié)構(gòu)圖
HDLportnames:圖標(biāo)顯示輸入/輸出端口名,如圖4.4.5所示。圖4.4.5HDLportnames模式仿真結(jié)構(gòu)圖
Inputdatatypes:圖標(biāo)顯示輸入端的數(shù)據(jù)格式,如圖4.4.6所示。圖4.4.6Inputdatatypes模式仿真結(jié)構(gòu)圖
Outputdatatypes:圖標(biāo)顯示輸出端的數(shù)據(jù)格式,如圖4.4.7所示。圖4.4.7Outputdatatypes模式仿真結(jié)構(gòu)圖
2.Accumulator
該模塊列于Math和Index兩個子庫中。
Accumulator模塊用于實(shí)現(xiàn)依據(jù)縮放因數(shù)的累計(jì)加法器或累計(jì)減法器。模塊的當(dāng)前輸入數(shù)據(jù)與乘上了反饋縮放因數(shù)的模塊內(nèi)存儲數(shù)據(jù)相加減,反饋縮放因數(shù)是模塊參數(shù)。模塊的延遲(latency)始終為1個時鐘周期。模塊有兩個輸入b和rst,一個輸出q,其中輸出q端與輸入b端的數(shù)據(jù)格式相同,其數(shù)值如下所示:圖4.4.8Accumulator模塊參數(shù)對話框模塊參數(shù)說明:
Operation:確定Accumulator模塊實(shí)現(xiàn)累計(jì)加法器或累計(jì)減法器。
Feedbackscaling:指定反饋縮放因數(shù)。
Reinitializewithinput?'b'onreset:當(dāng)選中該選項(xiàng)且復(fù)位信號有效時,輸出q端復(fù)位到輸入b端數(shù)值,否則復(fù)位到0。
3.AddressableShiftRegister
該模塊列于BasicElements、Memory和Index三個子庫中。
AddressableShiftRegister模塊是一個長度可變的移位寄存器,其中的任意一個寄存器中的數(shù)據(jù)都可由其對應(yīng)地址讀到。
AddressableShiftRegister模塊可以簡單地認(rèn)為是一串寄存器,每一個寄存器的輸出都接到一個多路選擇器上,多路選擇器即對應(yīng)模塊的地址(addr)輸入端,多路選擇器的輸出則對應(yīng)模塊的輸出q端,如圖4.4.9所示。圖4.4.9AddressableShiftRegister模塊功能原理圖
AddressableShiftRegister模塊支持最大寄存器數(shù)為1024個,最小為2個,因此地址輸入(addr)端口位寬介于1和10之間(包括1和10),數(shù)據(jù)輸入(d)端的位寬必須介于1和255之間(包括1和255)。AddressableShiftRegister模塊提供可選的使能(en)端口,如圖4.4.9所示,使能信號只與寄存器有關(guān),因此當(dāng)?shù)刂沸盘柛淖儠r數(shù)據(jù)輸出信號也隨即改變,與使能信號無關(guān)。在硬件實(shí)現(xiàn)上,數(shù)據(jù)輸出端口與地址輸入端口為異步邏輯關(guān)聯(lián),在仿真時地址輸入端口的優(yōu)先級高于數(shù)據(jù)輸入端口。
AddressableShiftRegister模塊參數(shù)對話框如圖4.4.10所示。圖4.4.10AddressableShiftRegister模塊參數(shù)對話框模塊參數(shù)說明:
Infermaximumlatency(depth)usingaddressportwidth:根據(jù)地址輸入端口位寬自動決定移位寄存器的最大延遲。
Maximumlatency(depth):設(shè)定移位寄存器深度,即寄存器個數(shù)。
Initialvaluevector:設(shè)定寄存器初始值。當(dāng)初始向量大于寄存器個數(shù)時,丟棄向量中后半部分的多余數(shù)據(jù);當(dāng)寄存器個數(shù)大于初始向量時,添零補(bǔ)足。
4.AddSub
該模塊列于Math和Index兩個子庫中。
AddSub模塊用于實(shí)現(xiàn)加法或減法運(yùn)算。模塊的功能運(yùn)算可以是固定的,也可以由模式選擇信號動態(tài)配置模塊功能。圖4.4.11AddSub模塊參數(shù)對話框模塊參數(shù)說明:
Operation:設(shè)定AddSub模塊的功能為Addition、Subtraction或Addition/Subtraction。當(dāng)選中Addition/Subtraction時模塊的功能由sub輸入信號端決定,其數(shù)據(jù)格式必須為布爾量(Boolean)。當(dāng)sub信號為1時模塊進(jìn)行減法運(yùn)算,否則進(jìn)行加法運(yùn)算。
Providecarry-inport:AddSub模塊增加進(jìn)位輸入(cin)端,其數(shù)據(jù)格式要求為布爾量(Boolean)或無符號定點(diǎn)數(shù)(Unsigned),只有當(dāng)用戶自定義精度(userdefinedprecision)項(xiàng)選中時有效,并且要求模塊的數(shù)據(jù)輸入端口a和b的二進(jìn)制小數(shù)位(binarypoint)為零,亦即此時AddSub模塊僅能處理整數(shù)運(yùn)算。
Providecarry-outport:AddSub模塊增加進(jìn)位輸出(cout)端,其數(shù)據(jù)格式為一位二進(jìn)制無符號數(shù),并要求數(shù)據(jù)輸出端(a+b)的整數(shù)位寬等于a、b兩個數(shù)據(jù)輸入端整數(shù)位寬中的較大者。
5.Assert
該模塊列于Index子庫中。
Assert模塊用于分別或同時聲明模型中的某個信號。該模塊在硬件實(shí)現(xiàn)時不占用任何資源。
Assert模塊參數(shù)對話框如圖4.4.12所示。圖4.4.12Assert模塊參數(shù)對話框模塊參數(shù)說明:
Asserttype:確定是否聲明信號上的數(shù)據(jù)類型。
Specifytype:確定聲明類型,由開發(fā)人員自行定義或按Assert模塊的輸入信號(type)的數(shù)據(jù)類型聲明。
Assertrate:確定是否聲明信號上的采樣速率。
Specifyrate:確定聲明類型,由開發(fā)人員自行定義或按Assert模塊的輸入信號(rate)的采樣速率聲明。
Provideoutputport:確定Assert模塊是否需要輸出,其輸出信號即為聲明后的信號。
Assert模塊通常用于Simulink無法確定信號的數(shù)據(jù)類型和采樣速率時人為地幫助Simulink進(jìn)行確認(rèn)并仿真。該模塊較多出現(xiàn)在模型中存在反饋時,如圖4.4.13所示,AddressableShiftRegister模塊的數(shù)據(jù)輸入端為模型的輸出端,模型的輸出端又需要由AddressableShiftRegister模塊的數(shù)據(jù)輸出端來確定,Simulink無法確定模型內(nèi)部信號的數(shù)據(jù)類型,認(rèn)為其為非法(illegal)信號。圖4.4.13未加Assert模塊的仿真結(jié)構(gòu)圖圖4.4.14加Assert模塊的仿真結(jié)構(gòu)圖
6.BitBasher
該模塊列于BasicElements、DataType和Index三個子庫中。
BitBasher模塊對輸入信號按位進(jìn)行提取、并置、擴(kuò)充等操作后輸出,開發(fā)人員可按Verilog代碼語法規(guī)則編寫符合設(shè)計(jì)要求的表達(dá)式。一個BitBasher模塊提供最多四個輸出和與之一一對應(yīng)的表達(dá)式。模塊不占用任何硬件資源。
BitBasher模塊參數(shù)對話框如圖4.4.15和圖4.4.16所示。圖4.4.15BitBasher模塊Basic欄參數(shù)對話框圖4.4.16BitBasher模塊OutputType欄參數(shù)對話框模塊參數(shù)說明:
BitBasherExpression:按Verilog代碼語法規(guī)則編寫符合設(shè)計(jì)要求的輸出表達(dá)式。
Output:輸出端口編序。
Binarypoint:對應(yīng)輸出端信號的二進(jìn)制小數(shù)位。
7.BlackBox
該模塊列于BasicElements、ControlLogic和Index三個子庫中。
通過BlackBox模塊可以將VHDL或Verilog代碼轉(zhuǎn)換成MATLAB的m文件,并在Simulink中進(jìn)行仿真。生成的新模塊與硬件描述語言設(shè)計(jì)的模塊具有相同的輸入/輸出端口和功能。圖4.4.17BlackBox模塊參數(shù)對話框模塊參數(shù)說明:
Blockconfigurationm-function:指定與BlackBox模塊對應(yīng)的m文件。
Simulationmode:有Inactive、ISESimulation和Externalco-simulator三項(xiàng)可選。選擇Inactive時,Simulink進(jìn)行仿真時忽略該模塊,將其輸出都置零;選擇ISESimulation時,使用ISE的仿真工具進(jìn)行仿真;選擇Externalco-simulator時,使用第三方仿真軟件進(jìn)行仿真,如ModelSim等。
BlackBox模塊的使用參見本書第5章的例1。
8.ChipScope
該模塊列于Tools和Index兩個子庫中。
ChipScope模塊可在設(shè)計(jì)模型中插入ChipScope模塊。將包含有ChipScope模塊的設(shè)計(jì)模型下載到FPGA后通過JTAG口可以進(jìn)行實(shí)時硬件板級測試。圖4.4.18ChipScope模塊參數(shù)對話框模塊參數(shù)說明:
Numberoftriggerports:設(shè)置觸發(fā)端(triggerports)口數(shù),最大支持16個觸發(fā)端。
Displaysettingsfortriggerport:設(shè)置觸發(fā)端口顯示,如果設(shè)置有N個觸發(fā)端,則該項(xiàng)有0至N-1可選。
Numberofmatchunits:設(shè)置匹配單元數(shù),引入匹配單元可以將多個信號的組合作為信號捕獲觸發(fā)條件,增大信號檢測的靈活性。
Matchtype:該選項(xiàng)包括如下可選項(xiàng)。
Basic:實(shí)現(xiàn)=、<>比較操作。
BasicWithEdges:相對于Basic增加信號的延捕獲。
Extended:實(shí)現(xiàn)=、<>、>、<、<=、>=比較操作。
ExtendedWithEdges:相對于Extended增加信號的延捕獲。
Range:實(shí)現(xiàn)=、<>、>、<、<=、>=、
、
比較操作。
RangeWithEdges:相對于Range增加信號的延捕獲。
Usetriggerportsasdata:設(shè)置是否直接將觸發(fā)信號作為需要捕獲的信號。
Numberofdataports:設(shè)置捕獲信號端口數(shù)。
Depthofcapturebuffer:設(shè)置捕獲深度,支持2~16384的深度捕獲。
UseSRL16s(whenpossible):設(shè)置是否使用FPGA上嵌入的16位硬件移位寄存器。有關(guān)ChipScope模塊的使用可參見第5章例4。
小技巧:相對于ChipScopePro軟件,ChipScope模塊功能有明顯差距,在使用時可以僅用ChipScope設(shè)置觸發(fā)信號和捕獲信號,更多且更為復(fù)雜的捕獲條件可以由SystemGenerator生成工程后使用ChipScopePro作進(jìn)一步的設(shè)置。
9.ClockEnableProbe
該模塊列于BasicElement和Index兩個子庫中。
ClockEnableProbe模塊的輸入為Simulink模型中的任意信號,輸出是與該信號的采樣率同頻率的脈沖布爾量(Boolean)信號,一般用于多采樣率系統(tǒng)。
ClockEnableProbe模塊參數(shù)對話框如圖4.4.19所示。圖4.4.19ClockEnableProbe模塊參數(shù)對話框
10.ClockProbe
該模塊列于Tool和Index兩個子庫中。
ClockProbe模塊生成一個50%占空比的方波信號,其周期與系統(tǒng)時鐘周期相同。在SystemGenerator生成代碼時該模塊被忽略。圖4.4.20ClockProbe模塊參數(shù)對話框
11.CMult
該模塊列于Math和Index兩個子庫中。
CMult模塊可以理解為一個增益環(huán)節(jié),模塊將其輸入數(shù)據(jù)乘以一個常值作為模塊的輸出,這個常值可以是一個MATLAB的表達(dá)式,也可以是一個常數(shù)。
CMult模塊參數(shù)對話框如圖4.4.21所示。其中Value可用來設(shè)定模塊的增益數(shù)值。圖4.4.21CMult模塊參數(shù)對話框
12.Concat
該模塊列于BasicElement、DataType和Index三個子庫中。
Concat模塊將多個輸入端數(shù)據(jù)按位串聯(lián)后作為一個輸出端數(shù)據(jù),并要求其數(shù)據(jù)為無符號二進(jìn)制整數(shù)。
Concat模塊可以有2~1024個輸入端,但僅有一個輸出端,第一個和最后一個輸入端口分別標(biāo)記為hi和lo,其他輸入端沒有標(biāo)記。它們依次串聯(lián)構(gòu)成一個數(shù)據(jù)后輸出,hi輸入端口數(shù)據(jù)為輸出數(shù)據(jù)的最高部分位,lo則為最低部分位。
Concat模塊參數(shù)對話框如圖4.4.22所示。其中Numberofinputs可用來設(shè)定輸入個數(shù)。圖4.4.22Concat模塊參數(shù)對話框
13.ConfigurableSubsystemManager
該模塊列于Tools和Index兩個子庫中。
ConfigurableSubsystemManager模塊擴(kuò)展了用Simulink處理可配置子系統(tǒng)的能力,可在仿真及生成相關(guān)ISE工程文件時配置子系統(tǒng)功能。也可用于生成Simulink庫中的模塊,其功能由用戶基于現(xiàn)有XILINX模塊設(shè)計(jì)得到。
ConfigurableSubsystemManager模塊參數(shù)對話框如圖4.4.23所示。其中Whengenerating,use可用于指定哪個子系統(tǒng)需構(gòu)成可配置子系統(tǒng)。圖4.4.23ConfigurableSubsystemManager模塊參數(shù)對話框
14.Constant
該模塊列于BasicElements、Control、Math和Index四個子庫中。
Constant模塊用于給出一個常量,常量可以是一個定點(diǎn)數(shù)、布爾量或一條DSP48(參見DSP48模塊的介紹)指令。該模塊類似于Simulink中的常數(shù)模塊,可直接連接到其他XILINX模塊的輸入端。
Constant模塊參數(shù)對話框如圖4.4.24和圖4.4.25所示。圖4.4.24Constant模塊Basic欄參數(shù)對話框圖4.4.25Constant模塊DSP48欄參數(shù)對話框模塊參數(shù)說明:
Type:用于選定輸出數(shù)據(jù)的類型,有Boolean、Signed(2’scomp)、Unsigned和DSP48instruction可選。
DSP48Instruction:可對具體的DSP48指令進(jìn)行設(shè)置,用于完成在數(shù)字信號處理中經(jīng)常用到的乘加運(yùn)算。
Operationselect:有多條已定制完成的指令可供選擇。如果不能滿足設(shè)計(jì)要求,可選擇Custom項(xiàng),并在CustomInstruction欄中設(shè)定指令功能,如圖4.4.26所示。圖4.4.26Operationselect項(xiàng)可選參數(shù)
15.Convert
該模塊列于BasicElements、DataTypes、Math和Index四個子庫中。
Convert模塊用于將其輸入信號按照設(shè)計(jì)要求轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)格式。比如將一個布爾量轉(zhuǎn)換成8位二進(jìn)制定點(diǎn)數(shù)。
Convert模塊參數(shù)對話框如圖4.4.27和圖4.4.28所示。其中,Pipelineformaximumperformance用于設(shè)定是否在數(shù)據(jù)飽和處理、量化處理和輸出前增加寄存器,以實(shí)現(xiàn)流水線,從而提高數(shù)據(jù)處理速度和性能。圖4.4.27Convert模塊Basic欄參數(shù)對話框圖4.4.28Convert模塊Implementation欄參數(shù)對話框
16.ConvolutionalEncoder
該模塊列于Communication和Index兩個子庫中。
ConvolutionalEncoder模塊用于進(jìn)行卷積編碼,通常位于兩個Viterbi解碼器之間,用于實(shí)現(xiàn)數(shù)字通信系統(tǒng)中的前向糾錯(ForwardErrorCorrection,F(xiàn)EC)功能。模塊共有2~4個輸入端和3~8個輸出端。其中,din輸入端要求其數(shù)據(jù)格式為一位二進(jìn)制無符號數(shù)(UFix1_0),用于接受需要進(jìn)行卷積編碼的數(shù)據(jù);vin端要求輸入信號為布爾量,用于指明此時din端上的數(shù)據(jù)為有效數(shù)據(jù),只有當(dāng)數(shù)據(jù)有效時才開始進(jìn)行卷積編碼;dout0~dout6輸出經(jīng)卷積編碼后的數(shù)據(jù),分別對應(yīng)第一個至第七個;vout表示此時的輸出數(shù)據(jù)有效。
ConvolutionalEncoder模塊參數(shù)對話框如圖4.4.29所示。圖4.4.29ConvolutionalEncoder模塊參數(shù)對話框模塊參數(shù)說明:
Constraintlength:確定編碼器中移位寄存器的長度。
Convolutioncodearray(octal):十進(jìn)制卷積編碼向量。
17.Counter
該模塊列于BasicElements、ControlLogic、Math和Index四個子庫中。
Counter模塊可實(shí)現(xiàn)加計(jì)數(shù)或減計(jì)數(shù)器的功能,輸出數(shù)據(jù)可以為帶符號數(shù)或無符號數(shù)。
Counter模塊參數(shù)對話框如圖4.4.30所示。圖4.4.30Counter模塊參數(shù)對話框模塊參數(shù)說明:
Countertype:設(shè)定計(jì)數(shù)器的類型為FreeRunning或CountLimited。
Counttovalue:如果選擇CountLimited型的計(jì)數(shù)器,可通過本項(xiàng)設(shè)定計(jì)數(shù)范圍。
Countdirection:設(shè)定計(jì)數(shù)器為加計(jì)數(shù)、減計(jì)數(shù)或由控制端控制加減計(jì)數(shù)。
Initialvalue:設(shè)定計(jì)數(shù)器的初始輸出值。
Step:設(shè)定單步增減量。
Provideloadport:選擇該選項(xiàng)后模塊增加load和din輸入管腳,當(dāng)din腳信號有效時,load端的數(shù)據(jù)將直接在out腳上輸出。
18.DAFIR
該模塊列于DSP和Index兩個子庫中。
DAFIR(DistributedArithmeticFinite-ImpulseResponse)模塊用于實(shí)現(xiàn)一個FIR數(shù)字濾波器,或者一個多通道的FIR濾波器,并可設(shè)定FIR濾波器的拍數(shù)及其參數(shù)。該模塊可配置有1~8個輸入/輸出端口,模塊中參數(shù)的設(shè)置對模塊端口的影響極大。如果選擇串行輸入數(shù)據(jù)模塊,模塊有2個輸入端口和5個輸出端口,如圖4.4.31所示。圖4.4.31雙通道DAFIR模塊外觀圖圖4.4.31中,xn和yn端口分別為串行數(shù)據(jù)輸入/輸出端;vin和vout端口分別為串行數(shù)據(jù)輸入/輸出有效端,并要求為布爾量信號;rfd端口用于表示本模塊是否準(zhǔn)備接受新數(shù)據(jù),當(dāng)其有效時進(jìn)行數(shù)據(jù)輸入并開始相關(guān)計(jì)算,端口上的信號采樣率與輸入端xn上的采樣率相同;sel_in和sel_out端口分別表示濾波器當(dāng)前輸入/輸出通道數(shù)。
如果選擇可重配置參數(shù)功能,模塊有4個輸入端口和2個輸出端口,如圖4.4.32所示。可重配置參數(shù)功能可以依據(jù)設(shè)計(jì)需要通過串行輸入的方式改變?yōu)V波器的相關(guān)參數(shù)。圖4.4.32參數(shù)重載入DAFIR模塊外觀圖圖4.4.33DAFIR模塊參數(shù)重載入時序圖圖4.4.34DAFIR模塊Basic欄參數(shù)對話框圖4.4.35DAFIR模塊Advanced欄參數(shù)對話框模塊參數(shù)說明:
Coefficients:濾波器參數(shù)向量。
Structure:選擇濾波器的結(jié)構(gòu),從而決定了濾波器的拍數(shù)。有InferredfromCoefficients、None、Symmetric、NegativeSymmetric、Half-BandFilter或InterpolateFIR六項(xiàng)可選。
Numberofchannels:有1~8可選,用于配置實(shí)現(xiàn)多通道濾波器。
Polyphasebehavior:配置輸入/輸出采樣比。
19.Delay
該模塊列于BasicElements、Memory和Index三個子庫中。
Delay模塊構(gòu)成一個時延環(huán)節(jié),或者理解為一個移位寄存器,可以配置其延遲時鐘周期的整數(shù)倍。
Delay模塊參數(shù)對話框如圖4.3.36所示。其中,Latency用于設(shè)置延遲時鐘周期個數(shù)。圖4.4.36Delay模塊參數(shù)對話框
20.Depuncture
該模塊列于Communication和Index兩個子庫中。
Depuncture模塊可在輸入數(shù)據(jù)的特定位置插入要求的數(shù)據(jù),模塊的輸入/輸出數(shù)據(jù)要求均為無符號二進(jìn)制整數(shù)。
Depuncture模塊參數(shù)對話框如圖4.4.37所示。圖4.4.37Depuncture模塊參數(shù)對話框模塊參數(shù)說明:
Puncturecode:指定需要插入數(shù)據(jù)的數(shù)據(jù)段。
Symboltoinsert:需要插入的數(shù)據(jù)。
21.DDS
該模塊列于DSP和Index兩個子庫中。
DDS(DirectDigitalSynthesizer)模塊是直接數(shù)字合成器,通常也稱為數(shù)控振蕩器(NumericallyControlledOscillator,NCO)。模塊用一個查找表生成正弦余弦波,并由一個數(shù)字積分器,即累加器,生成正弦余弦波的相位,即對應(yīng)查找表的地址。
DDS模塊參數(shù)對話框如圖4.4.38所示。圖4.4.38DDS模塊參數(shù)對話框模塊參數(shù)說明:
Function:選擇輸出為正弦、余弦或同時輸出正弦和余弦。
Negativesine:對正弦輸出取反。
Negativecosine:對余弦輸出取反。
Channels:設(shè)定輸出通道數(shù),有1~16個可選。
OutputFrequencyType:選擇輸出頻率為常值或受控于輸入數(shù)值。當(dāng)選擇Programmalbe時,激活模塊的data和we兩個輸入端口,分別為輸入數(shù)據(jù)端和數(shù)據(jù)有效端。
Outputfrequencyarray(MHz):在OutputFrequencyType中設(shè)為Fixed時,通過本項(xiàng)設(shè)定每個輸出端口的頻率。
PhaseOffsetType:設(shè)定輸出波形相位偏置量,有無偏置量、固定偏置量和受控于輸入端口三者可選。
Phaseoffsetanglearray:設(shè)定每個輸出端口的相位偏置量,輸入的參數(shù)將自動乘上2π弧度。
Providechannelport:激活channel端,表示當(dāng)前輸出端。
22.DisregardSubsystemForGeneration
該模塊列于Tools和Index兩個子庫中。
DisregardSubsystemForGeneration模塊被放置在子系統(tǒng)中,在生成ISE工程文件時忽略模塊所在子系統(tǒng)。自6.2版SystemGenerator以后本模塊極少被用到,在將來的版本中可能會被取消。
23.DownSample
該模塊列于BasicElements和Index兩個子庫中。
DownSample模塊用于降低模塊所在處信號的采樣率,并可設(shè)定整數(shù)倍的降采樣率。圖4.4.39DownSample模塊參數(shù)對話框模塊參數(shù)說明:
Samplingrate(numberofinputsamplesperoutputsample):設(shè)定整數(shù)倍的降采樣率。
Sample:設(shè)定采樣時刻,是在一幀的起始或結(jié)束時刻。
24.DSP48
該模塊列于DSP和Index兩個子庫中。
DSP48模塊是針對XILINX的Virtex-4系列器件中的數(shù)字信號處理硬件專用模塊DSP48,用以完成數(shù)字信號處理系統(tǒng)中經(jīng)常出現(xiàn)的乘加運(yùn)算。DSP48模塊包括一個18×18的帶符號數(shù)乘法器、一個48位的加法器和加法器輸入端上的可編程的多路選擇器,模塊的運(yùn)算可動態(tài)調(diào)整。圖4.4.40DSP48模塊Basic欄參數(shù)對話框圖4.4.41DSP48模塊Pipeline欄參數(shù)對話框模塊參數(shù)說明:
BorBCINinput:選擇用于計(jì)算的數(shù)據(jù)b是從B端口上直接讀到或者從其他DSP48模塊的進(jìn)位端讀到。
Consolidatecontrolport:當(dāng)選中該項(xiàng)時將opmode、subtract、carry_in和carry_in_sel四個端口合并成一個端口op,該端口接收一個11位的數(shù)據(jù),其中第0~6位為opmode數(shù)據(jù)段;第7位為subtract數(shù)據(jù)段;第8位為carry_in數(shù)據(jù)段;第9和第10位為carry_in_sel數(shù)據(jù)段。
ProvideCport:當(dāng)該項(xiàng)選中時模塊增加C輸入端口,否則其值默認(rèn)為零。
ProvidePCINport:當(dāng)該選項(xiàng)選中時模塊增加PCIN輸入端口,用于接收其他DSP48模塊的PCOUT端口的輸出值。
ProvidePCOUTport:當(dāng)該選項(xiàng)選中時模塊增加PCOUT輸出端口,用于輸出數(shù)據(jù)c的進(jìn)位,于后續(xù)DSP48模塊的PCIN輸入端口相連。
ProvideBCOUTport:當(dāng)該選項(xiàng)選中時模塊增加BCOUT輸出端口。
Provideglobalresetport:當(dāng)該選項(xiàng)選中時模塊增加全局復(fù)位信號rst。
Provideglobalenableport:當(dāng)該選項(xiàng)選中時模塊增加全局使能信號en。
LengthofApipeline:設(shè)定A輸入端口上的移位寄存器的長度。
LengthofB/BCINpipeline:設(shè)定B或BCIN輸入端口上的移位寄存器的長度。
PipelineC:設(shè)定是否在C輸入端口上增加寄存器。
PipelineP:設(shè)定是否在P輸入端口上增加寄存器。
Pipelinemultiplier:設(shè)定是否在乘法器的輸出上增加寄存器。
Pipelineopmode:設(shè)定是否在opmode輸入端口上增加寄存器。
Pipelinesubtract:設(shè)定是否在subtract輸入端口上增加寄存器。
Pipelinecarryin:設(shè)定是否在carryin輸入端口上增加寄存器。
Pipelinecarryinsel:設(shè)定是否在carryinsel輸入端口上增加寄存器。
25.DSP48Macro
該模塊列于DSP和Index兩個子庫中。
DSP48Macro模塊可根據(jù)設(shè)計(jì)要求對DSP48模塊具體功能進(jìn)行動態(tài)配置,并簡化DSP48模塊的使用。圖4.4.42DSP48Macro模塊Basic欄參數(shù)對話框圖4.4.43DSP48Macro模塊Pipelining欄參數(shù)對話框模塊參數(shù)說明:
InputstoportA:設(shè)定對應(yīng)DSP48模塊中的數(shù)據(jù)a的輸入數(shù)據(jù)。
InputstoportB:設(shè)定對應(yīng)DSP48模塊中的數(shù)據(jù)b的輸入數(shù)據(jù)。
InputstoportC:設(shè)定對應(yīng)DSP48模塊中的數(shù)據(jù)c的輸入數(shù)據(jù)。
Instructions:設(shè)定DSP48模塊的計(jì)算規(guī)則。
Pipelineoptions:有ExternalRegisters、NoExternalRegisters和Custom三項(xiàng)可選,當(dāng)選擇ExternalRegisters時,DSP48模塊的多路選擇器的輸出端增加寄存器后作為模塊的輸出端口;當(dāng)選擇NoExternalRegisters時,DSP48模塊的多路選擇器的輸出直接作為模塊的輸出端口;當(dāng)選擇Custom時,開發(fā)人員可以根據(jù)設(shè)計(jì)要求自行配置是否使用寄存器及其個數(shù)。
26.DualPortRAM
該模塊列于ControlLogic、Memory和Index三個子庫中。
DualPortRAM模塊用于構(gòu)成一個可以任意訪問的存儲器,其雙端口的特性使得可以以不同的采樣率和讀寫位寬進(jìn)行訪問。圖4.4.44DualPortRAM模塊Basic欄參數(shù)對話框圖4.4.45DualPortRAM模塊Advanced欄參數(shù)對話框模塊參數(shù)說明:
Depth:設(shè)定A端口對應(yīng)的存儲器的數(shù)據(jù)位寬,其數(shù)值必須為正整數(shù);B端口對應(yīng)的存儲器的位寬由從dinb端口寫入數(shù)據(jù)的位寬決定。
Initialvaluevector:設(shè)定A端口對應(yīng)的存儲器中數(shù)據(jù)的初始值。
MemoryType:選擇以Distributedmemory或BlockRAM方式實(shí)現(xiàn)雙端口存儲器。如果選擇Distributedmemory,則應(yīng)同時設(shè)定A端口為讀優(yōu)先模式,B端口為只讀模式。
InitialvalueforportAoutputregister:設(shè)定當(dāng)模塊處于復(fù)位狀態(tài)時A端口的輸出寄存器上的數(shù)據(jù)。
InitialvalueforportBoutputregister:設(shè)定當(dāng)模塊處于復(fù)位狀態(tài)時B端口的輸出寄存器上的數(shù)據(jù)。
WriteModes(PortA/B):設(shè)定存儲器數(shù)據(jù)寫入模式,有寫優(yōu)先(Readafterwrite)、讀優(yōu)先(Readbeforewrite)和寫禁止(Noreadonwrite)三種模式可選。
27.EDKProcessor
該模塊列于ControlLogic和Index兩個子庫中。
EDKProcessor模塊使得在SystemGenerator中使用由XILINX的嵌入式EDK(EmbeddedDevelopmentKit)工具開發(fā)的嵌入式處理系統(tǒng)。
EDKProcessor模塊參數(shù)對話框如圖4.4.46和圖4.4.47所示。圖4.4.46EDKProcessor模塊Basic欄參數(shù)對話框圖4.4.47EDKProcessor模塊Simulation欄參數(shù)對話框模塊參數(shù)說明:
EDKproject:輸入EDK工程文件名(.xmp文件)。
Processortype:此欄在導(dǎo)入EDK工程后顯示所用的處理器。
Targetboard:此欄在導(dǎo)入EDK工程后顯示所用的開發(fā)板。
Configureprocessorfor:選擇將EDK處理器模塊配置成EDKpcoregeneration或HDLnetlisting。
Import:激活EDK導(dǎo)入向?qū)А?/p>
MemoryMaps:羅列了處理器所用的全部存儲器。
Compilesoftwareprogram:調(diào)用XPS工具,對當(dāng)前嵌入式處理器的軟件代碼進(jìn)行編譯。
LaunchGDB:調(diào)用GDB工具進(jìn)行調(diào)試。
Co-simulationmode:設(shè)定協(xié)同仿真模式,有SingleStep和SingleStepOnlyonSharedMemoryAccess兩種模式可選。
28.Expression
該模塊列于BasicElements、ControlLogic和Index三個子庫中。
Expression模塊通過輸入表達(dá)式的方式對輸入信號進(jìn)行按位邏輯運(yùn)算。圖4.4.48Expression模塊參數(shù)對話框模塊參數(shù)說明:
Expression:輸入邏輯運(yùn)算表達(dá)式,模塊的輸入端口名與表達(dá)式中的命名相同。
Alignbinarypoint:對輸入數(shù)據(jù)小數(shù)點(diǎn)對齊后進(jìn)行邏輯運(yùn)算??捎玫倪壿嬤\(yùn)算符如表4.4.1所示:
29.FDATool
該模塊列于DSP、Tools和Index三個子庫中
XILINXFDATool模塊全稱FilterDesignAssistantTool,是一個濾波器輔助設(shè)計(jì)工具。它提供了一個FDATool軟件作為MATLAB信號處理工具來使用的界面。此模塊在信號處理工具箱沒有安裝的情況下是不能使用及運(yùn)行的。此模塊提供了一種定義FDATool對象和作為XILINX模塊來保存的方法,還提供了一種利用圖形界面定義數(shù)字濾波器的方法。
另外值得注意的是,在此模塊用于濾波器的設(shè)計(jì)時,在濾波器參數(shù)對話框中的Coefficients參數(shù)設(shè)定項(xiàng)中,應(yīng)填寫“xlfda_numerator('FDATool')”。
注:此模塊不使用任何硬件資源。
30.FFTv3_2
此模塊列于DSP和Index兩個子庫中
XILINXFFTv3_2模塊支持的器件有Virtex-4、Virtex-2、Virtex-2Pro和Spartan-3。FFT模塊為離散傅立葉變換(DFT)提供了一種有效算法。
該模塊根據(jù)不同的結(jié)構(gòu)和實(shí)現(xiàn)方式有三種模式可供選擇。每種模式下端口分布情況都不一樣。模塊接口:
xn_re:輸入數(shù)據(jù)流的實(shí)數(shù)部分。
xn_im:輸入數(shù)據(jù)流的虛數(shù)部分。
start:一組數(shù)據(jù)輸入開始標(biāo)記。當(dāng)檢測到一組輸入數(shù)據(jù)中出現(xiàn)脈沖信號或某個一直為高的信號,則認(rèn)為出現(xiàn)start信號。start信號必須是布爾型。
unload:當(dāng)檢測到該輸入為高時,按自然順序讀取輸出端數(shù)據(jù)。
fwd:如果是0,則是離散傅立葉反變換,如果是1,則是離散傅立葉變換。信號fwd必須是布爾型。
fwd_we:當(dāng)該信號有效時,讀入fwd端口信號,決定下一幀輸入數(shù)據(jù)的處理方式,fwd_we的信號類型必須是布爾型。
scale_sch:設(shè)定輸入數(shù)據(jù)的比例因數(shù)。
scale_sch_we:當(dāng)該端口有效時,讀入scale_sch端口數(shù)據(jù),作為下一幀輸入數(shù)據(jù)的比例因數(shù)。
注意:xn_re和xn_im兩個信號可以有相同的數(shù)據(jù)類型。
xk_re:輸出數(shù)據(jù)流的實(shí)數(shù)部分。
xk_im:輸出數(shù)據(jù)流的虛數(shù)部分。
xn_index:標(biāo)識輸入數(shù)據(jù)的二進(jìn)制位寬。
xk_index:標(biāo)識輸出數(shù)據(jù)的二進(jìn)制位寬。
rfd:在start信號有效后且xn_indexcount的值達(dá)到N-1時高電平有效。信號為布爾型。
busy:當(dāng)模塊處理輸入數(shù)據(jù)流時輸出高電平,busy信號為布爾量。
edone:完成一次采樣數(shù)據(jù)處理的前一時鐘周期該信號保持高電平。
done:完成一次采樣數(shù)據(jù)處理后輸出高電平。
ovflo:當(dāng)在Scaled模式下處理數(shù)據(jù)時,如果檢測到有數(shù)據(jù)溢出,該信號輸出高電平,信號為布爾型。圖4.4.49FFTv3_2模塊Basic欄參數(shù)對話框圖4.4.50FFTv3_2模塊Implementation欄參數(shù)對話框模塊參數(shù)說明:
Implementation:選擇Rsdix-4StreamingI/O,Radix-4BurstI/O,Radix-2MinimumResources和PipelinedStreamingI/O中的一個。
Numberofsamplepoints:采樣點(diǎn)的個數(shù)。
Outputordering:選擇輸出規(guī)則。
Scaling:選擇Unscaled、Scaled或者Blockfloatingpoint作為輸出數(shù)據(jù)類型。在Radix-4StreamingI/O中,沒有Blockfloatingpoint類型。
Roundingmode:選擇Truncation或者Convergentrounding應(yīng)用到輸出端口上。
Phasefactorbitwidth:在8、12、16、20或者24之間,選擇一個作為相位因子的比特寬。
Enabledynamictransformsize:為輸入端口N和N_we選擇輸入數(shù)據(jù)幀的動態(tài)可變點(diǎn)長度。
Provideoverflowport:當(dāng)Scaledscaling選中時,選擇輸出端口ovflo。
OptimizeforspeedusingDSP48:使用DSP48的速度最優(yōu)化。
NumberofstagesusingblockRAM:將數(shù)據(jù)和相位因子存儲在RAM中。
Phasefactormemorytype:選擇相位因子存儲器類型為BlockRAM還是DistributedRAM。
Datamemorytype:選擇數(shù)據(jù)存儲器類型為BlockRAM還是分布式RAM。
31.FIFO
此模塊列于ControlLogic、Memory和Index三個子庫中。
FIFO模塊用于實(shí)現(xiàn)一組FIFO列。
模塊接口:
當(dāng)寫使能信號有效時,模塊將數(shù)據(jù)輸入端口din上的數(shù)值寫入下一有效空地址單元;當(dāng)讀使能信號re有效時,模塊通過數(shù)據(jù)輸出端口dout將輸入數(shù)據(jù)依次輸出。當(dāng)FIFO中沒有空閑存儲空間時full端口置高;當(dāng)FIFO中沒有數(shù)據(jù)時empty端口置高。%full端口用于表示FIFO中有多少存儲空間已滿。
FIFO模塊參數(shù)對話框如圖4.4.51所示。圖4.4.51FIFO模塊參數(shù)對話框模塊參數(shù)說明:
Depth:指定存儲數(shù)據(jù)位寬。
Bitsofprecisiontousefor%fullsignal:設(shè)定%full端口的數(shù)據(jù)位寬。
32.FIRComplierv1_0
此模塊列于DSP和Index兩個子庫中。
FIRComplier模塊用來執(zhí)行高速的基于MAC的FIR濾波器,利用串聯(lián)DSP48實(shí)現(xiàn)。圖4.4.52FIRComplierv1_0模塊Basic欄參數(shù)對話框圖4.4.53FIRComplierv1_0模塊Implementation欄參數(shù)對話框模塊參數(shù)說明:
Filertype:允許用戶定義濾波器為下面所列類型中的一種:SingleRate表示單一數(shù)據(jù)率,即輸入和輸出數(shù)據(jù)率相同;Decimation表示輸出數(shù)據(jù)率比輸入的慢,由Sampleratechange決定差量;Interpolation表示輸出數(shù)據(jù)率比輸入的快,由Sampleratechange決定差量。
Sampleratechange:允許開發(fā)人員定義輸出對輸入采樣率的變化。
Numberofchannels:該模塊中數(shù)據(jù)通道的數(shù)量。
Hardwareover-simplingrate:定義輸入數(shù)據(jù)速率快于輸出數(shù)據(jù)速率的比例。
Coefficientvector:定義系數(shù)矢量為信號MATLAB行矢量。
Structure:定義系數(shù)結(jié)構(gòu),有InferredfromCoefficients、Non-Symmetric、Symmetric、HalfBand可選,系數(shù)矢量必須同指定的結(jié)構(gòu)相吻合,除非當(dāng)InferredfromCoefficients選中的情況下,將通過這些系數(shù)自動檢測結(jié)構(gòu)。
Providevalidports:設(shè)定模塊的vin和vout端口。
Providecore_rdyport:設(shè)定模塊的一個core_rdy輸出端口。
Providerstandrfdport:設(shè)定模塊的rst和rfd端口。
Storageoptions:選擇Custom時,允許用戶使用存儲器存儲數(shù)據(jù)和系數(shù)。
Databuffer:指定用于存儲器存儲數(shù)據(jù)的存儲器類型。
Coefficientbuffer:指定用于存儲系數(shù)的存儲器類型。
MultipleDSP48columnsupport:指定使用Virtec-4驅(qū)動中DSP48的多列執(zhí)行濾波器方式。
Firstcolumnlength:指定多列DSP48濾波器第一列的長度。
Crosscolumnpipelining:指定列與列之間的長度。
33.?FromFIFO
此模塊列于Index和SharedMemory兩個子庫中。
From
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年脈沖反應(yīng)堆及配套產(chǎn)品合作協(xié)議書
- 化妝品檢測服務(wù)合同范本
- 北美買車合同范本
- 低價格回收合同范本
- 個人酒店租房合同范本
- 出口蔬菜供應(yīng)合同范本
- 合同范本寫才有效
- 單位購銷合同范本
- 電商直播主播簽約合作合同范本
- 洗車店轉(zhuǎn)讓合同范本
- DB5101-T 71-2020 成都市電動汽車充電設(shè)施 安全管理規(guī)范
- 2025年七臺河職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 監(jiān)理人員安全培訓(xùn)考試試卷(答案)
- 2025年北京電子科技職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- xxx項(xiàng)目財(cái)務(wù)評價報(bào)告
- 2024年山東交通職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 【MOOC】數(shù)據(jù)庫系統(tǒng)(上):模型與語言-哈爾濱工業(yè)大學(xué) 中國大學(xué)慕課MOOC答案
- 高教版2023年中職教科書《語文》(基礎(chǔ)模塊)下冊教案全冊
- HCCDP 云遷移認(rèn)證理論題庫
- 現(xiàn)代交換原理與技術(shù)課件:第5章 分組交換技術(shù)
- 勵磁系統(tǒng)報(bào)告(共25頁)
評論
0/150
提交評論