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

基于有限狀態機的SRAM分區地址發生器的設計與實現

2018-09-10 04:04:55王雪麗羅文廣覃永新
廣西科技大學學報 2018年4期

王雪麗 羅文廣 覃永新

摘 要:根據多通道數據按分時方式保存于同一隨機存儲器中的不同分區空間的需求,設計了一種基于有限狀態機設計方法的存儲器分區地址產生電路.本文以8 Mb的SRAM為設計對象,采用有限狀態機方式對隨機存儲器的讀寫地址的產生進行控制.將SRAM的存儲空間劃分為320×240的4個分區,每個分區空間的寫地址不是連續產生而是以逐行掃描方式產生,使得4個通道的數據能夠準確存儲于對應分區的每個存儲單元內.設計的頂層文件在QuartusⅡ軟件環境下進行編譯和時序仿真.仿真結果表明:采用有限狀態機方法設計的分區地址產生電路能正確地實現SRAM分區地址的產生,并具有容易拓展的優點,為高速數據的存儲工作方法提供了新的思路.

關鍵詞:分區地址發生器;多通道數據分區存儲;有限狀態機;存儲方法;FPGA

中圖分類號:TP333 DOI:10.16375/j.cnki.cn45-1395/t.2018.04.012

0 引言

存儲器是計算機硬件系統的記憶設備,用來存放程序以及信息處理過程中的各種數據.計算機中大部分內存通常是由隨機存儲器RAM組成的,存儲器一般按地址訪問,給出對應地址便可對存儲單元進行讀寫操作.通常情況下,存儲器按行、列排列組成二維存儲矩陣,這種結構形式也使得存儲器的地址總線分成行向地址線(簡稱行地址)和列向地址線(簡稱行地址)兩部分.高位字節表示列地址,低位字節表示行地址.為了滿足信息處理的高速性、實時性和準確性,數據存儲控制器的設計就極其重要[1].

數據存儲技術一般采用全息存儲、專用軟件、專用芯片或編程數據處理器壓縮存儲大量的數據.FPGA芯片因其高速、低功耗和高可靠性等特點在數據存儲控制方面具有明顯優勢,從而成為存儲控制技術中最常用的器件.國內外一些科研機構已經研發出以FPGA為主控芯片的嵌入式高速數據采集及存儲系統,其中也包含了基于FPGA的利用分布式數據庫提供數據存儲和管理、將數據分為塊狀進行存儲的系統.該系統具有良好的性能,且有很大提升空間[2-3],例如:在用于多點監控的多視頻通道合成系統中,需要將多個視頻通道的數據先以分區方式寫入幀緩存器,然后再逐行逐列讀出送入顯示器.寫入幀緩存器的單元地址信號,就可以利用FPGA靈活的編程方式來產生.本次設計中,8 Mb的幀緩存器SRAM分為4個分區,對應于4個視頻數據通道,由FPGA產生4個通道數據的寫地址信號,能夠滿足數據處理高速性、實時性的要求.

本設計以存儲容量為8Mbit的靜態隨機存儲芯片IS61LV51216為目標對象,設計了SRAM的4分區地址發生器,該地址發生器能夠隨著時鐘驅動連續產生4個視頻通道數據在一塊SRAM中的寫地址信號.每個分區的容量為320×240,4個分區總容量為640×240,雖然不能寫滿整個存儲器空間,但是在讀出這些視頻數據時所需的讀地址信號,就可以隨時鐘信號按照加1遞增的方式來產生,非常便利.設計中利用Altera公司的Cyclone Ⅳ系列芯片EP4CE6F17C8為核心控制部件,采用有限狀態機的設計方法來完成設計,而且利用Verilog硬件描述語言可以使整個流程變的輕松[4].此設計方法不但提高了設計效率,而且使整個設計具有靈活、易實現、易擴展性的特點.

1 隨機存儲器中分區地址發生電路的設計要求

將RAM存儲陣列分為等容量的4個分區S0—S3(每個分區的容量為320×240)來存儲4個通道的視頻數據如圖1所示.每個分區中寫地址信號數據的變化規則是:首先,在分區中按照從左到右、從上至下的規則遞增,這個規則類似于逐行掃描方式.比如分區S0的寫地址陣列中,第一行共320個存儲單元的列向地址為000H,第二行的列向地址為001H,最后一行的列向地址為0EFH,每一行的行向地址是從000H—13FH.掃描到S0分區最后一個存儲單元后,跳轉到S1分區(轉折點C0的列向地址為0EFH,行向地址為13FH).在分區S1中,寫地址信號的產生仍然遵循逐行掃描規則,每掃描一行后,列向地址遞增1;當掃描至轉折點C1 后跳轉到S2分區,以此類推,可得出分區S0、S1、S2和S3的各個存儲單元的行向和列向地址.讀取數據時,先向地址引腳提供列向地址和行向地址,指定需讀的內存單元地址,當地址信號穩定之后,使片選信號CE低電平有效,則指定單元的數據在數據引腳上輸出.

由于這4個分區的寫地址信號是按照一定的時序來產生,所以使用有限狀態機的方法進行設計,將4個分區的地址產生作為4個狀態,以是否到達轉折點為狀態轉移的條件來實現狀態循環.在每個狀態下,每掃描完一行320個存儲單元,列向地址遞增1,當列向地址的增幅達到240,則此狀態結束進入下一個狀態.

2 分區地址發生器的設計

2.1 存儲器芯片選型

IS61LV51216是ISSI公司的512K×16位的高速異步靜態RAM,采用高性能CMOS制作工藝,具有高可靠性和低功耗的優點.芯片具有19根地址線A18—A0,16根數據線I/O15—I/O0,還具有工作使能端CE、輸出使能端OE、寫使能端WE、上個字節的控制端UB和低字節控制端LE.如果將它的19根地址線分為9位列地址線和10位行地址線,就構成了1 024×512的二維存儲陣列.使用一片IS61LV51216來存儲一幀640×480圖像的數據是足夠的,也足夠存儲一幀由4個320×240壓縮圖像組成的拼接圖像.

2.2 存儲器內部數據分布

根據設計要求,確定內部數據分布,在每個狀態轉換前后行列向地址的變化情況如表1所示.

2.3 分區地址信號控制電路的實現框圖

本設計中選用了Alter公司研發的Cyclone IV系列的EP4CE6F17C8,此款FPGA擁有179個I/O接口,62 792個邏輯單元,392個乘法器,RAM的容量為276 480 b,內核電壓為1.15~1.25 V,且功耗低[5].基于FPGA的SRAM分區地址發生電路的整體實現框圖如圖2所示.在QuartusⅡ中新建工程,設置目標芯片型號為EP4CE6F17C8、系統復位信號RST、時鐘驅動信號CLK(系統時鐘20 MHz)和來自外圍器件的16位輸入數據datain[15…0];當需要將數據datain存入SRAM時,首先設置片選信號CE和寫允許信號WB為低電平有效、OE為數據輸出允許(低電平時讀取數據信息)、高8位控制端UB和低8位控制端LB在16位寬的數據線上分開訪問高低字節,隨著時鐘信號CLK的每產生一個地址信號,就將datain信號送至雙向數據端口dataout,存入SRAM內部相應的分區存儲單元中.

2.4 基于有限狀態機的分區地址發生器的設計與實現

有限狀態機 (Finite State Machine,FSM) 是描述有限個狀態以及在這些狀態之間進行轉移和操作等行為的數學模型[6].它廣泛應用于自動控制系統、數字邏輯系統等領域,譬如PLC控制器的順序控制功能、CPU的指令執行控制等,均是FSM的典型應用范例[7].在電子系統設計中,FSM成為有力工具.有限狀態機FSM把復雜的控制邏輯分解成有限個穩定的狀態,在每個狀態上判斷事件,變連續處理為離散處理,符合計算機工作特點;同時FSM具有有限個狀態,

可以在工程上實現[8].在使用硬件描述語言VerilogHDL編程時,首先簡單地定義狀態變量,每個狀態均可以表達為case語句結構中一條選擇值語句,而狀態是否轉移通過if語句判斷,從而實現所需功能.

本設計的程序流程圖如圖3所示.在程序中首先設置行計數器x_add和列計數器y_add,分別來計算分區中行向地址信號和列向地址信號的個數.

分址電路存儲基本過程為:先設置復位信號rst、時鐘信號clk、數據流datain、行列地址和塊寫滿后的標志信號full.系統不復位的時候,在每個時鐘的上升沿使用case語句判斷狀態控制信號,即地址信號addout,如果不是轉折點對應的狀態控制信號,則將輸入信號datain送入SRAM的數據端dataout,同時地址信號按照圖1所描述的規則變化.例如,分區S0狀態的主要的程序語句如下:

case(state)

2[′]b00:if ((y_add==9[′]hef)&&(x_add==10[′]h13f))

begin

full<=1; state<=2[′]b01; //如果到達轉折點C0,則狀態值變為S1

dataout<=datain;

x_add<=10[′]h140; y_add<=9[′]h000;// 寫地址變為S1分區的起始地址

end

else begin

full<=0;

if (y_add<=9[′]hef) //如果沒有掃描到最后一行

if(x_add<10[′]h13f) //如果沒有掃描到本行的最后一個單元

begin

dataout<=datain;

x_add<=x_add+1;y_add<=y_add;//則行地址加一,列地址保持

end

else begin dataout<=datain;

x_add<=0; y_add<=y_add+1;//每行掃描完畢后,列地址加一

end

end

程序經過編譯和綜合后,可以在工具Tools中看到軟件綜合后生成的狀態轉換圖,如圖4所示.

3 仿真實驗及說明

圖5是基于有限狀態機的分區地址發生器的仿真波形圖,從圖中可以看到4塊存儲塊的存儲情況,圖5(a)是分區S0地址存滿時的波形,由圖可看出分區S0最后一個數據列向地址為0EFH,行向地址為13FH,存滿之后full顯示高電平1,跳轉到分區S1時第一個數據列向地址為000H,行向地址為140H.同理,由圖5(b)—圖5(d)可看出分區S1最后一個數據列向地址為0EFH,行向地址為27FH,跳轉到分區S2時第一個數據列向地址為0F0H,行向地址為000H;分區S2最后一個數據列向地址為1DFH,行向地址為13FH,跳轉到分區S3時第一個數據列向地址為0F0H,行向地址為140H;分區S3最后一個數據列向地址為1DFH,行向地址為27FH,跳轉到分區S0時第一個數據列向地址為000H,行向地址為000H.從波形的輸出結果來看,本次設計在每個狀態轉換前后的行列向地址信號值與表1中的相符,說明本設計是符合既定要求的.

4 總結

本文主要利用有限狀態機的工作原理,將4塊存儲區的寫信號產生設置成4個狀態,設計了一種分區地址產生電路,將程序綜合后的網表文件下載至FPGA開發板的配置芯片中進行硬件的邊界掃描測試,結果顯示輸入的數據流以塊狀的形式存儲并能準確讀出,并且輸入的數據有序的存儲,在第一塊存儲區地址沒存滿之前,數據流的地址不會流向下一存儲區,這樣此分址電路有利于提高存儲器的資源占用率.

參考文獻

[1]仝欣.基于FPGA的視頻圖像處理系統的研究[D].西安:西安電子科技大學,2012.

[2]柯寶中.基于FPGA的乒乓式存取高速數據采集通道設計[J].廣西科技大學學報,2015,26(1):43-47.

[3]邵磊,倪明.基于FPGA的高速數據采集系統設計與實現[J].計算機工程,2011,37(19):221-223.

[4]任杰,李克儉,潘紹明,等.雙口RAM讀寫正確性自動測試的有限狀態機控制器設計方法[J].廣西科技大學學報,2015,26(4):36-38.

[5]高俊嶺,陳志飛,章佩佩.基于FPGA的實時視頻圖像采集處理系統設計[J].電子技術應用,2018,44(2):10-19.

[6]孫宏旭,邢薇,陶林.基于有限狀態機的模型轉換方法的研究[J].計算機技術與發展,2012,22(2):10-13.

[7]馮建文.有限狀態機在FPGA硬件實驗中的應用[J].實驗室研究與探索,2017,6(36):138-141.

[8]李云,馮永浩,孟濤.基于VHDL有限狀態機控制器的設計方法[J].微計算機信息,2010,26(13):74-75.

Design and implementation of SRAM partition address generator based on finite state machine

WANG Xueli, LUO Wenguang*, QIN Yongxin

(School of Electric and Information Engineering, Guangxi University of Science and Technology, Liuzhou 545006, China)

Abstract: To meet the needs of storing different storage spaces in random storage according to the multi-channel data, a block address circuit based on Finite state machine is designed. In this design, an 8 Mb SRAM is designed to control the reading and writing address of the random memory by using the finite state machine. We first divide the storage space of SRAM into four partitions with an area of 320 by 240. Then the address of the four block Spaces is generated from left to right, from top to bottom, and the address in the storage space of each block is generated in the same order, so that the data of the four channels can be accurately stored in each storage unit of the corresponding partition. The top of the design documents are compiled and timing simulated in the Quartus Ⅱ software environment. The simulation results show that this block address generation circuit can realize the generation of SRAM partition address correctly. It has good timeliness and expansibility, and it provides a new way of thinking for data storage.

Key words: partition address generator; multi-channel data partition storage; finite state machine; storage methods; field programmable logic array

(學科編輯:張玉鳳)

主站蜘蛛池模板: 国产日韩精品一区在线不卡| 亚洲综合精品第一页| 在线精品自拍| 亚洲大学生视频在线播放| 国产精品欧美日本韩免费一区二区三区不卡| 午夜精品影院| 亚洲一区二区三区麻豆| 国产欧美另类| 国产精品自在自线免费观看| 久久精品国产91久久综合麻豆自制| 在线日本国产成人免费的| 日本国产精品一区久久久| 在线va视频| www.亚洲一区| 9久久伊人精品综合| 欧美一级片在线| 91精品国产一区自在线拍| 一本大道香蕉高清久久| 青草视频网站在线观看| 国产伦精品一区二区三区视频优播 | 欧美国产在线一区| 色综合中文| 久久久噜噜噜| 手机在线免费毛片| 免费a级毛片18以上观看精品| 伊人天堂网| 香蕉色综合| 亚洲国产中文在线二区三区免| 日本欧美精品| 精品久久久无码专区中文字幕| yy6080理论大片一级久久| 日本在线视频免费| 美女视频黄又黄又免费高清| 精品少妇人妻无码久久| 四虎免费视频网站| 欧美亚洲国产日韩电影在线| 亚洲视频二| 日韩欧美色综合| 国产精品第| 国产精品一区二区不卡的视频| 毛片久久网站小视频| 中文成人在线视频| 在线亚洲精品自拍| 日本国产在线| 日韩国产另类| 中国黄色一级视频| 波多野结衣中文字幕久久| 九九久久精品免费观看| 精品一区国产精品| 亚洲综合色区在线播放2019| 九九久久99精品| 免费Aⅴ片在线观看蜜芽Tⅴ | 一级全黄毛片| 日韩精品免费一线在线观看 | 日本午夜精品一本在线观看| 中文字幕乱妇无码AV在线| 成人av专区精品无码国产 | 色综合成人| 亚洲无码一区在线观看| 久久福利网| 日韩欧美成人高清在线观看| 爆乳熟妇一区二区三区| 国产成人精品2021欧美日韩| 欧美一区国产| 国产AV无码专区亚洲A∨毛片| 白浆视频在线观看| 免费看的一级毛片| 国产中文一区二区苍井空| 宅男噜噜噜66国产在线观看| 国产成人免费视频精品一区二区| 在线免费观看AV| 亚洲AV人人澡人人双人| 婷婷综合在线观看丁香| 久青草免费在线视频| 国产成年女人特黄特色毛片免| 色爽网免费视频| 久久香蕉国产线| 伊人激情久久综合中文字幕| 自慰网址在线观看| 色香蕉网站| 亚洲精品在线影院| 亚洲视频在线青青|