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

基于SOPC的數據發生系統設計

2009-05-12 03:14:34邱文靜張曉輝
現代電子技術 2009年5期

邱文靜 張 凱 張曉輝

摘 要:提出一種基于SOPC的數據發生系統及其PCI接口的設計方案,詳細介紹了系統主要模塊的硬件設計方法,實現SOPC系統中定制用戶自定義主從外設及其通過相應的主從端口與Avalon總線的連接,并在EDA 工具QuartusⅡ和ModelSim平臺上用硬件描述語言VHDL語言對該方案中的基本模塊,如數據產生,乒乓結構和PCI9054接口邏輯進行了邏輯綜合及功能仿真??梢栽诒鞠到y的基礎上,通過軟件的完善,實現復雜的非常規類型數據的產生,提高了系統的適應性和靈活性,有利于參數的修改和系統升級。

關鍵詞:SOPC;Avalon總線;乒乓結構;PCI9054

中圖分類號:TP27文獻標識碼:B

文章編號:1004-373X(2009)05-167-04

Design of Data Generating System Based on SOPC

QIU Wenjing,ZHANG Kai,ZHANG Xiaohui

(Southeast University,Nanjing,210096,China)

Abstract:A design of data generating system based on SOPC is presented.The implement of hardware circuit of significant parts is introduced.In this paper,user logic models are turned into SOPC Builder components with master port or slave port,which are connected to Avalon bus.The basic models,such as data generator,ping-pong structure and PCI9054 interface logic are synthesized in logic and simulated in function with VHDL hardware description language on QUARTUSⅡand ModelSim EDA tool-desk.Meanwhile,based on the system,generating more complex data can be achieved through the well established software.Using this method can enhance the system′s flexibility and adaptability which has wide application in the future.

Keywords:SOPC;Avalon bus;ping-pong structure;PCI9054

0 引 言

可編程片上系統(SOPC)是一種特殊的嵌入式系統,因為SOPC是片上系統(SoC),即由單個芯片完成整個系統的主要邏輯功能;SOPC是可編程系統,具有靈活的設計方式,可裁減,可擴充,可升級,并具備軟硬件在系統可編程的功能;SOPC結合了SoC 和FPGA 的優點,涵蓋了嵌入式系統設計技術的全部內容;SOPC 涉及目前已引起普遍關注的軟硬件協同設計技術。

現以數據發生系統為例,介紹采用SOPC技術,以硬件描述語言為主要手段,產生偽隨機序列的設計方案。研究了偽隨機序列的產生,兩片SRAM乒乓結構存儲以及通過PCI9054芯

片與PC機之間數據傳遞等模塊的硬件實現問題。

1 基本原理和系統的整體結構

本系統的主要模塊框圖如圖1所示,SOPC系統采用Altera的Cyclone Ⅱ系列的芯片。系統包括Nios Ⅱ軟核處理器,擴展的程序存儲器FLASH,數據存儲器SRAM,以及用戶自定義邏輯如PCI9054接口邏輯模塊、數據產生模塊、乒乓結構模塊等,并通過Avalon總線連接起來。數據產生模塊產生偽隨機序列,該數據存儲到兩片片外擴展的SRAM中,PCI9054接口邏輯將數據從SRAM中讀出后通過PCI9054接口芯片傳輸到PC機中,其中SRAM中數據的寫入和讀出是通過乒乓結構模塊控制的。

圖1 系統主要模塊框圖

由于PCI總線協議比較復雜,該系統采用PCI接口專用芯片PCI9054,用于PCI總線的控制。為了實現數據的高速傳輸,采用了DMA傳輸模式。在該模式中,PCI9054既是PCI總線的控制器又是本地總線的控制器[1],所以其與FPGA之間的接口邏輯模塊設置為Avalon主外設,控制SRAM的讀操作。

FPGA的片上資源很寶貴,所以數據的存儲采用了片外擴展SRAM。由于數據為16 b,而且為實現數據的高速傳輸,采用了兩片256K×16 b的SRAM(IDT71V416)構成乒乓結構,以用作系統的數據存儲器。為保證整個系統高速運行以及以后升級的需要,選用了存取時間為10 ns的IDT71V416。

2 系統主要硬件設計

2.1 數據產生模塊

該模塊的邏輯功能由VHDL語言設計實現,可以通過修改該模塊的設計產生所需要的數據,本系統產生的數據為偽隨機序列。模塊的邏輯功能是:先產生8 b的偽隨機數,再將所產生的數據通過D觸發器組合成16 b的數據。該系統采用了非線性反饋的移位寄存器,即全狀態移位計數器[2]來產生所需要的偽隨機數。這種計數器利用了移位寄存器的所有狀態,能夠自啟動,不需要額外輸入。這種偽隨機序列發生器,可大大簡化結構,提高可靠性,易于實現。

全狀態移位計數器的狀態變化規律有兩個特點:狀態的最高位由反饋函數確定;余下的各位由原態移位得到。該系統采用的反饋函數為:

D1 = Q8軶4軶3⊙(Q2Q7Q6Q5Q1)

式中:Q璱(i=1,…,8)為電路的現態。

2.2 乒乓結構模塊

2.2.1 乒乓結構的硬件實現

為了提高系統的傳輸速率,兩片SRAM構成了乒乓緩存結構[3],即在一片執行寫操作的同時,另一片在執行讀操作。乒乓結構模塊的原理如圖2所示,P1口與數據產生模塊相連接,僅具有寫入功能,P2口設計為Avalon從端口,與Avalon總線相連僅具有讀出功能。

圖2 乒乓緩存控制器

對于數據產生模塊而言,由于僅具有并行數據的輸出,沒有地址和控制信號端口,故它無法直接對SRAM進行寫操作,因而要求乒乓結構模塊有地址產生功能。P1口的CLK作為計數器的脈沖源,計數器的輸出作為SRAM的地址。DB1連接數據產生模塊的輸出端。CB1為控制信號,因為P1口只有寫入功能,所以其we_n恒接低,oe_n恒接高。

P2口為只有讀出功能的Avalon從端口,所以AB2為從端口的地址線address;DB2為數據線readdata;CB2中的we_n為讀信號線read,oe_n恒接低。由于兩片SRAM始終處于工作狀態,所以相應的片選信號chip_select_n恒接低。

兩片SRAM在P1口和P2口之間的切換的控制信號即chipselect,由計數器產生。當計數值小于262 144時,chipselect接低,SR1與P1口相接,SR2與P2口相接;當計數值在262 144~524 288之間時,chipselect接高,SR1 與P2口相接,SR2與P1口相接。當計數值到達524 288時,計數器清零。

2.2.2 Avalon從外設的端口信號設計

系統中,數據產生模塊與乒乓結構模塊結合為一個模塊,通過P2口掛在Avalon總線上。該模塊的信號列表如圖3所示。其中,avalon_slave_0接口類型的信號與Avalon總線相連接,而conduit_end接口類型的信號與SRAM相連接。圖3中的Avalon從端口即為P2口,采用了流水線讀傳輸的模式,這種模式能在前一次傳輸返回readdata前開始一次新的傳輸,增加了帶寬。

圖3 Avalon 從外設端口信號設計

2.2.3 動態地址對齊及其時序設計

Avalon總線模塊能夠適應主從外設的不同寬度和不匹配的數據寬度。當系統中存在不匹配的存儲端口時,要考慮地址對齊問題。對于存儲器類型的外設,采用動態地址對齊方式[4]。IDT71V416型SRAM是靜態RAM,屬于存儲器型外設,所以該Avalon從端口采用動態地址對齊方式,如圖4所示。選用動態地址對齊方式,使得主端口能連續地對從外設進行讀寫,并使系統將外設認作存儲器型外設。

圖4 Avalon從端口地址對齊設置

根據IDT71V416型SRAM手冊[5]中讀寫時序的各時間參數值設定set up,read wait,write wait及hold time的時間均為10 ns,使該端口既符合Avalon總線讀寫時序的要求[6],又符合IDT71V416型SRAM的讀寫時序的要求,如圖5所示。

圖5 Avalon 從端口的時序參數設置

數據產生,乒乓結構和兩片SRAM三部分的組合在ModelSim中的仿真結果如圖6所示。avalon_address_b不變時是在執行第一次寫操作,此時沒有數據讀出,所以avalon_readdata_b值為高阻;avalon_address_b開始變化時,表示一片SRAM已經寫滿,正在執行該片的讀操作,而另一片在執行寫操作,avalon_readdata_b為系統生成的數據。

圖6 ModelSim仿真結果

2.3 PCI9054接口邏輯模塊

PCI總線作為PC機與外部設備之間重要的連接總線,具有數據傳輸穩定靈活,傳輸速度快,即插即用和良好的擴展性等特點,被廣泛地用在各種與PC機互聯的設備中。該系統采用的PCI9054芯片[1]可以將復雜的PCI總線接口轉換為相對簡單的用戶接口,大大縮短了設計周期。

2.3.1 本地總線狀態機設計

由于PCI9054 的DMA傳輸方式只適宜于做單次傳輸,故該系統采用了DMA結合中斷的方式傳輸數據。由于數據的存儲采用了乒乓結構,可以在一片SRAM執行DMA傳輸的同時執行另一片寫操作,這樣不會造成數據丟失,狀態也比較容易控制。

系統復位后,數據產生模塊開始產生偽隨機序列,產生的數據直接存入SRAM中。此時,計數器同步計數,當計數值每一次達到262 144時,也就是一片SRAM已經存滿時,SOPC系統就會觸發PCI9054中斷請求信號LINT#,CPU響應中斷,發出讀命令、要讀取的字節數、地址信號等。PCI9054先通過LHOLD申請本地總線的控制權,SOPC系統通過LHOLDA響應,使PCI9054獲得本地總線的控制權。PCI9054將PCI地址空間映射到本地地址空間,接著啟動本地總線的DMA傳輸[7]。

該系統采用VHDL語言,實現了DMA讀傳輸本地端的時序控制狀態機設計。狀態0為空閑狀態(idle),若LHOLD信號被置1,則轉到狀態1,否則留在狀態0。狀態1為總線保持狀態(hold),在此狀態下應將LHOLDA信號置1。如果信號ADS為0且LW_R為0,則轉到狀態2。狀態2為DMA讀狀態(DMA_read),在此狀態下應將READY信號和模塊內部信號avalon_read置1,從而使Avalon主端口的master_read置1,表示Avalon主外設發起讀傳輸。如果BLAST為1,則表明此次DMA讀取還沒有完成,繼續留在狀態2;如果BLAST為0,則表明此次DMA讀取完成,轉到狀態3。狀態3為DMA讀操作完成狀態(end_cycle),當LHOLD被置0時,表示PCI9054不再請求本地總線,則轉到狀態0;當BLAST為0且LHOLD為1時,則表明PCI9054還要進行DMA讀操作,則轉到狀態1繼續。其中的DMA讀操作的時序邏輯的ModelSim仿真結果如圖7所示。

圖7 DMA讀時序邏輯的仿真結果

2.3.2 Avalon主外設的端口信號設計

該系統中,PCI9054控制數據從本地總線上讀出,先到PCI9054的FIFO中,再將FIFO中的數據傳輸到PCI總線上。因此SOPC系統中的PCI9054接口邏輯模塊為Avalon主外設,主端口通過address,read,waitrequest等信號發起Avalon總線上的讀操作,從而控制Avalon從外設即乒乓結構模塊的讀操作。

由于本系統定制的從外設采用了流水線讀的傳輸模式,為了使端口傳輸模式匹配,主外設也采用流水線讀的傳輸模式。流水線主端口一個必須的信號為readdatavalid,Avalon交換結構向主端口發出readdatavalid,以表示readdata信號正在提供有效的數據。

本系統定制的Avalon主外設構成模塊主要由5部分構成,其中Read Master Logic提供了符合Avalon接口規范的主端口信號;Control Logic是Read Master Logic與PCI9054 Local Bus Logic控制信號和狀態信號轉換的橋梁;FIFO是數據由Read Master Logic向PCI9054傳輸的緩沖區。這三部分通過主端口流水線讀傳輸時序邏輯聯系在一起,提供了Avalon主外設的主端口接口界面。PCI9054 Local Bus Logic即VHDL語言設計的本地總線狀態機,它將PCI9054本地端的信號通過狀態機邏輯轉換為與Control Logic和FIFO相對應的信號;Clock/Reset提供了主外設的clk和reset信號。

利用SOPC Builder中的new component edit設計PCI9054接口邏輯模塊的接口。在new component edit的signal中設置模塊的各信號線以及相應的總線型號類型;在interface中設置各信號線對應的端口類型及其相應的參數。圖8為Avalon主端口的參數設置。

圖8 Avalon主端口設置

2.4 系統中各中斷的實現

在SOPC系統中,當沒有進行傳輸時,Avalon交換結構忽略來自主端口所有與傳輸相關的輸出信號,并且主端口也忽略來自Avalon交換結構所有與傳輸相關的輸入信號。但是Avalon總線接口提供控制信號來實現中斷請求等功能,這些信號不直接與數據傳輸相關。Avalon中斷請求信號允許從端口發出一個IRQ,表明它需要主外設來服務[8]。系統中,PCI9054采用了DMA加中斷的方式來傳輸數據,而且DMA傳輸中的主控制器PCI9054芯片也要通過中斷信號LINT#來觸發,所以中斷的實現是本系統功能實現的關鍵。

系統從端口的中斷原理在于系統復位之后,數據產生模塊開始自動產生偽隨機序列,并自動將數據存入SRAM中,當一片SRAM存滿之后,從端口的irq信號被設置。這個irq信號的時序必須與相關時鐘的上升沿同步,其相關地址端口的名字必須是本模塊中Avalon從端口的名字。系統中從端口中斷的具體設置如圖9所示。

圖9 從端口中斷設置

系統主端口的中斷原理:在于主端口的irq檢測到從端口有中斷發出,通過置為有效來響應這個中斷,并同時用該信號觸發PCI9054的LINT#信號。PCI9054獲得本地總線的控制權,并啟動DMA傳輸,向SOPC系統中的主外設即PCI9054接口邏輯模塊發送地址和傳輸的字節長度,開始DMA傳輸。當字節長度減為0,另一片SRAM存滿時,再次觸發PCI9054的LINT#信號,使得PCI9054啟動下一次DMA傳輸。主端口中斷的設置如圖10所示。

圖10 主端口中斷設置

3 結 語

詳細介紹了基于SOPC設計的數據發生系統中PCI接口的開發過程。對其中的關鍵技術,如設計添加在SOPC系統中的用戶自定義主外設和從外設;PCI9054本地總線狀態機的設計,乒乓結構的存儲模塊的設計,以及系統中各中斷的實現等主要部分做了分析和研究,給出了基于SOPC的硬件實現方案。系統的主要部分由VHDL語言設計實現,有利于參數修改和系統升級。

參考文獻

[1]PCI 9054 Data Book Version 2.1[Z].2000.

[2]張海峰,段穎妮,呂虹.全狀態偽隨機序列發生器的實現[J].電子器件,2006,29(1):177-178,182.

[3]周如輝.實時視頻處理系統的乒乓緩存控制器設計[J].單片機與嵌入式系統應用,2006(7):25-27.

[4]劉沁.Nios Ⅱ處理器的兩類外設接口設計[J].單片機與嵌入式系統應用,2007(11):32-34.

[5]Integrated Device Technology Inc..IDT71V416S,IDT71V-416L,3.3 V COMS Static RAM 4Meg(256K×16 b) [Z].2003.

[6]Altera Corporation.Avalon Interface Specifications Version 1.0[Z].2008.

[7]韓雪峰,黃焱,楊濤.基于PCI總線的高速數據采集接口的設計與實現[J].微計算機信息,2005,21(15):71-73.

[8]周立功.SOPC嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2006.

作者簡介 邱文靜 女,1982年出生,東南大學碩士研究生。研究方向超聲醫學成像中的信號處理。

主站蜘蛛池模板: 欧美激情视频在线观看一区| 欧洲欧美人成免费全部视频| 99久视频| 四虎精品国产永久在线观看| 国产精品视频观看裸模| 一级毛片免费观看久| 欧美成人精品一级在线观看| 国产成人麻豆精品| www.youjizz.com久久| …亚洲 欧洲 另类 春色| 国产自在线拍| 青青久久91| 欧美日韩午夜视频在线观看| 亚洲一区二区三区香蕉| 免费A级毛片无码免费视频| 91精品啪在线观看国产| 国产流白浆视频| 国产一级妓女av网站| 91亚洲精选| 亚洲精品国产成人7777| 九九香蕉视频| 女人18一级毛片免费观看 | 国产毛片高清一级国语| 亚洲91精品视频| 日本成人在线不卡视频| 国产永久无码观看在线| 国产剧情无码视频在线观看| 欧美成人一级| 99ri国产在线| 国产69精品久久久久孕妇大杂乱| 日韩大片免费观看视频播放| 精品国产福利在线| 99在线免费播放| 亚洲 日韩 激情 无码 中出| 亚洲视频免| 国产毛片基地| 99在线视频网站| 亚洲AV无码久久精品色欲| 激情六月丁香婷婷| 国产凹凸一区在线观看视频| 日韩AV无码免费一二三区| 国产区免费精品视频| 精品福利国产| 亚洲综合经典在线一区二区| 美女无遮挡被啪啪到高潮免费| 高清无码不卡视频| 一级毛片免费观看不卡视频| 无码日韩精品91超碰| 久草网视频在线| 71pao成人国产永久免费视频| 国产你懂得| 国产精品护士| 天天色天天操综合网| 欧美自拍另类欧美综合图区| 91在线无码精品秘九色APP| 欧美无遮挡国产欧美另类| 日韩精品中文字幕一区三区| 色AV色 综合网站| 国产黄在线免费观看| 国产精品美女网站| 日本不卡在线播放| 91精品人妻互换| 国产精品亚洲精品爽爽 | 国内精品小视频在线| 亚洲综合激情另类专区| 女人天堂av免费| m男亚洲一区中文字幕| 在线观看国产精品第一区免费| 欧美精品三级在线| 亚洲欧美天堂网| 亚洲精品第一在线观看视频| 日本精品视频一区二区| 婷婷伊人五月| 无码专区在线观看| 色天天综合久久久久综合片| 综合色在线| 不卡的在线视频免费观看| 永久免费av网站可以直接看的 | 午夜国产大片免费观看| 国产欧美视频在线观看| 真实国产乱子伦高清| 四虎亚洲精品|