999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

RS譯碼的高層次綜合實現(xiàn)

2018-09-10 17:26:08楊振學王歡
計算機與網(wǎng)絡(luò) 2018年12期
關(guān)鍵詞:結(jié)構(gòu)優(yōu)化

楊振學 王歡

摘要:采用高層次綜合技術(shù)實現(xiàn)RS譯碼電路,通過對RS譯碼C代碼結(jié)構(gòu)不同層次的優(yōu)化,包括循環(huán)展開、求余簡化、數(shù)據(jù)存儲優(yōu)化及算法結(jié)構(gòu)優(yōu)化等,探索了不同的結(jié)構(gòu)對于綜合后硬件電路性能和資源的影響。與傳統(tǒng)RTL設(shè)計相比,使用高層次綜合技術(shù)進行RTL設(shè)計大大節(jié)省了設(shè)計時間,減少了硬件的設(shè)計難度,降低了整體電路的設(shè)計風險。

關(guān)鍵詞:RS譯碼;RTL設(shè)計;高層次綜合;結(jié)構(gòu)優(yōu)化

中圖分類號:TP336文獻標志碼:A文章編號:1008-1739(2018)12-54-4

Implementation of RS Decoding Algorithm Based on High-level Synthesis

YANG Zhenxue, WANG Huan(The 54th Research Institute of CETC, Shijiazhuang Hebei 050081, China)

0引言

近年來,隨著通信電路應(yīng)用的高速發(fā)展,通信系統(tǒng)對電路設(shè)計周期的要求越來越高。而通信系統(tǒng)中,通信IP的設(shè)計是關(guān)鍵。在通信IP的RTL設(shè)計時,使用傳統(tǒng)方法設(shè)計的工程迭代周期長、代碼復用困難,這些弊端逐漸成為影響設(shè)計的重要因素。高層次綜合技術(shù)就在此時應(yīng)運而生,可以實現(xiàn)直接從算法級的高級語言到RTL級的HDL語言的轉(zhuǎn)換,從而有效地縮短通信系統(tǒng)FPGA驗證或IC設(shè)計的研發(fā)周期[1]。

高層次綜合技術(shù)在實現(xiàn)時首先要完成算法設(shè)計,依據(jù)工程要求設(shè)計好約束,使用高級綜合工具就可以完成由C語言到RTL代碼的自動轉(zhuǎn)換。使用高層次綜合技術(shù)進行硬件設(shè)計減少了傳統(tǒng)手工編碼可能會引入的設(shè)計誤差,更重要的是在實現(xiàn)速度上要快很多,從而縮短通信系統(tǒng)整體的設(shè)計周期。綜合工具并不會對硬件實現(xiàn)的具體細節(jié)進行約束,它探索不同的實現(xiàn)方案,并快速計算出不同微架構(gòu)對硬件實現(xiàn)結(jié)果的影響,這樣可以實現(xiàn)在較短時間內(nèi)對即將實現(xiàn)的硬件方案在性能、面積和功耗三者之間折中[2-4]。

1 RS譯碼原理

RS碼是一種性能優(yōu)良的線性分組碼,不僅可以糾正隨機錯誤,還可以糾正突發(fā)錯誤,特別是在中短碼長的情況下,其性能幾乎接近理論值。RS碼的編碼效率很高,適合實時性要求較高的信息傳輸場合,故在數(shù)字通信系統(tǒng)中使用廣泛,可以作為提高數(shù)據(jù)傳輸和數(shù)據(jù)存儲可靠性的重要手段[5]。隨著SoC技術(shù)的不斷發(fā)展,市場競爭愈發(fā)激烈,如何在更短的時間內(nèi)設(shè)計出更符合要求的產(chǎn)品成為研究重點。

在不同的系統(tǒng)中,對于RS碼的參數(shù)要求可能不同,這使得RS編譯碼器,尤其是設(shè)計較為復雜的譯碼器的復用比較困難[6]。但是在使用C、C++等高級語言進行的算法級設(shè)計中修改參數(shù)會非常簡便,利用高層次綜合技術(shù)可以快速高效地實現(xiàn)RS譯碼器的硬件設(shè)計。在本設(shè)計中使用C語言完成算法設(shè)計,然后使用Synopsis公司的高層次綜合工具SCC進行綜合,最后實現(xiàn)硬件電路的設(shè)計。

2 RS譯碼電路實現(xiàn)

使用高層次綜合技術(shù)進行RTL設(shè)計的流程圖如圖1所示。

從圖1可以看出,原來傳統(tǒng)流程中的微架構(gòu)設(shè)計、RTL代碼編寫以及時序優(yōu)化等幾個過程都被高級綜合技術(shù)取代了。使用高級綜合技術(shù)進行設(shè)計的優(yōu)點是C代碼程序可以被高級綜合工具自動分析,避免了系統(tǒng)工程師、邏輯工程師和驗證工程師因為溝通上的偏差而產(chǎn)生設(shè)計上的不足,并且可以縮短設(shè)計周期。

2.1 RS譯碼的C代碼優(yōu)化

高層次綜合工具可以自動分析C代碼結(jié)構(gòu),并根據(jù)分析結(jié)果調(diào)用不同的硬件資源。本設(shè)計中使用SCC高級綜合工具。雖然綜合工具有很強的優(yōu)化能力,但是優(yōu)化結(jié)果還是依賴于設(shè)計者對于代碼的合理結(jié)構(gòu)設(shè)計和良好的代碼風格。良好的代碼架構(gòu)設(shè)計會使綜合工具達到最優(yōu)的綜合輸出,而不好的代碼架構(gòu)設(shè)計會使綜合工具產(chǎn)生錯誤的綜合輸出[7]。

軟件工程師在進行算法設(shè)計時并不會對硬件結(jié)構(gòu)進行考慮,例如數(shù)據(jù)的并行操作及流水線操作等,這樣的算法結(jié)構(gòu)直接進行綜合可能不會得到性能最優(yōu)的硬件電路,所以在進行綜合之前需要先對C代碼結(jié)構(gòu)進行優(yōu)化。

2.1.1循環(huán)展開

RS譯碼算法中存在大量的循環(huán)操作,C程序是依次執(zhí)行,屬于順序結(jié)構(gòu)。而RTL語言程序是可以在同一時間執(zhí)行,屬于并行結(jié)構(gòu)。在綜合時,為了提高數(shù)據(jù)的處理速度,可以選擇將能同時處理的計算進行并行操作。循環(huán)展開的聲明設(shè)置為“#pragma unroll”。具體來說,循環(huán)展開允許在當前迭代結(jié)束之前開始新的迭代計算。使用一個小代碼進行具體說明,如圖2所示,圖2(a)是對C代碼進行的具體約束,而圖2(b)則是對約束后的代碼結(jié)構(gòu)進行的圖示說明。

但并不是所有的循環(huán)都適合添加循環(huán)展開約束,例如數(shù)據(jù)操作之間有依賴關(guān)系的,只能按照順序執(zhí)行,不能進行循環(huán)展開操作。

2.1.2流水線設(shè)計

在SCC綜合工具中定義了task ii,即在映射成硬件時,函數(shù)連續(xù)調(diào)用的最短時間間隔。在對RS譯碼硬件結(jié)構(gòu)增加流水線設(shè)計時,需要使用此命令進行約束。在本次的RS譯碼設(shè)計中碼長為179,故將task ii約束為179。

在綜合時進行多任務(wù)流水線處理時,需要對配置寄存器和存儲器數(shù)組復制多個以備同時使用,否則多任務(wù)平臺對同一個寄存器或者存儲器進行操作時不能做到任務(wù)流水線化。一般可以在C代碼中,對需要同時被多個任務(wù)使用的數(shù)組進行“#pragma multi_buffer”命令來指定映射成多個存儲器。

2.2 C代碼優(yōu)化

2.2.1算法改進

在對V1版本的硬件電路進行分析時,發(fā)現(xiàn)在C代碼中使用了大量的乘除法以及求余運算操作,進行硬件映射時會占用較大的資源,考慮到可以使用加減法代替以減少大量乘法器和除法器的使用。例如,計算伴隨式s[i]的過程中,使用的是迭代循環(huán)計算,由于s[i]的計算方式的關(guān)系,會大量使用乘法器以及除法器,在進行并行操作過程中會造成大量資源的浪費,代碼實現(xiàn)的方式如圖3(a)所示。

在進行綜合時添加約束時需要對進行循環(huán)展開,生成的Verilog代碼結(jié)果是同時對s[1],s[2],……,s[16]一共16個元素展開并行計算。改進方法是使用加法代替乘法運算,這樣就可以消除占用很多資源的乘法器,而且加法器的實現(xiàn)要比乘法器容易,實現(xiàn)方案如圖3(b)所示。

2.2.2優(yōu)化數(shù)據(jù)存儲

在使用高級綜合工具SCC實現(xiàn)C代碼到RTL代碼自動轉(zhuǎn)換過程中,對于二維數(shù)組映射成硬件時,會將所有數(shù)據(jù)存儲,并設(shè)置相應(yīng)的輸出端口,不會將其按行進行拆解存儲。這對于數(shù)據(jù)較多的數(shù)組來說,會使用占用空間較大的寄存器,從而占用較多的硬件資源。為了達到一個在資源上更優(yōu)化的結(jié)果,如果將多維數(shù)組分割設(shè)計成多個子數(shù)組,就可以將每個數(shù)組的端口數(shù)減少,這樣的設(shè)計可以在綜合存儲器結(jié)構(gòu)時因減少端口降低硬件資源消耗。

在V1版本的C代碼基礎(chǔ)上對以上2個方面進行改進,形成V2版本進行綜合,也可以得到在性能上滿足要求的RTL代碼。

2.3結(jié)構(gòu)優(yōu)化

在V2版本的基礎(chǔ)上,為了尋求更少的資源調(diào)用及更優(yōu)化的結(jié)構(gòu),借用硬件設(shè)計思維對RS譯碼的C代碼進行重新改寫。SCC軟件在進行高級綜合時,對C代碼結(jié)構(gòu)要求比較嚴格,不同的C代碼結(jié)構(gòu)會產(chǎn)生不同的綜合結(jié)果。在本設(shè)計中采用外置RAM塊結(jié)構(gòu),進行數(shù)據(jù)存儲。

以(179,163)的RS譯碼為例,具體實現(xiàn)流程如圖4所示。以接收到某一次的譯碼數(shù)組為例,由于RS碼組的碼長為179,故在第一個碼長周期時將數(shù)據(jù)存放在第1個RAM中;在第2個碼長周期中(=1~179),將第1組碼取出并計算其伴隨式Si,同時將接收到的第2組RS碼存放到第2塊RAM中;在第3個碼長周期中,第1組RS碼根據(jù)在上一個周期計算出的伴隨式來計算錯誤位置多項式da,而第2組RS碼可以計算其伴隨式Si,同時將接收到的第3組RS碼存放在第3塊RAM中;在第4個碼長周期中,第1組RS碼可以計算出錯誤位置以及錯誤值,然后在經(jīng)過糾錯后直接輸出,而第2組碼進行錯誤位置多項式的計算,第3組碼進行伴隨式的計算,同時將接收到的第4組碼存放在第4塊RAM中;由于第1組RS碼已成功譯碼,所以當接收到第5組RS碼時可以存放在第1塊RAM中,再重復以上步驟,則圖4中數(shù)據(jù)組接收順序為(-3)(-2)(-1)(1)(2)(3)(4)。

2.4優(yōu)化結(jié)果對比

對3種不同層次的優(yōu)化結(jié)構(gòu)在軟件Synphony C Compiler下分別進行綜合。頻率約束都設(shè)置為200 MHz。SCC的綜合過程可以分為2個互補的部分:build和仿真驗證。在RS的build階段,會將C代碼通過一些中間轉(zhuǎn)換(Preprocess、Schedule、Synthesize)最后生成RTL代碼,而每一個中間轉(zhuǎn)換過程都會有相應(yīng)的仿真,這是為了驗證每一個中間轉(zhuǎn)換過程的正確性。任何一個中間階段的失敗都需要返回修改或者調(diào)整C代碼[8]。SCC綜合完成之后,除生成了可用的RS的RTL代碼之外,還有一些資源使用情況評估報告,代碼性能評估情況報告,以及供一些下游工具(仿真工具和綜合工具)使用的腳本。通過這些報告以及SCC工具提供的各種架構(gòu)分析可以及時了解RTL代碼的性能,通過預(yù)先指定的工藝庫可以進行ASIC下的資源使用評估。

對比3個版本的綜合結(jié)果,首先都實現(xiàn)了硬件功能需求,能夠完成RS譯碼功能,能糾正最多8個錯誤數(shù)據(jù)。通過對V1版本中運算單元以及數(shù)據(jù)存儲方式優(yōu)化后得到的V2版本,根據(jù)SCC工具給出的評估報告可以知道,資源的調(diào)用上減少到原來的1/3。而V3版本的C代碼結(jié)構(gòu)借用了硬件設(shè)計的思路,將每個模塊之間的具有依賴關(guān)系的數(shù)據(jù)采用外置RAM數(shù)據(jù)存儲,取代原先寄存器存儲的方式,不僅在硬件結(jié)構(gòu)上進行了優(yōu)化,資源的使用也進一步減少。SCC工具綜合后在report_summary.txt文檔給出了使用TSMC65gp工藝時3個版本資源的使用預(yù)估情況,如表1所示。

3結(jié)束語

通過對3種版本的優(yōu)化方式進行比較,發(fā)現(xiàn)在進行高層次綜合時,對C代碼的優(yōu)化過程是必不可少的,而C代碼結(jié)構(gòu)越優(yōu)化,生成的硬件電路也就越理想。經(jīng)過循環(huán)展開、求余簡化、數(shù)據(jù)存儲優(yōu)化以及結(jié)構(gòu)修改,探索了不同層次的C代碼優(yōu)化對生成硬件電路的性能和資源的影響。結(jié)果表明,在算法性能滿足要求的情況下,利用高層次綜合技術(shù)可以極大地降低設(shè)計復雜度,充分探索不同設(shè)計結(jié)構(gòu)和約束對設(shè)計結(jié)果的影響,快速選擇出一種較優(yōu)的設(shè)計方案。

由于高級綜合技術(shù)發(fā)展時間較短,還有一些地方不是特別的完善。在綜合過程中,需要根據(jù)硬件的需求來對C代碼結(jié)構(gòu)描述進行優(yōu)化,以得到較優(yōu)的硬件電路。但是使用高層次綜合技術(shù)生成Verilog代碼的方式與傳統(tǒng)的編寫方式相比,在功能滿足需求的情況下,不僅使設(shè)計周期縮短,還可以提前對設(shè)計風險進行評估,根據(jù)通信系統(tǒng)目標需求提早對代碼進行修改,降低設(shè)計后期出現(xiàn)問題的概率。

參考文獻

[1]游余新.利用Mentor高層次綜合技術(shù)(Catapult Synthesis)快速實現(xiàn)復雜DSP算法[J].中國集成電路,2007(5):35-41.

[2]孟祥剛,陳瑤,高騰,等.FFT算法硬件模塊的高層次綜合實現(xiàn)與優(yōu)化[J].微電子學,2017,47(2):217-221.

[3]張望,賈佳,孟淵,等.基于高層次綜合的AES算法研究與設(shè)計[J].計算機應(yīng)用,2017,37(5):1341-1346.

[4]李東海,楊小軍,楊云,等.多項式數(shù)據(jù)通路的高層次綜合方法[J].北京郵電大學學報,2017,40(1):130-136.

[5]胡玉樂.RS譯碼加速器的實現(xiàn)[D].北京:北京郵電大學, 2011.

[6]胡智寬.基于RS編譯碼的數(shù)字通信電路FPGA設(shè)計研究[D].北京:北京理工大學,2015.

[7]李璐.基于C/C++的高層次綜合應(yīng)用研究[D].南京:東南大學,2009.

[8]王歡,李斌,張磊.基于高級綜合技術(shù)的RS算法實現(xiàn)[J].中國集成電路,2016,25(11):46-49.

猜你喜歡
結(jié)構(gòu)優(yōu)化
優(yōu)化張家界旅游業(yè)“六要素”結(jié)構(gòu)對策研究
精益管理理念下的人才隊伍結(jié)構(gòu)優(yōu)化實證研究
基于溫升試驗的10kV開關(guān)柜結(jié)構(gòu)優(yōu)化設(shè)計
改進的多目標快速群搜索算法的應(yīng)用
價值工程(2016年32期)2016-12-20 20:30:37
某不銹鋼車水箱安裝框架強度分析與結(jié)構(gòu)優(yōu)化
景觀美感視野下旅游目的地空間分形與結(jié)構(gòu)優(yōu)化芻議
基于Hyperworks Inspire的結(jié)構(gòu)拓撲優(yōu)化設(shè)計
科技視界(2016年18期)2016-11-03 20:33:59
淺析人力資源結(jié)構(gòu)優(yōu)化的策略
中韓貿(mào)易結(jié)構(gòu)優(yōu)化策略探析
中國市場(2016年33期)2016-10-18 14:10:51
醫(yī)療保險制度的經(jīng)濟社會效應(yīng)和結(jié)構(gòu)優(yōu)化探究
中國市場(2016年33期)2016-10-18 14:03:59
主站蜘蛛池模板: 日本少妇又色又爽又高潮| 精品福利视频网| 操美女免费网站| 天堂成人在线| 亚洲乱亚洲乱妇24p| 亚洲人成高清| 草草影院国产第一页| 五月激激激综合网色播免费| 国产在线精品美女观看| 精品夜恋影院亚洲欧洲| 国产综合另类小说色区色噜噜| 色老二精品视频在线观看| 国产丝袜无码一区二区视频| 国产AV无码专区亚洲精品网站| 国产毛片高清一级国语 | 2021国产精品自产拍在线| 全部免费特黄特色大片视频| 综合色在线| 国产成人av一区二区三区| 亚洲欧美不卡| av在线无码浏览| 五月婷婷中文字幕| 91毛片网| 欧美成人免费午夜全| 2020久久国产综合精品swag| 99久久亚洲综合精品TS| 欧美高清日韩| 国产区在线观看视频| www.av男人.com| 88av在线看| 欧美成人在线免费| 日韩国产无码一区| 91小视频版在线观看www| 免费看久久精品99| 亚洲人成高清| 国产情侣一区二区三区| 日本在线视频免费| 午夜毛片免费看| 高潮毛片无遮挡高清视频播放| 亚洲色图另类| 99ri国产在线| 午夜综合网| 欧美一区二区啪啪| 国内精自线i品一区202| 国产97色在线| 欧美区国产区| 91探花在线观看国产最新| 欧美区一区| 97在线公开视频| 成人年鲁鲁在线观看视频| 亚洲欧美成人在线视频| 99久久国产综合精品2020| 手机精品视频在线观看免费| 99在线视频精品| 午夜不卡视频| 久久鸭综合久久国产| 免费一级大毛片a一观看不卡| 57pao国产成视频免费播放| 老司国产精品视频91| 国产极品美女在线播放| 狠狠色综合网| 国内精品小视频福利网址| 538精品在线观看| 国产96在线 | www.精品国产| 中文字幕va| 亚洲精品动漫在线观看| 国产91特黄特色A级毛片| 一本综合久久| 色噜噜狠狠狠综合曰曰曰| 亚洲第一极品精品无码| 9966国产精品视频| 亚洲天堂视频在线观看| 91久久性奴调教国产免费| 国产精品3p视频| 伊人色在线视频| 2020国产在线视精品在| 欧美狠狠干| 一级毛片免费不卡在线 | 国产一区二区人大臿蕉香蕉| 97se亚洲综合在线| 波多野结衣久久高清免费|