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

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

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

裴 佩 盧立丹

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

1 引言

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

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

2 SystemC語言的特征

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

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

圖1 SystemC描述加法器的簡單實例

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

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

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

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

3.1 pn序列簡介

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

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

1)具有尖銳的自相關性;

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

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

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

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

3.2 pn序列發(fā)生器設計

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

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

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

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

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

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

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

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

本次設計中采用的生成多項式為:f(x)=x12+x6+x4+x+1。

3.2.1 m序列的systemc主要程序設計

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

模塊功能:該模塊是周期為4095(12級)的m序列發(fā)生器,采用線性反饋移位寄存器實現(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;//設定寄存器的初始狀態(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軟件“工程設置”中,設置綜合的目標芯片為 Altera Stratix II系列的ep2s130f1020c4。

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

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

為了驗證結(jié)果的準確性,利用ModelSim軟件和Quartus II軟件對綜合出的Verilog HDL程序進行仿真,得到仿真結(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é)果的正確性,將考察從三個時間處的連續(xù)32比特m_out信號序列。結(jié)果見表1。經(jīng)統(tǒng)計,一個周期內(nèi)有2048個1,2047個0。

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

由此可見,生成的周期為4095的該m序列符合設計要求。

4 結(jié)語

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

1)SystemC語言更加靈活,因為其本質(zhì)上是C++語言,所以設計更加靈活。

2)SystemC語言的設計效率更高。

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

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

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

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

[2]Agility公司.agility_manual

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

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

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

猜你喜歡
進程系統(tǒng)設計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
瞞天過海——仿生設計萌到家
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
我國高等教育改革進程與反思
主站蜘蛛池模板: 黄色免费在线网址| 中文字幕佐山爱一区二区免费| 国产精品白浆无码流出在线看| 亚洲国产高清精品线久久| 国产人成乱码视频免费观看| 少妇被粗大的猛烈进出免费视频| 26uuu国产精品视频| 十八禁美女裸体网站| 女人18毛片一级毛片在线| 无码有码中文字幕| 亚洲人妖在线| 高清亚洲欧美在线看| 97视频在线精品国自产拍| 成人福利在线观看| 日韩天堂网| 亚洲国产欧美目韩成人综合| 91娇喘视频| 久久久波多野结衣av一区二区| 欧美丝袜高跟鞋一区二区| 99免费视频观看| 六月婷婷综合| 亚洲另类色| 亚洲精品视频在线观看视频| 女高中生自慰污污网站| 亚洲h视频在线| 成色7777精品在线| 婷婷伊人五月| 国产一区二区人大臿蕉香蕉| 中日韩欧亚无码视频| 97影院午夜在线观看视频| 国产福利在线免费| 视频二区中文无码| 国产人成在线视频| 国产一级无码不卡视频| 国产性生大片免费观看性欧美| 亚洲精品综合一二三区在线| 亚洲欧美不卡中文字幕| 国产在线观看成人91| 国产va免费精品观看| 中文字幕66页| 亚洲色图欧美| 欧美成人精品高清在线下载| 亚洲日韩Av中文字幕无码| 亚洲国产黄色| 色婷婷在线影院| 野花国产精品入口| 国产成人精品男人的天堂下载 | 国产网站免费观看| 国产91视频免费观看| 亚洲AV无码久久天堂| 99热这里只有精品在线播放| 99免费视频观看| 亚洲91精品视频| 国产精品jizz在线观看软件| 中文字幕欧美日韩| 国产精品熟女亚洲AV麻豆| 亚洲AⅤ无码日韩AV无码网站| 免费一级成人毛片| 中文字幕色在线| 中文字幕调教一区二区视频| 91麻豆国产在线| 99青青青精品视频在线| 无码网站免费观看| 久久无码av一区二区三区| 亚洲国产精品成人久久综合影院| 久久久久无码国产精品不卡| 9cao视频精品| 高清无码不卡视频| 国产美女精品一区二区| 毛片在线看网站| 亚洲区视频在线观看| 国产成人禁片在线观看| h网址在线观看| 无码AV动漫| 女人18一级毛片免费观看| 国产永久免费视频m3u8| 欧美69视频在线| 亚洲成A人V欧美综合| 久久中文电影| 欧美一区二区福利视频| 19国产精品麻豆免费观看| 久久永久精品免费视频|