小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

System Generator從入門到放棄(二)-Digital Filter

 比特波特 2021-02-26

System Generator從入門到放棄(二)-Digital Filter


文章目錄

  • System Generator從入門到放棄(二)-Digital Filter

  • 一、Digital Filter

  • 1、簡介

  • 2、產(chǎn)生正弦信號(hào)

    • 2.1 本部分設(shè)計(jì)使用到的block

  • 3、數(shù)字濾波器的設(shè)計(jì)

    • 3.1 本部分設(shè)計(jì)使用到的block

    • 3.2 數(shù)字濾波器設(shè)計(jì)

    • 3.3 FPGA系統(tǒng)配置

    • 3.3 開始仿真

    • 3.3 將設(shè)計(jì)導(dǎo)出到FPGA

    • 3.3 打開Vivado示例工程

  • 4、FDATool block的使用

  • 5、生成說明文檔與testbench

    • 5.1 生成說明文檔

    • 5.2 生成testbench

  • 6、資源分析與時(shí)序分析

    • 6.1 查看分析結(jié)果

    • 6.2 時(shí)序分析

    • 6.3 資源分析

    • 6.4 資時(shí)序/資源分析失敗的說明


??System Generator是Xilinx公司進(jìn)行數(shù)字信號(hào)處理開發(fā)的一種設(shè)計(jì)工具,它通過將Xilinx開發(fā)的一些模塊嵌入到Simulink的庫中,可以在Simulink中進(jìn)行定點(diǎn)仿真,可以設(shè)置定點(diǎn)信號(hào)的類型,這樣就可以比較定點(diǎn)仿真與浮點(diǎn)仿真的區(qū)別。并且可以生成HDL文件,或者網(wǎng)表,可以在ISE中進(jìn)行調(diào)用?;蛘咧苯由杀忍亓飨螺d文件。能夠加快DSP系統(tǒng)的開發(fā)進(jìn)度。

一、Digital Filter

1、簡介

??數(shù)字濾波器的功能是對輸入離散信號(hào)的數(shù)字代碼進(jìn)行運(yùn)算處理,以達(dá)到改變信號(hào)頻譜的目的。
??數(shù)字濾波一般分為時(shí)域?yàn)V波和頻域?yàn)V波。頻域?yàn)V波是將時(shí)域變換到頻域,對相應(yīng)頻率做調(diào)整,然后反變換到時(shí)域,拋開FFT的話過程相對簡單。在這里我們主要說時(shí)域?yàn)V波。
??時(shí)域?yàn)V波器分為無限脈沖響應(yīng)IIR和有限脈沖響應(yīng)FIR兩種。IIR濾波器的優(yōu)點(diǎn)是可以用較低的階數(shù)(相比同樣指標(biāo)的FIR濾波器)實(shí)現(xiàn)濾波器。缺點(diǎn)一:不是線性相位,只能用于對相位信息不敏感的信號(hào)(如音頻信號(hào))。缺點(diǎn)二:有可能是不穩(wěn)定的。在設(shè)計(jì)的過程中為了保持穩(wěn)定性和因果性,要求z變換所有的極點(diǎn)都必須位于單位圓內(nèi)。但即使是這樣,也可能由于量化舍入等因素引起的誤差最終導(dǎo)致IIR濾波器不穩(wěn)定。FIR濾波器的優(yōu)點(diǎn)是可以設(shè)計(jì)成具有線性相位的,并且是穩(wěn)定的(FIR濾波器除原點(diǎn)處外沒有極點(diǎn)),缺點(diǎn)是階數(shù)高,也就是說計(jì)算量大。
??具體介紹大家可以查閱相關(guān)資料。

2、產(chǎn)生正弦信號(hào)

2.1 本部分設(shè)計(jì)使用到的block


Xilinx block

其它block

  • Sin Wave(Simulink->Sources):生成正弦波

  • Add(Simulink->Math Operations):加法器

  • Scope(Simulink->Commonly Used Blocks):示波器


??在庫中在庫中找到Sine Wave、add、scope,分別添加帶哦model中,如下:




??添加完后如下:

??修改相關(guān)屬性:
??雙擊Sine Wave,可以設(shè)置正弦波的幅度、電平偏置、頻率、初相、采樣時(shí)間等信息。這里只需要將頻率分別設(shè)置為1MHz(2pi1e6)和9MHz(2pi9e6)。

??雙擊Add,“List of signs”設(shè)置加法器的輸入端口,“++”表示兩個(gè)輸入相加(“±”則表示A-B)。

??雙擊打開示波器窗口,在View->Configuration Properties:Scope中(或者如下圖方式進(jìn)行設(shè)置),將Number of input ports設(shè)置為3(觀察3路信號(hào));點(diǎn)擊Layout,選擇3*1排列方式(每路信號(hào)分開顯示):

??連線,結(jié)果如下。?將Simulink仿真時(shí)間設(shè)置為0.00001(時(shí)間太長會(huì)導(dǎo)致仿真很慢),點(diǎn)擊運(yùn)行,Simulink窗口的右小角可以觀察到運(yùn)行狀態(tài)。運(yùn)行結(jié)束后打開Scope:

??第一個(gè)為1Mhz信號(hào),第三個(gè)為9MHz信號(hào),中間為兩路信號(hào)疊加。接下來設(shè)計(jì)一個(gè)LPF濾除掉9MHz頻率分量。
??PS:雙擊Scope可能看到的波形如下,是三路信號(hào)混合在了一起,想要分開三路進(jìn)行查看,View->Layout,設(shè)置成三行模式。


??最終的結(jié)果如下,第一個(gè)為1Mhz信號(hào),第三個(gè)為9MHz信號(hào),中間為兩路信號(hào)疊加。接下來設(shè)計(jì)一個(gè)LPF濾除掉9MHz頻率分量。

3、數(shù)字濾波器的設(shè)計(jì)

3.1 本部分設(shè)計(jì)使用到的block


Xilinx block

  • Digital FIR Filter(->DSP):數(shù)字濾波器

  • Gateway In(->Basic Elements):數(shù)據(jù)輸入

  • Gateway Out(->Basic Elements):數(shù)據(jù)輸出

  • System Generator(->Basic Elements):系統(tǒng)管理

  • FDATool(->DSP):濾波器設(shè)計(jì)

其它block

  • Sin Wave(Simulink->Sources):生成正弦波

  • Add(Simulink->Math Operations):加法器

  • Scope(Simulink->Commonly Used Blocks):示波器

  • Zero-Order Hold(Simulink->Discrete):零階保持器

  • Spectrum Analyzer(DSP System Toolbox->Sinks):頻譜分析儀


3.2 數(shù)字濾波器設(shè)計(jì)

??我們知道,Simulink中的仿真模型為連續(xù)時(shí)間系統(tǒng),數(shù)據(jù)格式多種多樣;而FPGA中為離散時(shí)間系統(tǒng),數(shù)據(jù)必須用一定的位數(shù)進(jìn)行量化。兩者之間必須要進(jìn)行從連續(xù)到離散的轉(zhuǎn)換、數(shù)據(jù)格式的轉(zhuǎn)換,否則無法進(jìn)行正確的FPGA設(shè)計(jì)。Xilinx Blockset中提供了相應(yīng)的解決方案。

??添加一個(gè)Gateway In和一個(gè)Gateway Out模塊到model中,再添加一個(gè)Digital FIR Filter模塊。按照加法器輸出->Gateway In->Digital FIR Filter->Gateway Out的順序依次連接。

??添加如下block到model并按圖中方式進(jìn)行連線。

??雙擊打開Gateway In模塊的屬性窗口:

??這個(gè)模塊可以Simulink到FPGA之間的數(shù)據(jù)轉(zhuǎn)換。將Sample period設(shè)置為“1/20e6”(20MHz采樣率),完成連續(xù)時(shí)間到離散時(shí)間的轉(zhuǎn)換;設(shè)置Out Type完成數(shù)據(jù)格式的轉(zhuǎn)換。這里保持為默認(rèn)的二進(jìn)制帶符號(hào)數(shù)補(bǔ)碼、定點(diǎn)數(shù)的設(shè)置。Quantization中可以設(shè)置量化方式為Truncate(截?cái)啵┗蛘遰ound(四舍五入)。

??Gateway In的設(shè)置會(huì)自動(dòng)傳遞到Gateway In和Gateway Out之間的整個(gè)系統(tǒng)中,因此不需要再設(shè)置其它模塊的采樣率與數(shù)據(jù)格式。

Digital FIR Filter設(shè)置


頻率參數(shù)

  • Units = MHz

  • Fs = 20

  • Fpass = 1.5

  • Fstop = 8.5

Magnitude Specifications

  • Units = dB

  • Apass = 0.01

  • Astop = 100


??兩種方式,其中第一種方式,在其他模塊沒有FDATOOL工具時(shí),需要使用第二種方式。
第一種方式
??雙擊Digital FIR Filter: 選中“Use FDA Tool as coefficient source”,點(diǎn)擊“FDA Tool”按鈕,會(huì)彈出FDATOOL窗口,設(shè)置采樣率為20Mhz,通帶截止頻率1.5MHz,阻帶截止頻率8.5Mhz,通帶衰減0.01dB,阻帶衰減100dB,點(diǎn)擊“Design Filter”設(shè)計(jì)后退出。

第二種方式
??第二種方式是使用FDATool,這部分會(huì)在后面介紹。

3.3 FPGA系統(tǒng)配置

??以上僅僅是完成了數(shù)字濾波器的設(shè)計(jì),但是仍然沒有建立起模型與FPGA之間的實(shí)質(zhì)聯(lián)系。添加System Generator模塊到model中,這個(gè)block便是配置與FPGA相關(guān)的系統(tǒng)參數(shù)。這個(gè)block的配置會(huì)應(yīng)用到Gateway In和Gateway Out之間的所有模塊中。雙擊打開,切換到Clock標(biāo)簽:

  • a. Specify an FPGA clock Period of 50 ns (1/20 MHz).

  • b. Specify a Simulink system period of 1/20e6 seconds.

  • c. From the Perform analysis menu, select Post Synthesis and from
    Analyzer type menu select
    ??FPGA clock period設(shè)置為50ns,Simulink system period設(shè)置為1/20e6(都是20Mhz)。Perfor analysis設(shè)置為Post Sythesis,Analyzer type設(shè)置為Resource,在系統(tǒng)綜合后會(huì)進(jìn)行資源使用情況的分析。

3.3 開始仿真

??使用Simulink完成FPGA中的DSP系統(tǒng)設(shè)計(jì),最大的好處就是仿真極其方便(包括后面文章會(huì)用到的ModelSim協(xié)同仿真、硬件協(xié)同仿真等特性)。

??添加一個(gè)Scope觀察Gateway Out輸出的波形(濾波后波形),再添加兩個(gè)Spectrum Analyzer觀察濾波前后的信號(hào)頻譜。Spectrum Analyzer這個(gè)block必須輸入離散的數(shù)據(jù),因此在加法器輸出后需要經(jīng)過一個(gè)零階保持器Zero-Order Hold,轉(zhuǎn)換為離散數(shù)據(jù)后再輸入到Spectrum Analyzer中。零階保持器的采樣率設(shè)置為1/20e6(20Mhz)。

??系統(tǒng)的整體連接框圖如下:

??注意,雖然Gateway In轉(zhuǎn)換后的數(shù)據(jù)也是離散的,但是Spectrum Analyzer不能接入到這里,否則會(huì)出現(xiàn)錯(cuò)誤。Gateway In和Gateway Out之間只能連接其它Xilinx Blockset中的模塊。

??將仿真時(shí)間設(shè)置為0.0005(Spectrum Analyzer必須有足夠多的采樣數(shù)據(jù)才能計(jì)算出頻譜),輸出信號(hào)的波形如下所示,經(jīng)過濾波后僅剩下1MHz的單頻分量,且數(shù)據(jù)為離散值。

??FIR濾波器前后的頻譜:

??可以看到經(jīng)過濾波后,9Mhz的頻率分量有大約100dB的衰減(頻譜呈對稱性),設(shè)計(jì)符合預(yù)期。

3.3 將設(shè)計(jì)導(dǎo)出到FPGA

??仿真驗(yàn)證功能正確后,需要將設(shè)計(jì)導(dǎo)出到FPGA中,這個(gè)步驟仍然要借助System Generator這個(gè)block。雙擊打開,切換到Compilation標(biāo)簽下,這里可以設(shè)置使用的開發(fā)板(Board,只能選擇Xilinx官方開發(fā)板)、FPGA芯片(Part),也可以設(shè)置導(dǎo)出設(shè)計(jì)的硬件描述語言(Verilog或VHDL)。點(diǎn)擊“Generate”,System Generator會(huì)將Gateway In和Gateway Out之間的模塊導(dǎo)出到FPGA中。運(yùn)行結(jié)束后,根據(jù)前面的設(shè)置,彈出了資源分析報(bào)告:



??在slx同文件夾下,生成netlist文件夾。其中sysgen子文件夾包含了導(dǎo)出的Verilog或VHDL設(shè)計(jì)文件;ip子文件夾是設(shè)計(jì)導(dǎo)出的IP核形式;ip_catalog子文件夾包含一個(gè)調(diào)用該IP核的Vivado的示例工程。

3.3 打開Vivado示例工程

??在ip_catalog文件夾下打開Vivado工程,其中頂層文件如下:

//Copyright 1986-2017 Xilinx, Inc. All Rights Reserved.
//--------------------------------------------------------------------------------
//Tool Version: Vivado v.2017.4 (win64) Build 2086221 Fri Dec 15 20:55:39 MST 2017
//Date  : Sun Nov  4 02:06:37 2018
//Host  : LAPTOP-8E6RLG3I running 64-bit major release  (build 9200)
//Command  : generate_target xilinx_lab1_bd.bd
//Design   : xilinx_lab1_bd
//Purpose  : IP block netlist
//--------------------------------------------------------------------------------
`timescale 1 ps / 1 ps

(* CORE_GENERATION_INFO = "xilinx_lab1_bd,IP_Integrator,{x_ipVendor=xilinx.com,x_ipLibrary=BlockDiagram,x_ipName=xilinx_lab1_bd,x_ipVersion=1.00.a,x_ipLanguage=VERILOG,numBlks=1,numReposBlks=1,numNonXlnxBlks=1,numHierBlks=0,maxHierDepth=0,numSysgenBlks=1,numHlsBlks=0,numHdlrefBlks=0,numPkgbdBlks=0,bdsource=SYSGEN,synth_mode=OOC_per_IP}" *) (* HW_HANDOFF = "xilinx_lab1_bd.hwdef" *)
module xilinx_lab1_bd
(clk,
gateway_in,
gateway_out);
  (* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 CLK.CLK CLK" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME CLK.CLK, CLK_DOMAIN xilinx_lab1_bd_clk, FREQ_HZ 100000000, PHASE 0.000" *) input clk;
  (* X_INTERFACE_INFO = "xilinx.com:signal:data:1.0 DATA.GATEWAY_IN DATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME DATA.GATEWAY_IN, LAYERED_METADATA undef" *) input [15:0]gateway_in;
  (* X_INTERFACE_INFO = "xilinx.com:signal:data:1.0 DATA.GATEWAY_OUT DATA" *) (* X_INTERFACE_PARAMETER = "XIL_INTERFACENAME DATA.GATEWAY_OUT, LAYERED_METADATA xilinx.com:interface:datatypes:1.0 {DATA {datatype {name {attribs {resolve_type immediate dependency {} format string minimum {} maximum {}} value {}} bitwidth {attribs {resolve_type immediate dependency {} format long minimum {} maximum {}} value 37} bitoffset {attribs {resolve_type immediate dependency {} format long minimum {} maximum {}} value 0} real {fixed {fractwidth {attribs {resolve_type immediate dependency {} format long minimum {} maximum {}} value 33} signed {attribs {resolve_type immediate dependency {} format bool minimum {} maximum {}} value true}}}}}}" *) output [36:0]gateway_out;

wire clk_1;
  wire [15:0]gateway_in_1;
  wire [36:0]xilinx_lab1_1_gateway_out;

assign clk_1 = clk;
  assign gateway_in_1 = gateway_in[15:0];
  assign gateway_out[36:0] = xilinx_lab1_1_gateway_out;
xilinx_lab1_bd_xilinx_lab1_1_0 xilinx_lab1_1
(.clk(clk_1),
.gateway_in(gateway_in_1),
.gateway_out(xilinx_lab1_1_gateway_out));
endmodule

??sysgen_filter_bd是調(diào)用System Generator導(dǎo)出的IP核的子模塊。16Bits輸入數(shù)據(jù)經(jīng)過濾波后得到36Bits的輸出結(jié)果。運(yùn)行RTL ANALYSIS,打開RTL視圖,找到最底層:

??可以看到其本質(zhì)上仍然是調(diào)用了FIR Compiler IP核來實(shí)現(xiàn)數(shù)字濾波,只不過我們是在Simulink中完成的設(shè)計(jì)。在其它工程中可以像示例工程一樣調(diào)用這個(gè)System Generator導(dǎo)出的IP核,來完成特定的DSP系統(tǒng)功能。

??理論上經(jīng)過Simulink中的仿真,已經(jīng)可以確定設(shè)計(jì)的正確性。但這是使用System Generator完成的第一個(gè)實(shí)驗(yàn),本文仍然在Vivado中進(jìn)行一次仿真,增強(qiáng)使用者對System Generator設(shè)計(jì)的信心。使用MATLAB產(chǎn)生一個(gè)1MHz+9Mhz的正弦疊加信號(hào),導(dǎo)入到TXT文件中。編寫testbench讀取txt文件,對信號(hào)進(jìn)行濾波。Vivado中的仿真結(jié)果如下圖所示:

??可以看到經(jīng)過濾波后,只剩下1Mhz的單頻信號(hào),與Simulink中的仿真結(jié)果完全一致。
??總而言之,從這個(gè)實(shí)驗(yàn)出發(fā),博主認(rèn)為在System Generator中完成DSP系統(tǒng)設(shè)計(jì)與直接在Vivado環(huán)境下進(jìn)行DSP系統(tǒng)設(shè)計(jì)相比,有兩個(gè)優(yōu)點(diǎn):

  • 更強(qiáng)大、更方便的仿真環(huán)境;

  • 系統(tǒng)級設(shè)計(jì)角度,無需關(guān)心RTL設(shè)計(jì)細(xì)節(jié)以及一些IP核的具體使用方法。

4、FDATool block的使用

??前文中我們在Digital FIR Filter block的配置界面直接調(diào)用FDATool工具完成FIR濾波器的設(shè)計(jì)。但是有一些濾波器block,如2n-tap MAC FIR Filter,并沒有提供這樣一個(gè)接口。Xilinx Blockset中單獨(dú)提供了一個(gè)FDATool block,可以提供更廣泛的使用。

??添加FDATool block到model中,配置完成后點(diǎn)擊“Design Filter”。其它模塊調(diào)用這個(gè)FDATool設(shè)計(jì)的濾波器可以借助兩個(gè)函數(shù):

  • xlfda_numerator(‘FDATool’):提取濾波器系數(shù)的分子

  • xlfda_denominator(‘FDATool’):提取濾波器系數(shù)的分母

??對于FIR濾波器而言,分母為1,只提取分子即可。如下圖所示:


??所有濾波器block的系數(shù)都可以用這種方式設(shè)置。

5、生成說明文檔與testbench

5.1 生成說明文檔

??本文在上一篇設(shè)計(jì)的數(shù)字濾波器模型基礎(chǔ)上進(jìn)行修改。打開System Generator這個(gè)block,在Compilation標(biāo)簽下:

??選中“Create interface document”,在點(diǎn)擊Generate導(dǎo)出設(shè)計(jì)后,在netlist/sysgen文件夾下會(huì)生成一個(gè)HTM文件。用瀏覽器打開如下:

5.2 生成testbench

??在System Generator block的Compilation標(biāo)簽下選中“Create testbench”,如第一幅圖所示。在點(diǎn)擊Generate導(dǎo)出設(shè)計(jì)時(shí),軟件會(huì)根據(jù)選擇的硬件描述語言生成對應(yīng)的testbench(在netlist/sysgen文件夾下):

●“Verilog“對應(yīng)”name_tb.v“文件
●“VHDL“對應(yīng)”name_tb.vhd“文件
??name為simulink模型的名字,我這里為“sxilinx_lab1_tb“。在生成的Vivado示例工程中會(huì)自動(dòng)添加這個(gè)testbench文件:

??在這個(gè)testbench中包含4個(gè)子模塊:時(shí)鐘生成模塊xlclk、測試數(shù)據(jù)輸入模塊xltbsource、模塊數(shù)據(jù)輸出模塊xltbsink和IP核設(shè)計(jì)文件sysgen_filter_0。最后在頂層模塊中調(diào)用4個(gè)子模塊,組成一個(gè)完整的測試平臺(tái)(在“Testbench編寫指南系列”中會(huì)解析這種testbench編寫方式)。

??直接運(yùn)行仿真,Vivado中仿真結(jié)果如下所示:

??仿真結(jié)果與上一部分完全一致。這是因?yàn)镾ystem Generator工具在生成testbench文件時(shí)將simulink環(huán)境中接入到Gateway In block的數(shù)據(jù)存儲(chǔ)到dat文件中,在testbench中調(diào)用。而我們自己編寫testbench時(shí)需要設(shè)計(jì)M文件產(chǎn)生信號(hào),再用HDL語言設(shè)計(jì)仿真過程??梢奡ystem Generator的便利與強(qiáng)大。

6、資源分析與時(shí)序分析

6.1 查看分析結(jié)果

??這部分繼續(xù)在上面設(shè)計(jì)的數(shù)字濾波器模型基礎(chǔ)上運(yùn)行分析。System Generator集成了時(shí)序分析和資源分析功能,以確保在simulink中設(shè)計(jì)的DSP系統(tǒng)導(dǎo)出到FPGA環(huán)境中能夠正確運(yùn)行。其本質(zhì)上仍然是在后臺(tái)調(diào)用Vivado進(jìn)行分析,System Generator只是讀取了分析結(jié)果并顯示出來。

??設(shè)計(jì)完成并且Simulink運(yùn)行完畢后,打開System Generator這個(gè)block,切換到Clock標(biāo)簽下:

Perform analysis中可以設(shè)置

  • None:不進(jìn)行分析;

  • Post Synthesis:綜合后進(jìn)行分析;

  • Post Implementation:實(shí)現(xiàn)后進(jìn)行分析。

Analyzer type中可以設(shè)置

  • “Resource”(進(jìn)行資源分析)

  • “Timing”(進(jìn)行時(shí)序分析)

??注意在Perform analysis設(shè)置好,并且導(dǎo)出設(shè)計(jì)到FPGA后,可以切換Analyzer type,并且點(diǎn)擊右邊的“Launch”查看兩種報(bào)告。但修改設(shè)計(jì)和修改Perform analysis參數(shù)后必須重新運(yùn)行才能生成最新的報(bào)告。

??綜合后和實(shí)現(xiàn)后的資源分析和時(shí)序分析分別如下。時(shí)序報(bào)告中可以看到每一條時(shí)鐘路徑的情況(本設(shè)計(jì)中只有一條);資源報(bào)告中可以看到每一個(gè)模塊的資源消耗(本設(shè)計(jì)只有一個(gè)模塊)??梢钥吹骄C合后與實(shí)現(xiàn)后的資源消耗情況、時(shí)序情況有些差異:

6.2 時(shí)序分析

??System Generator集成的靜態(tài)時(shí)序分析功能提供了如下特性:

  • 點(diǎn)擊每一列的指標(biāo)名稱,可以選擇升序/降序排列;

  • 時(shí)序不滿足時(shí),相應(yīng)的路徑Slack值為負(fù)數(shù),且顯示為紅色;

  • 交叉定位功能:時(shí)序報(bào)告中選中某一路徑,Simulink模型中對應(yīng)的部分會(huì)高亮顯示(時(shí)序滿足為綠色;不滿足為紅色),這可以幫助設(shè)計(jì)者更快的找到和修改時(shí)序錯(cuò)誤。

??如下圖:

  • 時(shí)序不滿足時(shí),可以考慮修改設(shè)計(jì)(如增加一些單元的Latency,以資源換速度),或者更換綜合策略/實(shí)現(xiàn)策略。

??在System Generator block的Compilation標(biāo)簽下可以設(shè)置“Synthesis strategy”和“Implementation strategy”。列表中有幾種Vivado提供的策略,也可以在Vivado中添加好用戶自定義的策略,在System Generator中調(diào)用。

6.3 資源分析

??System Generator集成的資源分析功能提供了如下特性:

  • 點(diǎn)擊每一列的指標(biāo)名稱,可以選擇升序/降序排列;

  • BRAMs(包括RAMB36E、FIFO36E、RAMB18E、FIFO18E0資源);DSPs(包括DSP48E、DSP48E1、DSP48E2資源);Registers(包括寄存器和觸發(fā)器,以FD和LD開頭的資源);LUTs(所有的查找表);

  • 交叉定位功能:資源報(bào)告中選中某一模塊,Simulink模型中對應(yīng)的部分會(huì)高亮顯示(黃色),如下圖:

  • 資源消耗超過FPGA芯片總資源時(shí),可以考慮修改設(shè)計(jì),或者更換綜合策略/實(shí)現(xiàn)策略。這里與時(shí)序分析部分相同。

6.4 資時(shí)序/資源分析失敗的說明

??絕大多數(shù)情況下,時(shí)序分析和資源分析都能得到正確的結(jié)果,但有時(shí)在Generate生成結(jié)束后,會(huì)提示一個(gè)Error,無法獲取結(jié)果數(shù)據(jù)。

??失敗的原因一般都是如下情況:在同一目錄下有多個(gè)slx文件,但是所有的slx文件設(shè)置的輸出目錄都相同(比如都是默認(rèn)的./netlist)。在導(dǎo)出第一個(gè)slx文件時(shí)是可以正確運(yùn)行時(shí)序/資源分析的;但在導(dǎo)出第二個(gè)slx文件的設(shè)計(jì)時(shí),就會(huì)報(bào)錯(cuò)。原因便是不同的模型向同一目錄下導(dǎo)出設(shè)計(jì)。在設(shè)置路徑時(shí)要注意。


    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多