18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA設(shè)計(jì)的sysGen算法系統(tǒng)設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:CSDN 博主 ? 作者: 沒(méi)落騎士 ? 2020-12-30 12:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、前言

利用FPGA設(shè)計(jì)算法一直以來(lái)都是熱點(diǎn),同樣也是難點(diǎn)。將復(fù)雜的數(shù)學(xué)公式 模型通過(guò)硬件系統(tǒng)來(lái)搭建,在低延時(shí) 高并行性等優(yōu)勢(shì)背后極大提高了設(shè)計(jì)難度和開(kāi)發(fā)周期。Xilinx公司的sysGen(system generator)工具擴(kuò)展了MATLABsimulink,提供很多IP Catalog中沒(méi)有的基礎(chǔ)模塊和針對(duì)DSP應(yīng)用的硬件模型。工程師利用豐富的模塊和MATLAB強(qiáng)大的數(shù)據(jù)處理及可視化能力能夠更快速完成設(shè)計(jì)與仿真驗(yàn)證工作。

二、sysGen算法系統(tǒng)設(shè)計(jì)

本文以個(gè)最簡(jiǎn)單的例子講述利用sysGen搭建算法IP核,并集成到IP Integrator中作為ZYNQ PS端CPU的“定制外設(shè)”。僅用于測(cè)試目的。設(shè)計(jì)需求:在sysGen中搭建系統(tǒng),將輸入定點(diǎn)整數(shù)數(shù)據(jù)*2后輸出,輸入位寬為8bit。

pIYBAF9uKDmAGlS-AACLMgeqkdk369.png

在System Generator token中設(shè)定仿真步長(zhǎng)為1sec。點(diǎn)擊需要觀測(cè)的信號(hào)連線(xiàn),右擊選擇Xilinx add to viewer。啟動(dòng)仿真并啟動(dòng)Xilinx waveform viewer:

本質(zhì)上就是調(diào)用Vivado的XSim工具進(jìn)行行為仿真。仿真結(jié)果可見(jiàn)完成預(yù)期目標(biāo),現(xiàn)雙擊System Generator token ,選擇Compiliation類(lèi)型為IP Catalog并勾選Create testbench,按下Generate生成IP核。

三、仿真測(cè)試

根據(jù)User Guide介紹sysGen是“周期和比特精準(zhǔn)的”,我們還是在Vivado環(huán)境下再次驗(yàn)證下。netlist文件夾內(nèi)子文件夾ip_catalog中為IP核示例工程,由于自動(dòng)生成了testbench,打開(kāi)后直接進(jìn)行行為仿真。sysGen在創(chuàng)建testbench時(shí)會(huì)將經(jīng)過(guò)gatein和gateout的數(shù)據(jù)儲(chǔ)存到文件中,testbench進(jìn)行的工作為:將gatein數(shù)據(jù)作為測(cè)試激勵(lì)送入到相應(yīng)設(shè)計(jì)輸入端口,之后把設(shè)計(jì)輸出得到結(jié)果與gateout文件數(shù)據(jù)進(jìn)行逐一比較從而驗(yàn)證設(shè)計(jì)是否與sysGen環(huán)境下仿真結(jié)果一致。

發(fā)現(xiàn)個(gè)比較有意思的現(xiàn)象,自動(dòng)生成的testbench中clock生成并約束的50MHz,而是認(rèn)為進(jìn)行了拓展。

仿真波形如圖:

將clock處改動(dòng)為50MHz后,經(jīng)過(guò)測(cè)試發(fā)現(xiàn)如果系統(tǒng)一開(kāi)始就輸入數(shù)據(jù),前幾個(gè)數(shù)據(jù)沒(méi)有被真正處理,輸出錯(cuò)誤??赡苁擒浖﨎UG吧,不過(guò)這種情況也非常少見(jiàn),實(shí)際系統(tǒng)中輸入數(shù)據(jù)大多情況會(huì)啟動(dòng)一段時(shí)間后才輸入。這里等待100ns后再啟動(dòng)clock翻轉(zhuǎn):

改動(dòng)后仿真波形:

四、AXI-Stream總線(xiàn)形式IP

到此算法IP的設(shè)計(jì)與驗(yàn)證結(jié)束。如果想將這個(gè)IP核導(dǎo)入到IP Integrator中作為CPU的外設(shè),其接口必須滿(mǎn)足AXI總線(xiàn)標(biāo)準(zhǔn),因此回到sysGen中更改端口名稱(chēng)和位寬。端口要符合AXI-Stream標(biāo)準(zhǔn)信號(hào)名稱(chēng),位寬為8bit整數(shù)倍。

o4YBAF9uKEiAVeSPAARNJArcqqo731.png

生成IP核后,打開(kāi)新的工程,導(dǎo)入該IP核到repository。

五、Block Design系統(tǒng)搭建

系統(tǒng)結(jié)構(gòu)與上一篇該系列博文類(lèi)似,均是以AXI DMA為核心的Loop系統(tǒng),只是將AXI-Stream Data FIFO改成了自定義IP核。由于IP核slave和master接口只包含tdata和tvalid信號(hào),因此需要添加接口銜接的一些簡(jiǎn)單邏輯。tready信號(hào)和tkeep信號(hào)直接連接constant使用常數(shù)驅(qū)動(dòng),DMA的s_axis_s2mm接口的tlast由wrapper內(nèi)計(jì)數(shù)器邏輯驅(qū)動(dòng),將system中FCLK_CLK0 peripheral_aresetn m_axis_tvalid和s_axis_s2mm_tlast信號(hào)引出到wrapper中。

有一點(diǎn)比較坑:自定義IP通過(guò)AXI總線(xiàn)與DMA互聯(lián)時(shí),總線(xiàn)下相應(yīng)的接口不一定會(huì)正確對(duì)應(yīng),所以需要分別將兩端的每個(gè)接口相連。可以通過(guò)打開(kāi)綜合后的設(shè)計(jì)來(lái)確認(rèn)連線(xiàn)無(wú)誤。

自動(dòng)生成wrapper后改動(dòng)添加代碼如下:
`timescale 1 ps / 1 ps

module user_wrapper
(DC,
DDR_addr,
DDR_ba,
DDR_cas_n,
DDR_ck_n,
DDR_ck_p,
DDR_cke,
DDR_cs_n,
DDR_dm,
DDR_dq,
DDR_dqs_n,
DDR_dqs_p,
DDR_odt,
DDR_ras_n,
DDR_reset_n,
DDR_we_n,
//FCLK_CLK0,
FIXED_IO_ddr_vrn,
FIXED_IO_ddr_vrp,
FIXED_IO_mio,
FIXED_IO_ps_clk,
FIXED_IO_ps_porb,
FIXED_IO_ps_srstb,
RES,
SCLK,
SDIN,
VBAT,
VDD
//m_axis_tvalid,
//peripheral_aresetn,
//s_axis_s2mm_tlast
);
output DC;
inout [14:0]DDR_addr;
inout [2:0]DDR_ba;
inout DDR_cas_n;
inout DDR_ck_n;
inout DDR_ck_p;
inout DDR_cke;
inout DDR_cs_n;
inout [3:0]DDR_dm;
inout [31:0]DDR_dq;
inout [3:0]DDR_dqs_n;
inout [3:0]DDR_dqs_p;
inout DDR_odt;
inout DDR_ras_n;
inout DDR_reset_n;
inout DDR_we_n;
//output FCLK_CLK0;
inout FIXED_IO_ddr_vrn;
inout FIXED_IO_ddr_vrp;
inout [53:0]FIXED_IO_mio;
inout FIXED_IO_ps_clk;
inout FIXED_IO_ps_porb;
inout FIXED_IO_ps_srstb;
output RES;
output SCLK;
output SDIN;
output VBAT;
output VDD;
//output [0:0]m_axis_tvalid;
//output [0:0]peripheral_aresetn;
//input s_axis_s2mm_tlast;

localparam DATA_NUM = 256;

wire DC;
wire [14:0]DDR_addr;
wire [2:0]DDR_ba;
wire DDR_cas_n;
wire DDR_ck_n;
wire DDR_ck_p;
wire DDR_cke;
wire DDR_cs_n;
wire [3:0]DDR_dm;
wire [31:0]DDR_dq;
wire [3:0]DDR_dqs_n;
wire [3:0]DDR_dqs_p;
wire DDR_odt;
wire DDR_ras_n;
wire DDR_reset_n;
wire DDR_we_n;
wire FCLK_CLK0;
wire FIXED_IO_ddr_vrn;
wire FIXED_IO_ddr_vrp;
wire [53:0]FIXED_IO_mio;
wire FIXED_IO_ps_clk;
wire FIXED_IO_ps_porb;
wire FIXED_IO_ps_srstb;
wire RES;
wire SCLK;
wire SDIN;
wire VBAT;
wire VDD;
wire [0:0]m_axis_tvalid;
wire [0:0]peripheral_aresetn;
wire s_axis_s2mm_tlast;

reg [8-1:0] cnt;
wire add_cnt;
wire end_cnt;

system system_i
(.DC(DC),
.DDR_addr(DDR_addr),
.DDR_ba(DDR_ba),
.DDR_cas_n(DDR_cas_n),
.DDR_ck_n(DDR_ck_n),
.DDR_ck_p(DDR_ck_p),
.DDR_cke(DDR_cke),
.DDR_cs_n(DDR_cs_n),
.DDR_dm(DDR_dm),
.DDR_dq(DDR_dq),
.DDR_dqs_n(DDR_dqs_n),
.DDR_dqs_p(DDR_dqs_p),
.DDR_odt(DDR_odt),
.DDR_ras_n(DDR_ras_n),
.DDR_reset_n(DDR_reset_n),
.DDR_we_n(DDR_we_n),
.FCLK_CLK0(FCLK_CLK0),
.FIXED_IO_ddr_vrn(FIXED_IO_ddr_vrn),
.FIXED_IO_ddr_vrp(FIXED_IO_ddr_vrp),
.FIXED_IO_mio(FIXED_IO_mio),
.FIXED_IO_ps_clk(FIXED_IO_ps_clk),
.FIXED_IO_ps_porb(FIXED_IO_ps_porb),
.FIXED_IO_ps_srstb(FIXED_IO_ps_srstb),
.RES(RES),
.SCLK(SCLK),
.SDIN(SDIN),
.VBAT(VBAT),
.VDD(VDD),
.m_axis_tvalid(m_axis_tvalid),
.peripheral_aresetn(peripheral_aresetn),
.s_axis_s2mm_tlast(s_axis_s2mm_tlast));

always @(posedge FCLK_CLK0)begin
if(!peripheral_aresetn)begin
cnt end
else if(add_cnt)begin
if(end_cnt)
cnt else
cnt end
end

assign add_cnt = m_axis_tvalid;
assign end_cnt = add_cnt && cnt== DATA_NUM-1;

assign s_axis_s2mm_tlast = end_cnt;

endmodule

user_wrapper

當(dāng)自定義IP核輸出256個(gè)數(shù)據(jù)時(shí),拉高tlast信號(hào)結(jié)束傳輸。打開(kāi)綜合后的設(shè)計(jì),添加調(diào)試探針,抓取DMA與自定義IP之間的接口信號(hào),set up debug后完成接下來(lái)的流程。

六、軟硬件聯(lián)調(diào)

在硬件系統(tǒng)中定義數(shù)據(jù)幀長(zhǎng)度為256個(gè),數(shù)據(jù)位寬為16bit,因此C代碼中DMA啟動(dòng)傳輸函數(shù)中數(shù)據(jù)長(zhǎng)度參數(shù)為512byte。測(cè)試數(shù)據(jù)生成與檢測(cè)代碼非常簡(jiǎn)單:

我們直接查看ILA抓取AXI S總線(xiàn)波形:


看到CPU產(chǎn)生數(shù)據(jù)從1到4重復(fù)遞增,IP核輸出結(jié)果從2到8重復(fù)遞增,輸出為輸入的2倍。

傳輸完成后進(jìn)入DMA發(fā)送和接收中斷,軟件檢測(cè)結(jié)果正確。在Memory窗口能夠直接查看內(nèi)存絕對(duì)地址里的數(shù)據(jù),選定DDR接收緩存區(qū)起始地址,其中的數(shù)據(jù)與AXI總線(xiàn)傳回?cái)?shù)據(jù)一致,證明系統(tǒng)聯(lián)調(diào)成功。之后任意算法模塊均可采用本文方式進(jìn)行設(shè)計(jì)和集成,可以說(shuō)一勞永逸!

編輯:hfy


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    PathFinder在FPGA中的角色與缺陷

    自 1990 年代末以來(lái),PathFinder 一直是 FPGA 布線(xiàn)(routing)階段的主力算法,為設(shè)計(jì)工具提供“能連通又不重疊”的路徑規(guī)劃方案。
    的頭像 發(fā)表于 10-15 10:44 ?172次閱讀
    PathFinder在<b class='flag-5'>FPGA</b>中的角色與缺陷

    基于FPGA的CLAHE圖像增強(qiáng)算法設(shè)計(jì)

    CLAHE圖像增強(qiáng)算法又稱(chēng)為對(duì)比度有限的自適應(yīng)直方圖均衡算法,其算法原理是通過(guò)有限的調(diào)整圖像局部對(duì)比度來(lái)增強(qiáng)有效信號(hào)和抑制噪聲信號(hào)。
    的頭像 發(fā)表于 10-15 10:14 ?147次閱讀
    基于<b class='flag-5'>FPGA</b>的CLAHE圖像增強(qiáng)<b class='flag-5'>算法</b>設(shè)計(jì)

    25年11月上海FPGA算法實(shí)現(xiàn)與應(yīng)用技術(shù)高級(jí)研修分享

    、半帶濾波、NCO過(guò)程,完全掌握 FPGA模塊級(jí)設(shè)計(jì)仿真能力。   深入學(xué)習(xí)數(shù)據(jù)流,不僅是算法FPGA&DSP設(shè)計(jì)者的需求,對(duì)于從事接口設(shè)計(jì)工作、軟件配置工作、系統(tǒng)測(cè)試工作,
    發(fā)表于 10-11 11:55

    基于FPGA實(shí)現(xiàn)FOC算法之PWM模塊設(shè)計(jì)

    哈嘍,大家好,從今天開(kāi)始正式帶領(lǐng)大家從零到一,在FPGA平臺(tái)上實(shí)現(xiàn)FOC算法,整個(gè)算法的框架如下圖所示,如果大家對(duì)算法的原理不是特別清楚的話(huà),可以先去百度上學(xué)習(xí)一下,本教程著重介紹實(shí)現(xiàn)
    的頭像 發(fā)表于 07-17 15:21 ?2945次閱讀
    基于<b class='flag-5'>FPGA</b>實(shí)現(xiàn)FOC<b class='flag-5'>算法</b>之PWM模塊設(shè)計(jì)

    基于Matlab與FPGA的雙邊濾波算法實(shí)現(xiàn)

    前面發(fā)過(guò)中值、均值、高斯濾波的文章,這些只考慮了位置,并沒(méi)有考慮相似度。那么雙邊濾波來(lái)了,既考慮了位置,有考慮了相似度,對(duì)邊緣的保持比前幾個(gè)好很多,當(dāng)然實(shí)現(xiàn)上也是復(fù)雜很多。本文將從原理入手,采用Matlab與FPGA設(shè)計(jì)實(shí)現(xiàn)雙邊濾波算法。
    的頭像 發(fā)表于 07-10 11:28 ?3443次閱讀
    基于Matlab與<b class='flag-5'>FPGA</b>的雙邊濾波<b class='flag-5'>算法</b>實(shí)現(xiàn)

    基于FPGA的壓縮算法加速實(shí)現(xiàn)

    本設(shè)計(jì)中,計(jì)劃實(shí)現(xiàn)對(duì)文件的壓縮及解壓,同時(shí)優(yōu)化壓縮中所涉及的信號(hào)處理和計(jì)算密集型功能,實(shí)現(xiàn)對(duì)其的加速處理。本設(shè)計(jì)的最終目標(biāo)是證明在充分并行化的硬件體系結(jié)構(gòu) FPGA 上實(shí)現(xiàn)該算法時(shí),可以大大提高該算法
    的頭像 發(fā)表于 07-10 11:09 ?1866次閱讀
    基于<b class='flag-5'>FPGA</b>的壓縮<b class='flag-5'>算法</b>加速實(shí)現(xiàn)

    自動(dòng)兵力生成算法系統(tǒng)有哪些

    行業(yè)芯事行業(yè)資訊
    北京華盛恒輝科技
    發(fā)布于 :2025年06月11日 11:16:12

    進(jìn)群免費(fèi)領(lǐng)FPGA學(xué)習(xí)資料!數(shù)字信號(hào)處理、傅里葉變換與FPGA開(kāi)發(fā)等

    ~ 01、數(shù)字信號(hào)處理的FPGA實(shí)現(xiàn) 旨在講解前端數(shù)字信號(hào)處理算法的高效實(shí)現(xiàn)。首先概述了當(dāng)前的FPGA技術(shù)、器件以及用于設(shè)計(jì)最先進(jìn)DSP系統(tǒng)的工具。闡述了計(jì)算機(jī)
    發(fā)表于 04-07 16:41

    FPGA開(kāi)發(fā)任務(wù)

    我想請(qǐng)人幫我開(kāi)發(fā)一款基于FPGA的產(chǎn)品,把我寫(xiě)好MATLAB代碼固化在FPGA中,實(shí)現(xiàn)算法加速和加密功能。有興趣的聯(lián)系我
    發(fā)表于 03-15 10:19

    當(dāng)我問(wèn)DeepSeek AI爆發(fā)時(shí)代的FPGA是否重要?答案是......

    的安全性。例如,在數(shù)據(jù)溯源系統(tǒng)中,FPGA可以實(shí)時(shí)標(biāo)記和加密數(shù)據(jù),確保數(shù)據(jù)的完整性和可靠性。 ? 適應(yīng)未來(lái)加密需求:隨著量子計(jì)算的發(fā)展,傳統(tǒng)的加密算法面臨威脅。FPGA的靈活性使其能夠
    發(fā)表于 02-19 13:55

    FPGA的多通道數(shù)據(jù)采集傳輸系統(tǒng)

    一、系統(tǒng)總體方案設(shè)計(jì) 為了滿(mǎn)足油田增壓站對(duì)數(shù)據(jù)采集的需求,我們?cè)O(shè)計(jì)了一套基于FPGA的多通道數(shù)據(jù)采集與傳輸系統(tǒng)系統(tǒng)FPGA作為主控制器,
    的頭像 發(fā)表于 12-09 10:45 ?1081次閱讀
    <b class='flag-5'>FPGA</b>的多通道數(shù)據(jù)采集傳輸<b class='flag-5'>系統(tǒng)</b>

    本人研一,做DFB激光穩(wěn)頻,目前只差FPGA ADC DAC做一個(gè)反饋系統(tǒng)

    激光器,,相當(dāng)于一個(gè)反饋系統(tǒng),用到的算法可能有PID之類(lèi)的(目前我也不太懂),請(qǐng)問(wèn)FPGA板子或者其他,有沒(méi)有可以做到的。我小白。 ADC的分辨率要16位左右 采樣率要高。
    發(fā)表于 12-01 21:48

    使用FPGA構(gòu)建ADAS系統(tǒng)簡(jiǎn)易過(guò)程

    之前已經(jīng)介紹過(guò)《FPGA在汽車(chē)電子中應(yīng)用-ADAS》,但是很多人留言說(shuō)是沒(méi)有相關(guān)例程,應(yīng)用不夠直觀,所以,今天他來(lái)了-使用FPGA制作一個(gè)便攜式 ADAS 系統(tǒng)(源碼開(kāi)源)。
    的頭像 發(fā)表于 11-05 09:19 ?940次閱讀

    FPGA應(yīng)用于人工智能的趨勢(shì)

    高速和低功耗 : FPGA通過(guò)優(yōu)化硬件結(jié)構(gòu)和算法實(shí)現(xiàn),能夠在處理復(fù)雜的人工智能任務(wù)時(shí)保持高速和低功耗,這對(duì)于資源有限的嵌入式系統(tǒng)和移動(dòng)設(shè)備尤為重要。 靈活性 : FPGA的可編程性使
    的頭像 發(fā)表于 10-25 09:20 ?2628次閱讀

    FPGA仿真黑科技\"EasyGo Vs Addon \",助力大規(guī)模電力電子系統(tǒng)仿真

    可以輕松地將其與各種硬件和協(xié)議連接,增強(qiáng)測(cè)試系統(tǒng)的靈活性。二、產(chǎn)品亮點(diǎn)▍超強(qiáng)FPGA芯片與接口配置,助力大規(guī)模電力電子系統(tǒng)仿真EasyGo Vs Addon支持的PXIe 7891搭載全新
    發(fā)表于 10-23 18:18