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

        ?

        基于Verilog HDL的SPI IP核的設(shè)計及仿真實現(xiàn)

        2010-08-24 01:46:52白光澤
        制造業(yè)自動化 2010年15期
        關(guān)鍵詞:寄存器長春時鐘

        白光澤,邢 燕

        BAI Guang-ze1,XING Yan2

        (1.長春職業(yè)技術(shù)學(xué)院,長春 130033;2.長春物業(yè)管理學(xué)校,長春 130033)

        0 引言

        集成電路(IC,Integrated Circuit)作為各種信息設(shè)備的核心,它體現(xiàn)一個國家的利技實力、綜合國力及對科學(xué)界和社會的影響力,它也是國家的戰(zhàn)略性產(chǎn)業(yè)。為了抓住IP設(shè)計技術(shù)這一提升我國設(shè)計水平、發(fā)展IC產(chǎn)業(yè)不可多得的歷史機遇,信息產(chǎn)業(yè)部于2002年成立了集成電路IP核標(biāo)準(zhǔn)工作組,為我國IP核標(biāo)準(zhǔn)的制定及其在業(yè)界的推廣等方面做了大量的工作。因此,研究、開發(fā)和應(yīng)用IP核技術(shù),對企業(yè)、對國家、乃至對全球的IC產(chǎn)業(yè)的發(fā)展都有著至關(guān)重要的意義。

        隨著SOC的規(guī)模不斷擴大,集成的IP模塊不斷增多,復(fù)雜程度不斷加大,使得片上各個模塊之間的通信問題越來越突出,為了解決這一問題,各大公司都相繼推出了自己的IP核互聯(lián)規(guī)范。另外,長期以來,外圍設(shè)備與主機CPU速度之間的不匹配始終困擾著人們,影響了計算機系統(tǒng)的迅速發(fā)展,隨著計算機處理能力及存儲規(guī)模的迅速增長,這個問題表現(xiàn)得更加突出。

        本文的針對SOC片上系統(tǒng)的SPI接口設(shè)計[1],目標(biāo)是實現(xiàn)適用于SOC設(shè)計并且符合SPI通行協(xié)議的IP核,讓SOC通過此SPI核可以與外圍設(shè)備通信,中間以片上總線Wishbone為接口。設(shè)計中,本著片上系統(tǒng)SOC要求的高度集成和低功耗的特點,在設(shè)計時將面積和功耗放在了第一位,這意味著在用Verilog HDL編程時,必須在遵循SPI協(xié)議、實現(xiàn)基本SPI通信的基礎(chǔ)上,將RTL級邏輯門數(shù)盡可能的減少。保留規(guī)定的四個外部信號,將SPI主機與從機分開,僅設(shè)計SPI_MASTER Core,利用控制寄存器進行狀態(tài)控制,省去時鐘極性與相位配置,直接與Wishbone總線連接。其次,圍繞著SPI IP核的設(shè)計與實現(xiàn)來討論和研究SOC設(shè)計中IP設(shè)計的方法。

        SPI Master設(shè)計是本設(shè)計的核心,其主要目標(biāo)是能實現(xiàn)Wishbone Master對SPI Maste的初始化,配置SPI Master的控制寄存器,以實現(xiàn)對SPI各傳輸模式的控制,及其雙向數(shù)據(jù)通信。其次,是實現(xiàn)SPI Master與SPI Slave之間的數(shù)據(jù)雙向通信,從而實現(xiàn)SOC與外界的數(shù)據(jù)通信。在設(shè)計程序時,采用了top-down至上而下的設(shè)計流程,那么首先做的是對所要設(shè)計的SPI IP核做總體的規(guī)劃,建立架構(gòu),對系統(tǒng)進行層次劃分。

        1 WISHBONE接口信號聲明[2, 3]

        根據(jù)前面對Wishbone總線的介紹,在本設(shè)計中spi_master模塊內(nèi)Wishbone接口就是初wishbone slave接口。按照Wishbone協(xié)議,端口定義如下表1所示:

        表1 Wishbone slave接口信號表

        2 程序模塊介紹

        1)spi_defines模塊

        該模塊是宏定義模塊,主要規(guī)定了分頻值由訪divider,允許一次最大傳輸字節(jié)SPI_MAX_CH,從機擴展數(shù)SPI_SS_NB以及各寄存器的相關(guān)數(shù)據(jù)。這里采用了define來定義,主要一個特點就是這些宏定義中的參數(shù)都是全局的,并不局限在某個module范圍之內(nèi),這樣可以便于對所設(shè)計的IP核的參數(shù)做修改,從而提高IP核的通用性和可移植性。

        2)spi_master模塊

        由前面的設(shè)計思路可知,該模塊要完成與wishbone_master的連接,實分頻和串并轉(zhuǎn)換。按照設(shè)計目標(biāo),可將spi_master劃分成如下的功能塊和模塊:

        (1)地址解碼;

        (2)讀寄存器,并行輸出至wishbone

        (3)寫寄存器,由wishbone并行輸入對曲divider, control和 slave slect寄存器初始化;

        (4)實現(xiàn)分頻,spi_clgen子模塊;

        (5)實現(xiàn)串并轉(zhuǎn)換,spi_shift子模塊。

        3)spi_slave模塊

        spi_slave用于完成數(shù)據(jù)串行輸入輸出,其時鐘信號是spi_clgen產(chǎn)生的sclk,與spi_shift時鐘同步。注意的是,spi_slave均是從其數(shù)據(jù)寄存器最高位串行輸出miso,從最低位串行輸入miso,且傳輸和接收的時鐘邊沿與spi_shift相同。

        4)wb_master模塊

        該模塊在本設(shè)計中只是作為SOC端,來模擬SOC對spi_master讀寫數(shù)據(jù),其中只是簡單地運用任務(wù)(task)寫了一個讀任務(wù)、一個寫任務(wù)和一個數(shù)據(jù)比較任務(wù)。

        3 設(shè)計仿真與驗證

        仿真與驗證是IP核設(shè)計中非常重要的一部分,因為它直接關(guān)系著IP的可用性??紤]到設(shè)計的SPI的門數(shù)和速度上的要求比較低,以及實際資金等清況,在仿真時,本文采用軟件仿真[4,5]的方式。為突出典型性和正確性,所以spi_master只選擇了與一個spi_slave連接進行通信,在不同的傳輸要求下,分別檢測lbit,8bit,16bit,32bit,64bit和128bit數(shù)據(jù)傳輸,測試的基本步驟為:首先是調(diào)用Wb_master模塊中的寫任務(wù)對各個相關(guān)寄存器進行初始化,完成傳輸之前的準(zhǔn)備工作,結(jié)束之后,會顯示在某時刻programmed register;之后,是調(diào)用數(shù)據(jù)比較任務(wù),對寫入寄存器的數(shù)據(jù)進行驗證,確認(rèn)之前寫寄存器操作的正確性,完成之后會顯示在某系統(tǒng)時刻 verified register;接著是進行不同位數(shù)、不同順序的傳輸:最后對比傳輸之后的數(shù)據(jù)與期望的數(shù)據(jù),從而驗證傳輸?shù)恼_性,如果傳輸正確則顯示 transfer completed ok,否則,顯示錯誤。

        另外,在spi_defines模塊中,本文測試時設(shè)置了最大傳輸數(shù)據(jù)長度為128bit,先對 spi_master進行初始化,然后對各寄存器寫入數(shù)據(jù),第一次是8bits的傳輸,spi_master tx0中并行數(shù)據(jù)為32'h5a,spi_slave數(shù)據(jù)寄存器內(nèi)為32'ha5967e5a,首先傳高位,上升沿傳輸,下降沿采集,按照spi_shift模塊中tx寄存器的傳輸規(guī)則,傳輸完成之后spi_slave.data=32'h967e5a5a以tx0=32'ha5;第二次與第一次一樣是8bits的傳輸,tx0=32'ha5,只是換成在下降沿傳輸,上升沿采集,傳輸完成之后spi_slave.data=32'h7e5a5aa5以及tx0=32'h96;第三次是16bits的傳輸,首先傳低有效位(lsb first),tx0=32'h5aa5,此時spi_slave.data=32'h7e5a5aa5,由于是lsb first,按照tx的傳輸規(guī)則,32'h5aa5的lsb先傳輸,則變?yōu)?2'ha55a從spi_slave.data的最低位經(jīng)mosi串行輸入,同時spi_slave.data[31:16]=16'h7e5a,由最高位開始經(jīng)miso并行輸入tx,從tx的最低位開始鎖存,16'h7e5a變?yōu)?6'ha57e,所以傳輸完成后spi_slave.data[15:0]=16'ha55a以及tx0=32'h5a7e;同理,測試程序?qū)?4bit,128bit,32bit,1bit進行了檢測,以及在ie和ass賦值的情況下。最后在linux環(huán)境下的EDA平臺上,用Ncverilog進行仿真,最終得到了較滿意的仿真結(jié)果,仿真結(jié)果如圖2,所有仿真模式全部通過。

        圖2 SPI IP 核的仿真結(jié)果

        [1] L.Bacciarelli.G.Lucia.Design,testing and prototyping of a software programmable I2C/SPI IP on AMBA bus.Research in Microelectronic and Electronic.2006: 373-376.

        [2] 牛風(fēng)舉.劉元成.朱明程.基于IP復(fù)用的數(shù)字IC設(shè)計技術(shù).電子工業(yè)出版社,2003.

        [3] 李寬余.戴瑜興.張義兵.基于可編程邏輯器件的串行外設(shè)接口設(shè)計及實現(xiàn).低壓器件,2004(11):28-30.

        [4] Cadence Design Systems Inc.Verilog-XL Reference [C].Cadence, 2003.

        [5] 陳獻文.HDL Debugging with Debussy [M].2004.

        猜你喜歡
        寄存器長春時鐘
        別樣的“時鐘”
        初夏
        古代的時鐘
        Lite寄存器模型的設(shè)計與實現(xiàn)
        印語長春
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        有趣的時鐘
        時鐘會開“花”
        走進長春凈月潭
        長春——我熱愛的森林城
        久久国产影视免费精品| 亚洲av乱码一区二区三区女同| 久久婷婷夜色精品国产| 亚洲av日韩一卡二卡| 丰满熟女高潮毛茸茸欧洲视频| 国产超碰人人模人人爽人人喊| 岛国大片在线免费观看| 日本高清人妻一区二区| 久久亚洲精品中文字幕| 精品国产午夜理论片不卡| 久久综合色鬼| 国内专区一区二区三区| 亚洲精一区二区三av| 少妇性荡欲视频| Y111111国产精品久久久| 少妇又紧又色又爽又刺| 国产精品毛片无遮挡高清| 国产精品无码av一区二区三区| 精品国产群3p在线观看| 国产精品不卡免费版在线观看| 国产网站一区二区三区| 深夜爽爽动态图无遮无挡| 色婷婷久久综合中文久久蜜桃av| 少妇被粗大进猛进出处故事| 久久久久99精品成人片| 国产自拍av在线观看视频 | 久久久国产熟女综合一区二区三区| 中文字幕人乱码中文字幕| 国产午夜三级一区二区三| 老熟女一区二区免费| av免费观看网站大全| 国产精品泄火熟女| 中国熟妇人妻xxxxx| 国产亚洲欧洲AⅤ综合一区| 成人影院视频在线播放| 亚洲一区二区三区影院| 亚洲av无码乱码国产麻豆穿越| 亚洲av天堂久久精品| 久久伊人最新网址视频| 国产精品中文久久久久久久| 亚洲自拍另类制服在线|