亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2010-08-11 05:26:40盧立丹
        艦船電子工程 2010年2期
        關鍵詞:寄存器移位進程

        裴 佩 盧立丹

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

        1 引言

        隨著集成電路設計的發(fā)展,SoC時代已經(jīng)到來。為了滿足SoC設計的要求,一種能夠同時實現(xiàn)較高層次的軟件和硬件描述的系統(tǒng)級設計語言,可以大大提高設計效率。SystemC正是這樣一種適于系統(tǒng)級設計的硬件描述語言。它支持門級、RTL級、系統(tǒng)級等各個抽象層次上的硬件的建模和仿真,而且支持軟硬件協(xié)同設計,能夠描述由硬件和軟件組成的復雜系統(tǒng)結構,支持在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)將抽頭信號進行“異或”,結果反饋到移位寄存器的輸入端。

        本次設計中采用的生成多項式為: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ā)生器綜合信息圖

        為了驗證結果的準確性,利用ModelSim軟件和Quartus II軟件對綜合出的Verilog HDL程序進行仿真,得到仿真結果如圖3所示。

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

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

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

        3.2.3 m序列仿真結果分析

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

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

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

        4 結語

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

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

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

        3)SystemC語言對于具有C語言基礎卻熟悉Verilog語言的技術人員更有優(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

        猜你喜歡
        寄存器移位進程
        Lite寄存器模型的設計與實現(xiàn)
        計算機應用(2020年5期)2020-06-07 07:06:44
        再生核移位勒讓德基函數(shù)法求解分數(shù)階微分方程
        債券市場對外開放的進程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        大型總段船塢建造、移位、定位工藝技術
        Σ(X)上權移位算子的不變分布混沌性
        分簇結構向量寄存器分配策略研究*
        多指離斷手指移位再植拇指25例
        社會進程中的新聞學探尋
        民主與科學(2014年3期)2014-02-28 11:23:03
        我國高等教育改革進程與反思
        Linux僵死進程的產(chǎn)生與避免
        日本精品女优一区二区三区| 中文字幕一区二区三区四区在线 | 中文字幕精品亚洲无线码二区| 久久精品国产亚洲av网站 | 在线视频制服丝袜中文字幕 | 国产亚洲日本精品二区| 久久99精品久久久久久清纯 | 免费一级特黄欧美大片久久网| 无码伊人久久大杳蕉中文无码| 看国产亚洲美女黄色一级片 | 欧美va亚洲va在线观看| 视频二区 无码中出| 狠狠爱婷婷网五月天久久| 成人精品天堂一区二区三区 | 网禁拗女稀缺资源在线观看| 1000部拍拍拍18勿入免费视频下载| 草草影院ccyy国产日本欧美| 久久久亚洲av波多野结衣| 99热久久精里都是精品6| 亚洲天天综合色制服丝袜在线| 国产日本精品一区二区免费 | av国产自拍在线观看| 精品视频一区二区三区在线观看| 成人免费毛片内射美女-百度| 被暴雨淋湿爆乳少妇正在播放 | 色综合久久五月天久久久| 精品粉嫩av一区二区三区| 老少配老妇老熟女中文普通话| 久久噜噜噜| 少妇人妻在线伊人春色| 人妻体内射精一区二区三区 | 一卡二卡三卡视频| 久久成人黄色免费网站| 国产麻豆精品传媒av在线| 国产一区二区内射最近更新| 无码av免费永久免费永久专区| 久久精品久久精品中文字幕| 天天躁日日躁aaaaxxxx| 色欲麻豆国产福利精品| 亚洲美女av一区二区| 日本激情网站中文字幕|