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

DDR3上的雙讀寫通道設計與實現

2018-04-17 08:42:39葉李萍王經坤姚遠程
自動化儀表 2018年4期
關鍵詞:用戶設計

唐 瑞,葉李萍,王經坤,姚遠程

(1.西南科技大學信息工程學院,四川 綿陽 621010;2.西華師范大學商學院,四川 南充 637000)

0 引言

第三代雙倍數據傳輸速率同步動態隨機存儲器(double-data-rate three synchronous dynamic random access memory,DDR3 SDRAM)自面世以來,以其相對于DDR2更高的運行效能與更低的電壓功耗等優勢,迅速在諸多領域中取代了DDR2,成為新一代高速、大容量數據緩存器中的較好選擇[1]。通常Xilinx官方提供的DDR3 IP核中默認只有一套讀寫通道,讀寫共用同一套地址[2]。本設計是在DDR3上,切割出兩套獨立讀寫通道,基于時分復用(time division multiplexing,TDM)原則,使每一套讀寫接口互不影響。在第一套接口中向DDR3寫入數據的同時,該設計實現了向第二套接口中寫入或者讀出數據,增強了DDR3的靈活性,提高了DDR3的使用效率。

1 DDR3的雙讀寫通道設計

隨著高速圖像處理技術的飛速發展,在實現圖像算法的過程中,往往需要實時處理大量的數據,所以必須采用高速數據緩存器DDR3作為實時數據緩存工具。目前,各大FPGA廠商都提供了對DDR3讀寫控制的IP核。但該IP核僅支持一套讀寫接口[3],無法同時進行讀寫。這是由于DDR3本身的特性所決定的。為了彌補這一缺點,需要設計一種從用戶接口到DDR3的橋接電路。該電路使用時分復用的設計理念,能充分提高DDR3的讀寫效率;同時,結合外部的緩存器先入先出隊列(first input first output,FIFO),可同時實現對DDR3的讀寫操作。

2 實現方案設計

本文使用Xilinx公司提供的IP核,生成控制DDR3的控制器核(memory interface generator,MIG),并與用戶接口[4]。本設計在該控制器的基礎上,通過時分復用原則,將一套不獨立的讀寫通道搭建為雙獨立的讀寫通道,能滿足用戶同時讀寫的要求。

2.1 硬件模塊結構

整個硬件模塊分為4大部分:用戶接口模塊,時分復用橋接電路模塊,Xilinx公司所提供的DDR3控制器以及DDR3芯片。其中,用戶接口模塊作為面向用戶的接口,包含兩套獨立的讀寫接口。此模塊是發起讀寫操作的源頭。時分復用橋接電路模塊可實現雙讀寫端口向單讀寫端口的轉換。此模塊內部包含4個FIFO,用于DDR3讀寫雙通道的數據臨時緩存。DDR3控制器由IP核MIG生成,能完成對DDR3寫入數據和讀出數據的操作,是DDR3的主要控制器,但其僅有一套非獨立讀寫通道。DDR3高速數據緩存器屬于外部硬件器件,可實現數據存儲功能。整個系統硬件設計結構如圖1所示。

圖1  系統硬件設計結構圖Fig.1 Structure of system hardware design

2.2 用戶接口模塊設計

用戶接口包括兩套獨立的讀寫接口port1和port2,可實現用戶數據、用戶配置信息與橋接電路模塊之間的交互。在每套讀寫接口中均有配置端口和數據端口。配置端口包括用戶需要讀(寫)的數據長度,讀(寫)操作的起始地址,讀(寫)命令信號的觸發,讀(寫)操作完成反饋信號;數據端口包括寫入的數據信號,寫入數據有效信號,讀出數據有效信號與讀出的數據信號。port1與port2兩套讀寫接口完全一致,皆包含以上信息。本設計所采用的同步時鐘是由DDR3控制器核輸出的用戶時鐘。該同步時鐘為200 MHz。

2.3 時分復用橋接電路設計

2.3.1時分復用狀態機設計

本文采取時分復用的思想,通過數據切換器,使兩套讀寫接口分時地與DDR3控制器接口相連接。每組讀寫接口負責讀和寫兩種任務。所以,總的狀態可以分為4種:port1寫數據任務,port1讀數據任務,port2寫數據任務,port2讀數據任務。由用戶接口模塊配置的指令決定執行哪些指令。用戶可以同時下達多個指令任務,由時分復用輪循機制輪流執行任務,以達到同時讀寫的效果[5]。

為了讓4個任務在執行時避免因建立沖突而相互獨立,需要定義4個狀態。每個狀態對應執行一個任務。狀態機在空閑狀態中經過條件判斷結構,確定跳轉到用戶下達的任務狀態;進入任務狀態后,開始任務執行計時;任務計時計滿后,無論該任務是否執行完畢,都通過一個額外的結束狀態跳轉到空閑狀態,以完成循環。時分復用狀態機設計如圖2所示。

圖2 時分復用狀態機設計圖Fig.2 Design of the TDM state machine

圖2中,IDEL為空閑狀態。在該狀態中,可實現4種任務命令檢測,并對用戶已下達的多個任務指令進行執行順序的劃分。任務執行順序的劃分采用了1個2 bit位寬的單向計數器flag來實現。flag值為1,對應port1寫數據任務;flag值為2,對應port1讀數據任務;flag值為3,對應port2寫數據任務;flag值為0,對應port2讀數據任務。規定flag在任務執行計時滿8個時鐘周期之后,不管任務是否完成,都跳轉到空閑狀態,flag自動單向加1。flag的不同值代表著對不同任務指令情況進行檢測。當flag為1時,若檢測到用戶下達過port1寫數據任務,而此時又是在port1寫狀態中,則執行該任務;若沒有檢測到用戶下達過port1寫數據任務,則返回,flag自動單向加1,并進行下一個任務狀態檢測[6]。

2.3.2實現時間片的劃分

用戶下達的不同指令任務信息會存儲在不同的對應寄存器中。當上電復位時,該寄存器值為0。當用戶發送讀(寫)指令任務(上升沿脈沖觸發)時,該寄存器值置1,完成任務下達。當任務執行一段時間后,如通過地址長度檢測到該任務被執行完成,則該命令寄存器被清零,完成任務。

為了實現用戶發布的指令任務能同時進行,設計中若單個任務耗時長于8個時鐘單位,則該任務不能被一次性執行完畢,而是采用任務執行計時的機制。通過定義一個任務執行時間計數器,無論任務是否執行完畢,只要該計數器達到閾值,便立即跳出執行狀態并回到IDEL,flag加1,自動檢測執行其他隊列任務。這樣使用輪循的時分復用機制,能滿足同時讀寫的目標。該過程完成了對DDR3執行各種任務時間片的切分。設計中所設置的兩組接口讀寫數據任務定時閾值為8個時鐘周期,同步時鐘為200 MHz[7]。

在經過多次循環后,用戶發布的所有任務被執行完畢。在此過程中,讀寫數據個數計數器對任務中讀寫的數據總量進行計數。系統每讀寫一個數據,則與任務相對應的讀寫數據個數計數器便累加一次。當累計值達到用戶配置的讀寫數據個數(用戶配置讀寫數據長度,通過讀寫數據長度來換算出具體的讀寫數據個數)時,判定本次任務執行完畢,從而將該任務對應的寄存器中的任務信號置0。

系統檢測到讀(寫)命令后,即跳轉到相應的狀態執行任務。每個不同的任務狀態映射為對DDR3控制器讀(寫)操作的不同配置。在進入不同狀態的同時,對應任務起始地址端口的地址值被寄存在相應的地址寄存器中。4個這樣的地址寄存器通過任務狀態控制的數據選擇器連接到DDR3控制器的地址端口。在DDR3和對應FIFO準備完畢的前提下,每次對App_wdf_data端口讀(寫)一個數據,地址寄存器便自增8。由于該端口位寬為512 bit,而DDR3存儲單元位寬只有64 bit,即相當于一次存取了8個DDR3單元數據。當地址寄存器計數至用戶配置的地址緩存長度時,讀(寫)數據個數計數器同時記滿,任務執行完畢,解除任務指令,任務寄存器有效信號置0。

用戶接口電路中使用了4個FIFO作為數據緩存。待寫入DDR3的數據被緩存在寫數據FIFO中。寫數據FIFO輸入位寬為256 bit,輸出位寬為512 bit,以便與DDR3控制器對接。待讀取的數據被緩存在讀數據FIFO中。讀數據FIFO的輸入位寬為512 bit,輸出位寬為256 bit,以便與用戶接口對接。當讀寫FIFO出現任何讀空或因寫滿而導致其未準備好時,整個系統的任務都將暫停執行,直到FIFO恢復正常才可繼續執行。

3 板級實際測試

系統采用Xilinx的SUME開發板作為實現平臺。FPGA采用Vertex7系列的XC7VX690TFFG1761。在Xilinx的VIVADO集成開發環境中,根據以上硬件設計方法,采用VerilogHDL建模實現系統功能。編寫用戶模塊產生數據和控制信息源,通過綜合布局、布線生成比特流文件;然后將比特流文件下載到FPGA板卡上,借助集成在VIVADO中的在線邏輯分析儀工具Debug,實現對測試信號的抓取分析[8]。

經實際上板測試,若同時往port1與port2寫入一定長度的數據:分析Debug工具抓取到的結果,基本實現了同時向DDR3的port1與port2寫入數據,數據和有效信號都能同時從用戶接口模塊送入時分復用橋接電路。但從抓取DDR3核的寫入數據端口可以看到,實際上數據是被輪流寫入port1與port2的,地址在兩個接口間輪流切換,直至寫完用戶規定的地址長度。同樣地,同時對寫入數據進行讀取,分別從port1里讀取剛才寫入port1的數據,從port2里讀出剛才寫入port2的數據。此時可以看出,雖從總體上是兩個端口同時在讀數據,但實際放大后是分時間片讀數據。port1和port2接口交替讀取,提高了DDR3實際使用效率,沒有閑置狀態。

為了驗證數據的正確性,定義了一個累加數據源,同時向port1與port2寫入一定大小的數據;分別利用Debug工具抓取用戶接口模塊的寫入數據與DDR3核接口的寫入數據,對比其是否相同,以確定數據是否成功寫入。從板級測試可以確認,在按照規定時序送入port1與port2的累加數時,從0開始累加,并隨著數據有效信號每次加1,一直寫到規定長度。因此,從地址對應的數據來看,寫入DDR3數據驗證成功。而在寫入數據完成之后,port_wr_done信號拉高,告知用戶已經準備好讀取數據。用戶接口此時送入讀取指令,在port1和port2中同時讀取剛才寫入的數據。從Debug的信息來看,port1與port2能同時讀取數據,且數據為從0開始依次累加,與寫入數據一致,所以DDR3讀取驗證成功。此外,用戶每次下達任務時都能在DDR3的任意地址范圍內選擇讀、寫數據的地址,比如選擇性讀取幾段而非全部數據,以此來測試本設計的靈活性。板級測試表明,DDR3能按要求靈活選擇寫入或讀出地址,各功能可正常使用。

4 結束語

基于Xilinx公司提供的DDR3 IP核控制器MIG,完成了在DDR3上切割為雙獨立讀寫通道的用戶接口。兩套接口互不干擾,能同時完成讀寫操作[9]。設計了一種時分復用橋接電路,將DDR3 IP核MIG提供的一套控制接口搭建為兩套獨立的用戶讀寫接口,通過數據切換器使兩套用戶讀寫接口按時間片分時與DDR3控制器接口相連。通過Virtex-7 XC7V690T板級測試,證明了該DDR3雙讀寫通道控制器能高速、穩定、有效地工作,能滿足用戶同時進行兩套接口的讀寫操作;用戶接口操作時鐘達到200 MHz,DDR3內部數據存儲時鐘達到800 MHz。此雙通道DDR3緩存器適用于各種需要大量高速緩存數據的系統的研發工作,突破了傳統DDR3僅有一套非獨立讀寫接口的局限,提高了DDR3的靈活性與工作效率。

參考文獻:

[1] 唐瑞,姚遠程,秦明偉.高速圖像模擬源的研究與實現[J].自動化儀表,2017,38(8):40-44.

[2] 嚴振杰,俞磊,周鵬成.AP1000無線通信系統電磁兼容性試驗設計[J].自動化儀表,2017,38(2):82-85.

[3] 董旭明,李志斌.計算機視覺在并聯機器人運動學標定中的應用[J].自動化儀表,2016,37(5):16-19.

[4] WANG B P,DU J S,BI X.High bandwidth memory interface design based on DDR3 SDRAM and FPGA[C]//International Soc Design Conference,Gyeongju,2016.

[5] 高勝.高速采樣數據存儲控制器的設計與實現[D].成都:電子科技大學,2016.

[6] ANIL L,SIDDHARTH V,MICHAEL P.A Case Study:Power measurement and optimization of DDR3 DIMM in servers[C]//2015 IEEE Electrical Design of Advanced Packaging and Systems Symposium,Bangalore,2015.

[7] HITESH S,MERVIN J,DAVID S.DDR3 Interconnect optimization-signal integrity and timing analysis perspective[C]//2015 International Conference on Control,Electronics,Renewable Energy and Communications,Bandung,2015.

[8] 畢然.基于DDR3的CMOS高速圖像采集系統的FPGA設計與實現[D].哈爾濱: 哈爾濱理工大學,2015.

[9] JANESKV J,RIZZO N D,HOUSSAMEDDINE D.Device performance in a fully functional 800MHz DDR3 spin torque magnetic random access memory[C]//Memory Workshop (IMW),2015 5th IEEE International,Taipei,2015.

猜你喜歡
用戶設計
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 亚洲熟妇AV日韩熟妇在线| 久久精品日日躁夜夜躁欧美| 欧美成人a∨视频免费观看| 国产精品手机在线播放| 中文字幕日韩欧美| 91麻豆精品国产91久久久久| 欧美伦理一区| 最新国产午夜精品视频成人| 国产精品亚洲一区二区在线观看| 国产黄色爱视频| 国产草草影院18成年视频| 潮喷在线无码白浆| 国产福利一区视频| 国产福利影院在线观看| 国产精品开放后亚洲| 欧美综合区自拍亚洲综合天堂 | 丁香综合在线| 中文字幕久久亚洲一区| 久久这里只有精品国产99| 4虎影视国产在线观看精品| 丰满人妻久久中文字幕| 久青草免费视频| 久久久久九九精品影院| 丁香五月婷婷激情基地| 亚洲高清中文字幕在线看不卡| 伊人久久精品亚洲午夜| 欧美日韩久久综合| 成人午夜精品一级毛片| 国产精品手机在线观看你懂的| 亚洲第一成人在线| 久草性视频| 日韩黄色在线| av手机版在线播放| 成人在线欧美| 日本a∨在线观看| 色悠久久综合| 人人妻人人澡人人爽欧美一区| 欧美精品v欧洲精品| 国产成人精品一区二区三区| 91久久青青草原精品国产| 91视频免费观看网站| 亚洲欧美自拍中文| 2020国产免费久久精品99| 日韩在线影院| 天堂av综合网| 二级特黄绝大片免费视频大片| 久久大香伊蕉在人线观看热2| 久草国产在线观看| 99久久99视频| 少妇人妻无码首页| 国产乱子伦精品视频| 无遮挡国产高潮视频免费观看 | 亚洲AV成人一区二区三区AV| 一级香蕉视频在线观看| 国产91九色在线播放| a毛片免费观看| 国产视频自拍一区| 久久久久无码精品| 国产欧美性爱网| 婷婷六月综合网| 欧美精品影院| 91精品小视频| 欧美日韩免费| 欧美怡红院视频一区二区三区| 99视频在线观看免费| 国产伦片中文免费观看| 国产欧美日韩综合一区在线播放| 国产成人福利在线| 国产不卡国语在线| 波多野结衣一区二区三区四区视频| 国产亚洲精久久久久久无码AV| 无码高潮喷水专区久久| 3p叠罗汉国产精品久久| 国产激情无码一区二区三区免费| 久久福利片| 精品伊人久久大香线蕉网站| 亚洲国产精品无码久久一线| av在线手机播放| 亚洲第一黄色网址| 亚欧成人无码AV在线播放| 婷婷综合缴情亚洲五月伊| 日韩a级毛片|