HLSLesson20的示例分析

今天就跟大家聊聊有關(guān)HLS Lesson20的示例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),千山企業(yè)網(wǎng)站建設(shè),千山品牌網(wǎng)站建設(shè),網(wǎng)站定制,千山網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,千山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

1.改善吞吐率:本質(zhì)是通過改善并行度實現(xiàn)的

HLS Lesson20的示例分析

當(dāng)pipeline作用于函數(shù)的時候,從IO角度來看數(shù)據(jù)是沒有空隙的,而作用于循環(huán)時候,則相鄰的兩個循環(huán)之間會有一個空隙

HLS Lesson20的示例分析

2.改善latency

HLS Lesson20的示例分析

3.改善area

HLS Lesson20的示例分析

實例:cordic

HLS Lesson20的示例分析

這里要求z0的取值范圍為[-π/2,π/2],對于[-π,π]的數(shù)就需要先進(jìn)行預(yù)處理映射到[-π/2,π/2],然后再計算,最后再進(jìn)行后處理。

#include"cordic.h"

void pre_cir_cordic(di_t full_alpha,di_t &alpha,flag_t &flag)

{

if(full_alpha>PI/2)

{

alpha=PI-full_alpha;

flag=2;

}

else if(full_alpha<-PI/2)

{

alpha=-PI-full_alpha;

flag=3;

}

else

{

alpha=full_alpha;

flag=0;

}

}

void cir_cordic_calc(di_t alpha,flag_t flag,do_t &mysin,do_t &mycos,flag_t &flag_delay)

{

const int N = 16;

do_t xi[N];

do_t yi[N];

di_t zi[N];

flag_t flag_delay_a[N];

xi[0]=Kn;

yi[0]=0;

zi[0]=alpha;

flag_delay_a[0]=flag;

const di_t myarctan[16] ={

#include"myarctan.h";

};

int m=0;

loop:

for(m=0;m<N;m++)

{

if(zi[m]>=0)

{

xi[m+1]=xi[m]-(yi[m]>>m);

yi[m+1]=yi[m]+(xi[m]>>m);

zi[m+1]=zi[m]-myarctan[m];

}

else

{

xi[m+1]=xi[m]+(yi[m]>>m);

yi[m+1]=yi[m]-(xi[m]>>m);

zi[m+1]=zi[m]+myarctan[m];

}

flag_delay_a[m+1]=flag_delay_a[m];

}

mysin=yi[N-1];

mycos=xi[N-1];

flag_delay=flag_delay_a[N-1];

}

void post_cir_cordic(do_t mysin,do_t mycos,flag_t flag_delay,do_t &sin_out,do_t &cos_out)

{

switch(int(flag_delay))

{

case 2:sin_out=mysin;cos_out=-mycos;break;

case 3:sin_out=mysin;cos_out=-mycos;break;

default:sin_out=mysin;cos_out=mycos;break;

}

}

void cir_cordic(di_t full_alpha,do_t &sin_out,do_t &cos_out)

{

di_t alpha;

flag_t flag;

do_t mysin;

do_t mycos;

flag_t flag_delay;

pre_cir_cordic(full_alpha,alpha,flag);

cir_cordic_calc(alpha,flag,mysin,mycos,flag_delay);

post_cir_cordic(mysin,mycos,flag_delay,sin_out,cos_out);

}

看完上述內(nèi)容,你們對HLS Lesson20的示例分析有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站欄目:HLSLesson20的示例分析
網(wǎng)頁地址:http://bm7419.com/article12/gihigc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站制作、網(wǎng)站導(dǎo)航網(wǎng)站設(shè)計、小程序開發(fā)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營