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

基于SystemC語言的偽隨機(jī)序列發(fā)生器設(shè)計(jì)*

2010-08-11 05:26:40盧立丹
艦船電子工程 2010年2期
關(guān)鍵詞:進(jìn)程系統(tǒng)設(shè)計(jì)

裴 佩 盧立丹

(中國船舶重工集團(tuán)公司第722研究所 武漢 430079)

1 引言

隨著集成電路設(shè)計(jì)的發(fā)展,SoC時(shí)代已經(jīng)到來。為了滿足SoC設(shè)計(jì)的要求,一種能夠同時(shí)實(shí)現(xiàn)較高層次的軟件和硬件描述的系統(tǒng)級(jí)設(shè)計(jì)語言,可以大大提高設(shè)計(jì)效率。SystemC正是這樣一種適于系統(tǒng)級(jí)設(shè)計(jì)的硬件描述語言。它支持門級(jí)、RTL級(jí)、系統(tǒng)級(jí)等各個(gè)抽象層次上的硬件的建模和仿真,而且支持軟硬件協(xié)同設(shè)計(jì),能夠描述由硬件和軟件組成的復(fù)雜系統(tǒng)結(jié)構(gòu),支持在C++環(huán)境下對硬件、軟件和接口的描述[1]。

自1999年提出后,SystemC在 Synopsys、ARM 、Mentor Graphics、Coware 、Cadence 、Intel等微電子業(yè)內(nèi)主流公司的支持下得到了很大的發(fā)展,由于其開放性等特點(diǎn),已經(jīng)得到全世界工程師的歡迎和認(rèn)可,并已經(jīng)于2005年成為IEEE標(biāo)準(zhǔn)。

2 SystemC語言的特征

SystemC是完全免費(fèi)并且開放的,它的源代碼可以使用任何標(biāo)準(zhǔn)C++編譯環(huán)境進(jìn)行編譯,生成可執(zhí)行文件。SystemC本質(zhì)上時(shí)在C++的基礎(chǔ)上添加的硬件擴(kuò)展庫和仿真核,通過使用SystemC類庫,設(shè)計(jì)者可以根據(jù)不同的需求編寫目標(biāo)系統(tǒng)的系統(tǒng)級(jí)(system level)、行為級(jí)(behavioral level)或RT L級(jí)的SystemC模型代碼。

SystemC具有所有硬件描述語言所共有的基本特征,包括模塊、端口、進(jìn)程和信號(hào)等。SystemC中的模塊用關(guān)鍵字SC MODULE來定義,其端口定義與Verilog類似。在SystemC中,進(jìn)程是一個(gè)基本的執(zhí)行單元,它被調(diào)用來仿真目標(biāo)系統(tǒng)的行為。進(jìn)程的行為是多樣化的,可以實(shí)現(xiàn)某個(gè)函數(shù)的功能,也可以在運(yùn)行過程中被掛起,并且進(jìn)程是并行執(zhí)行的,一個(gè)進(jìn)程中不能包含或直接調(diào)用其他進(jìn)程。SystemC的進(jìn)程主要有兩種,事件進(jìn)程(SC_MET HOD)和線程進(jìn)程(SC T HREAD)。事件進(jìn)程是惟一可以綜合的RTL進(jìn)程,它的特點(diǎn)是當(dāng)敏感表上有事件發(fā)生時(shí),它就被調(diào)用,調(diào)用后立即返回。只有該類進(jìn)程返回后,仿真系統(tǒng)的時(shí)間才有可能前進(jìn),因此該類進(jìn)程不能被掛起(類似于Verilog中的always)。線程進(jìn)程不是RTL級(jí)進(jìn)程,它可以被掛起和重新激活,所以它的一個(gè)重要用途是用來描述驗(yàn)證平臺(tái)(testbench)。

圖1 SystemC描述加法器的簡單實(shí)例

SystemC描述加法器的一個(gè)簡單例子如圖1所示,該例是一個(gè)簡單的加法器的描述。在 my_adder.h中定義了一個(gè)名為my_adder的模塊,輸入端口為int類型的a、b和時(shí)鐘類型的clk,輸出信號(hào)為int類型的c。此外,模塊里面定義了一個(gè)類型為SC_METHOD的進(jìn)程,其對時(shí)鐘的上升沿敏感。每當(dāng)時(shí)鐘上升沿到來時(shí),該進(jìn)程被激活,完成將兩輸入端口上的數(shù)據(jù)相加再從輸出端口送出的功能。進(jìn)程entry的實(shí)現(xiàn)在adder.cpp中。

3 基于SystemC語言的偽隨機(jī)序列發(fā)生器設(shè)計(jì)

SystemC語言必須可以綜合才能投入實(shí)用,目前許多支持SystemC綜合的軟件已經(jīng)投入商用。Agility Compiler軟件就是比較好的一種,它是由Agility公司和Celoxica ESL business所共同開發(fā)的。Agility Compiler可以將SystemC語言綜合成適合指定目標(biāo)芯片的Verilog、VHDL、EDIF等文件,進(jìn)而進(jìn)行下一步的設(shè)計(jì),實(shí)現(xiàn)了與傳統(tǒng)硬件描述語言的無縫銜接[2]。

本設(shè)計(jì)就是利用SystemC語言設(shè)計(jì)pn序列發(fā)生器,具體實(shí)現(xiàn)一個(gè)m序列發(fā)生器的功能,然后在Agility Compiler中進(jìn)行綜合生成Verilog語言,再利用ModelSim等軟件仿真。

3.1 pn序列簡介

一個(gè)偽隨機(jī)(或PN)序列是一個(gè)1和0的碼序列,由于它具有類似白噪聲的隨機(jī)特性但是又能重復(fù)產(chǎn)生,所以稱為偽隨機(jī)序列,并且可以代替白噪聲用于需要隨機(jī)信號(hào)的場合,例如測試系統(tǒng)性能。更重要的是,它具有良好的相關(guān)特性,可以用于碼分復(fù)用、多址接入、測距、密碼、擴(kuò)頻通信和分離多徑信號(hào)等許多領(lǐng)域[3]。

通常情況下,擴(kuò)頻序列具有如下性質(zhì):

1)具有尖銳的自相關(guān)性;

2)有盡可能小的互相關(guān)性,互相關(guān)性最好為零;

3)有盡可能大的序列復(fù)雜度,即足夠長的碼周期保證保密和抗干擾要求;

4)有足夠多的獨(dú)立地址數(shù),以實(shí)現(xiàn)碼分多址的要求;

5)工程上易于產(chǎn)生、加工復(fù)制和控制。

3.2 pn序列發(fā)生器設(shè)計(jì)

偽隨機(jī)序列不止一種,其中以m序列最為重要,因此設(shè)計(jì)中,將對m序列發(fā)生器進(jìn)行設(shè)計(jì)。一個(gè)m序列的長度為L=2m-1比特,周期為L,并由一個(gè)m級(jí)的帶有線性反饋的移位寄存器產(chǎn)生,每個(gè)周期內(nèi)有2m-1個(gè) 1和 2m-1-1個(gè)0[4]。

設(shè)計(jì)中,將設(shè)計(jì)通信中常用的12級(jí),周期為4095的m序列發(fā)生器。

一般要產(chǎn)生一個(gè)m序列主要有以下幾個(gè)步驟[5]:

1)根據(jù)m序列產(chǎn)生原理得到m序列的生成多項(xiàng)式;

2)根據(jù)生成多項(xiàng)式的級(jí)數(shù)確定要實(shí)現(xiàn)的m序列產(chǎn)生器所需要的移位寄存器的長度;

3)實(shí)現(xiàn)移位寄存器鏈;

4)按照生成多項(xiàng)式對移位寄存器鏈抽頭;

5)將抽頭信號(hào)進(jìn)行“異或”,結(jié)果反饋到移位寄存器的輸入端。

本次設(shè)計(jì)中采用的生成多項(xiàng)式為:f(x)=x12+x6+x4+x+1。

3.2.1 m序列的systemc主要程序設(shè)計(jì)

/************************

模塊功能:該模塊是周期為4095(12級(jí))的m序列發(fā)生器,采用線性反饋移位寄存器實(shí)現(xiàn)。

************************/

#define bit_size 12

#include"systemc.h"

SC_MODULE(m_gen){

sc_in<bool> clk,rst;

void prc_m_gen();

SC_CTOR(m_gen){

SC_M ETHOD(prc_m_gen);

sensitive_pos<<clk;

}

};

void m_gen::prc_m_gen(){

if(!rst.read()){

shift_reg=4095;//設(shè)定寄存器的初始狀態(tài),不能為0

m_out=0;

}

else if((ena==1)&&(rst==1)){

shift_temp=shift_reg;

shift_reg.range(bit_size-1,1)=shift_temp.range(10,0);

shift_reg[0]=shift_temp[0]?shift_temp[3]?shift_temp[5]?shift_temp[11];

}

m_out=shift_reg[bit_size-1];//最高位輸出}

3.2.2 m序列程序綜合

在Agility Compiler軟件“工程設(shè)置”中,設(shè)置綜合的目標(biāo)芯片為 Altera Stratix II系列的ep2s130f1020c4。

Agility Compiler綜合出的信息見圖2所示。由圖可見,優(yōu)化綜合后共用到14個(gè)觸發(fā)器,3277個(gè)與非門,0bit寄存器。

圖2 m序列發(fā)生器綜合信息圖

為了驗(yàn)證結(jié)果的準(zhǔn)確性,利用ModelSim軟件和Quartus II軟件對綜合出的Verilog HDL程序進(jìn)行仿真,得到仿真結(jié)果如圖3所示。

圖3 m序列發(fā)生器的ModelSim仿真結(jié)果

利用Quartus仿真綜合出的Verilog代碼后的部分仿真結(jié)果如圖4所示,綜合出的資源等信息如圖5所示,RTL部分圖如圖6所示。

圖4 m序列發(fā)生器的Quartus仿真結(jié)果

3.2.3 m序列仿真結(jié)果分析

為了分析結(jié)果的正確性,將考察從三個(gè)時(shí)間處的連續(xù)32比特m_out信號(hào)序列。結(jié)果見表1。經(jīng)統(tǒng)計(jì),一個(gè)周期內(nèi)有2048個(gè)1,2047個(gè)0。

表1 m序列輸出統(tǒng)計(jì)

由此可見,生成的周期為4095的該m序列符合設(shè)計(jì)要求。

4 結(jié)語

從這個(gè)實(shí)例可以看出,利用SystemC完成設(shè)計(jì)相比于傳統(tǒng)的硬件描述語言具有很多優(yōu)點(diǎn):

1)SystemC語言更加靈活,因?yàn)槠浔举|(zhì)上是C++語言,所以設(shè)計(jì)更加靈活。

2)SystemC語言的設(shè)計(jì)效率更高。

3)SystemC語言對于具有C語言基礎(chǔ)卻熟悉Verilog語言的技術(shù)人員更有優(yōu)勢。

4)SystemC語言能夠?qū)崿F(xiàn)實(shí)現(xiàn)較高層次如系統(tǒng)級(jí)的軟件和硬件描述,較好地實(shí)現(xiàn)軟硬件的協(xié)同設(shè)計(jì),而且它使得系統(tǒng)級(jí)設(shè)計(jì)和RTL級(jí)設(shè)計(jì)均可以在同一平臺(tái)下完成。

SystemC已經(jīng)成為IEEE標(biāo)準(zhǔn),這將促進(jìn)SystemC更快的發(fā)展。相信不久的將來,其一定會(huì)成為業(yè)內(nèi)主流的設(shè)計(jì)工具。

[1][美]巴斯克.SystemC入門[M].夏宇聞,等譯.北京:北京航空航天大學(xué)出版社,2008

[2]Agility公司.agility_manual

[3]西瑞克斯(北京)通信設(shè)備有限公司.無線通信的Matlab和FPGA實(shí)現(xiàn)[M].北京:人民郵電出版社,2009,6

[4]樊昌信.通信原理教程[M].北京:電子工業(yè)出版社,2005,7

[5][美]John G.Proakis,等.現(xiàn)代通信系統(tǒng)(MATLAB版)[M].第二版.北京:電子工業(yè)出版社,2008,1

猜你喜歡
進(jìn)程系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
債券市場對外開放的進(jìn)程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
瞞天過海——仿生設(shè)計(jì)萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
社會(huì)進(jìn)程中的新聞學(xué)探尋
我國高等教育改革進(jìn)程與反思
主站蜘蛛池模板: 一级毛片无毒不卡直接观看| 亚洲色图另类| 狠狠做深爱婷婷久久一区| 亚洲国产第一区二区香蕉| 熟女日韩精品2区| 中文字幕在线看| 谁有在线观看日韩亚洲最新视频| 激情爆乳一区二区| 在线免费亚洲无码视频| 国产极品粉嫩小泬免费看| 区国产精品搜索视频| 91综合色区亚洲熟妇p| 中文字幕欧美成人免费| 青青草综合网| 午夜在线不卡| 99这里只有精品6| 亚洲精品第一页不卡| 成人在线第一页| 日本在线国产| 亚洲国产欧洲精品路线久久| 99视频精品全国免费品| 日韩精品高清自在线| 精品無碼一區在線觀看 | 精品国产一区二区三区在线观看| 国产视频一区二区在线观看| 亚洲成人黄色在线| 国产福利小视频在线播放观看| 免费一级α片在线观看| 日韩免费视频播播| 久久不卡国产精品无码| 91在线播放国产| 成年人国产视频| 国产欧美精品专区一区二区| 欧美三级日韩三级| 九九九精品视频| 欧美久久网| 天堂在线视频精品| 久久精品亚洲中文字幕乱码| 六月婷婷激情综合| 久青草网站| 国产91高跟丝袜| 中国一级特黄大片在线观看| 国产精品福利导航| 国产高清在线观看91精品| 福利在线一区| 精品福利一区二区免费视频| 国产福利一区二区在线观看| 2021精品国产自在现线看| 久久久久免费精品国产| 四虎亚洲精品| 国产在线视频导航| 国产黄视频网站| 人妻熟妇日韩AV在线播放| 亚洲精品爱草草视频在线| 99青青青精品视频在线| 国产二级毛片| 国产日本视频91| 依依成人精品无v国产| 国产噜噜在线视频观看| 毛片在线看网站| 国产91在线免费视频| 国产在线观看91精品| 亚洲人成网站日本片| 久草网视频在线| 国产流白浆视频| 亚洲永久免费网站| 久久久噜噜噜| 国产亚洲高清视频| 亚洲中文无码h在线观看| 国产成人久视频免费| 在线不卡免费视频| 亚洲AV永久无码精品古装片| 日韩精品成人在线| 亚洲一区二区黄色| 伊人狠狠丁香婷婷综合色| 男女性午夜福利网站| 青青青视频免费一区二区| 精品久久高清| 伊伊人成亚洲综合人网7777| 伦精品一区二区三区视频| 九九九精品视频| 韩日无码在线不卡|