国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DMA架構(gòu)的圖像加速器的設(shè)計(jì)

2022-09-02 10:52韓旭東吳全興
微處理機(jī) 2022年4期
關(guān)鍵詞:狀態(tài)機(jī)透明度前景

韓旭東,吳全興

(中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽(yáng) 110000)

1 引言

隨著時(shí)代的發(fā)展,計(jì)算機(jī)對(duì)顯卡的要求越來(lái)越高,一款高端GPU是衡量顯卡性能的最重要指標(biāo)。在早期沒有GPU的年代,所有圖形的處理都由CPU完成,但隨著計(jì)算機(jī)的發(fā)展,CPU越來(lái)越顯得力不從心,GPU在這種情況下應(yīng)運(yùn)而生。在單片機(jī)領(lǐng)域也有著與之相似的情況,嵌入式系統(tǒng)的圖形顯示雖然沒有計(jì)算機(jī)那樣復(fù)雜,但顯示屏的分辨率和色彩同樣越來(lái)越豐富。為了在不增加CPU負(fù)擔(dān)的情況下滿足圖形顯示需求,在此設(shè)計(jì)一款基于DMA(Direct Memory Access)架構(gòu)的圖像加速器。在功能上,該設(shè)計(jì)相當(dāng)于一款類似GPU的外設(shè),可以獨(dú)立處理二維復(fù)雜圖形,能夠?qū)崿F(xiàn)包括單色快速填充、圖像復(fù)制、顏色格式轉(zhuǎn)化后復(fù)制及前后兩張圖片混合等功能。

2 加速器系統(tǒng)構(gòu)成

所設(shè)計(jì)圖像加速器的系統(tǒng)構(gòu)成如圖1所示。

其中,前景層/背景層緩存是一個(gè)32bit×64的FIFO,用于高速讀取源數(shù)據(jù)時(shí)的緩存。前/背景層格式轉(zhuǎn)換控制器負(fù)責(zé)處理前/背景層緩存輸出的顏色和透明度。透明度可以采用源數(shù)據(jù)的,可以采用前/背景層內(nèi)置的,也可以采用源數(shù)據(jù)的透明度與前/背景層內(nèi)置的透明度的乘積再除以255;顏色可以是源數(shù)據(jù)自帶的,可以是前/背景層格式轉(zhuǎn)換控制器內(nèi)部指定的,也可以是查找表中檢索出的顏色。

圖1 基于DMA的圖像加速器系統(tǒng)構(gòu)成

將透明度和顏色依現(xiàn)有方法處理為ARGB8888格式的數(shù)據(jù),再輸出給后續(xù)模塊處理。

前/背景層查找表是一個(gè)32bit×256的RAM,用于預(yù)存指定數(shù)量的顏色值。當(dāng)使用間接顏色模式(L4、L8、AL44、AL88)時(shí),依據(jù)源數(shù)據(jù)的索引值(L部分的值),檢索出查找表中對(duì)應(yīng)的顏色(ARGB888或RGB88顏色格式)并輸出給前/背景層格式轉(zhuǎn)換控制器,再由前/背景層格式轉(zhuǎn)換控制器將其轉(zhuǎn)換成統(tǒng)一的ARGB8888格式數(shù)據(jù)。

混合控制器用于將前景層格式轉(zhuǎn)換控制器和背景層格式轉(zhuǎn)換控制器輸出的ARGB8888格式的數(shù)據(jù),按照各自的透明度,加權(quán)運(yùn)算得出混合后的新的ARGB8888格式的數(shù)據(jù),并輸出給輸出格式轉(zhuǎn)換控制器。

輸出格式轉(zhuǎn)換控制器用于將ARGB8888格式的數(shù)據(jù),依據(jù)現(xiàn)有的處理方法,轉(zhuǎn)化成實(shí)際用于顯示的直接顏色模式(ARGB8888、RGB888、RGB565、ARGB1555和ARGB4444)。

輸出緩存是一個(gè)32bit×64的FIFO,用于緩存要輸出到目標(biāo)區(qū)域的像素?cái)?shù)據(jù)。

3 圖像DMA工作機(jī)理

圖像DMA的顏色有三種工作模式,即:直接顏色模式(ARGB8888、RGB888、RGB565、ARGB1555、ARGB4444);間接顏色模式(L4、L8、AL44、AL88);透明度模式(A4、A8)。其中,A代表透明度,R代表紅色,G代表綠色,B代表藍(lán)色,L代表亮度并用于檢索查找表CLUT?;诖耍驹O(shè)計(jì)圖像加速器可工作在四種模式下,即:?jiǎn)紊焖偬畛洹D像復(fù)制、顏色格式轉(zhuǎn)化、轉(zhuǎn)化前后兩張圖片混合。

在第一種工作模式下,使用內(nèi)置寄存器指定的單一顏色,依據(jù)輸出格式轉(zhuǎn)換控制器中指定的格式,直接向目標(biāo)矩形區(qū)域?qū)憯?shù)據(jù),常用于清屏操作。

第二種工作模式用于實(shí)現(xiàn)快速?gòu)?fù)制功能,圖像DMA將源區(qū)域的圖像數(shù)據(jù)讀取到前景層緩沖區(qū),之后直接寫到目標(biāo)區(qū)域,在這過(guò)程中圖像數(shù)據(jù)的顏色格式?jīng)]有改變。

第三種工作模式實(shí)現(xiàn)格式轉(zhuǎn)化功能,通過(guò)前景層格式轉(zhuǎn)換控制器將源圖片轉(zhuǎn)為統(tǒng)一的ARGB8888的顏色格式。對(duì)于RGB565、ARGB4444和ARGB1555顏色模式,需要做線性擴(kuò)展,過(guò)程如下述代碼[1-4]:

對(duì)于ARGB8888和RGB888模式則無(wú)需上述操作。對(duì)于間接顏色模式,通過(guò)L部分的索引值,找到查找表中對(duì)應(yīng)的像素值(ARGB8888或RGB888格式);如果是A4、A8兩種顏色模式,則直接結(jié)合前景層指定的顏色,通過(guò)前景層格式轉(zhuǎn)換控制器轉(zhuǎn)化成ARGB8888模式。在此過(guò)程中,前景層格式轉(zhuǎn)換控制器最終輸出的像素的透明度,可以保持上述原始計(jì)算/查找出的值,也可以替換成指定的透明度,或替換成原始值與指定值的乘積再除以255。經(jīng)過(guò)輸出轉(zhuǎn)換控制器將ARGB8888的顏色格式轉(zhuǎn)換成指定顏色格式保存到輸出緩存,最終輸出到目標(biāo)區(qū)域。

第四種工作模式為格式轉(zhuǎn)化后再混合。格式轉(zhuǎn)化部分與第三種工作模式相同,先將前景層源圖片和背景層源圖片分別通過(guò)前景層格式轉(zhuǎn)換控制器和背景層格式轉(zhuǎn)換控制器轉(zhuǎn)換成統(tǒng)一的ARGB8888顏色格式,混合器再根據(jù)兩個(gè)圖片各自的透明度加權(quán)運(yùn)算得出新的圖片,經(jīng)過(guò)輸出轉(zhuǎn)換控制器將其轉(zhuǎn)換成指定的顏色格式,保存到輸出緩存中,最后輸出到目標(biāo)區(qū)域?;旌蠒r(shí)需要根據(jù)前景層和背景層的顏色格式(直接顏色模式,間接顏色模式),將前景層和背景層格式轉(zhuǎn)換控制器輸出的每一個(gè)像素一一對(duì)應(yīng),完成混合。

4 功能仿真與FPGA驗(yàn)證

邏輯設(shè)計(jì)完成后,將其整合到一款MCU中,搭建仿真驗(yàn)證平臺(tái)進(jìn)行功能驗(yàn)證[5]以及FPGA[6-8]驗(yàn)證。四種工作模式的仿真結(jié)果如下:

(1)第一種工作模式

對(duì)單色快速填充功能進(jìn)行模擬仿真,即將寄存器DMA2D_OCOLR指定的某一顏色輸出到目標(biāo)矩形區(qū)域(狀態(tài)機(jī)的0x10狀態(tài)),仿真結(jié)果波形如圖2所示。

圖2 第一工作模式仿真波形

(2)第二種工作模式

仿真簡(jiǎn)單復(fù)制圖片功能,通過(guò)前景層緩存讀取源圖像(狀態(tài)機(jī)的0xc狀態(tài)),再將輸出(FG_FIFO_o)寫入目標(biāo)區(qū)域(狀態(tài)機(jī)的0x15狀態(tài)),仿真結(jié)果波形如圖3所示。

圖3 第二工作模式仿真波形

(3)第三種工作模式

仿真顏色格式轉(zhuǎn)化后復(fù)制的情形,通過(guò)前景層緩存讀取源圖像(狀態(tài)機(jī)的0xc狀態(tài)),再將其輸出(FG_FIFO_o)輸入到前景層格式轉(zhuǎn)換控制器(狀態(tài)機(jī)的0x13狀態(tài)),格式轉(zhuǎn)換后的輸出(FG_PFC_o,顏色格式為ARGB8888)輸入到輸出格式轉(zhuǎn)換控制器(狀態(tài)機(jī)的0x13狀態(tài)),再將輸出格式轉(zhuǎn)換控制器的輸出(Converter_Out)寫入輸出緩存(狀態(tài)機(jī)的0x13狀態(tài)),最后寫入目標(biāo)矩形區(qū)域(狀態(tài)機(jī)的0x10狀態(tài),輸出顏色格式為ARGB8888、RGB888、RGB565、ARGB1555或ARGB4444),仿真波形如圖4所示。

圖4 第三工作模式仿真波形

(4)第四種工作模式

仿真顏色格式轉(zhuǎn)化前后兩張圖片的混合,通過(guò)前/背景層緩存讀取源圖像(狀態(tài)機(jī)的0xc/0xe狀態(tài)),再將其輸出(FG_FIFO_o/BG_FIFO_o)輸入到前/背景層格式轉(zhuǎn)換控制器(狀態(tài)機(jī)的0x13狀態(tài)),將前/背景層格式轉(zhuǎn)換控制器的輸出(FG_PFC_o/BG_FIFO_o,輸出顏色格式為ARGB8888),同時(shí)輸入到混合控制器(狀態(tài)機(jī)的0x13狀態(tài)),再將其輸出(Blender_Out,輸出顏色格式為ARGB8888)輸入到輸出格式轉(zhuǎn)換控制器(狀態(tài)機(jī)的0x13狀態(tài)),再將輸出格式轉(zhuǎn)換控制器的輸出(Converter_Out)寫入輸出緩存,最后寫入目標(biāo)矩形區(qū)域(狀態(tài)機(jī)的0x10狀態(tài),輸 出 顏 色 格 式 為ARGB8888、RGB888、RGB565、ARGB1555或ARGB4444),仿真波形如圖5所示。

圖5 第四工作模式仿真波形

上述功能仿真的結(jié)果展示出了四種工作模式的數(shù)據(jù)流過(guò)程,圖像DMA實(shí)現(xiàn)了預(yù)定的基本功能,加速器設(shè)計(jì)的正確性得以驗(yàn)證。

為了進(jìn)一步驗(yàn)證設(shè)計(jì)的正確性,在FPGA上進(jìn)行一次混合模式的驗(yàn)證。前景層圖片顏色格式為ARGB888,透明度為50%,背景層圖片顏色格式為RGB888,不透明,輸出顏色格式為RGB565?;旌夏J津?yàn)證結(jié)果如圖6所示,可見其取得了良好的圖像處理效果。

圖6 混合模式驗(yàn)證

5 結(jié)束語(yǔ)

所設(shè)計(jì)的基于DMA架構(gòu)的圖像加速器主要用于二維圖形的加速處理,支持11種顏色模式和4種工作模式,支持一個(gè)或者兩個(gè)圖層的輸入,可以對(duì)一個(gè)或者同時(shí)對(duì)兩個(gè)圖層進(jìn)行顏色格式轉(zhuǎn)換,可以單獨(dú)處理一個(gè)圖層或者混合處理兩個(gè)圖層并輸出處理后的像素?cái)?shù)據(jù)。經(jīng)過(guò)實(shí)驗(yàn)仿真,設(shè)計(jì)實(shí)現(xiàn)了這些預(yù)期的功能。將此加速器用在單片機(jī)中,通過(guò)配置相關(guān)軟件,便可在嵌入式系統(tǒng)中同樣實(shí)現(xiàn)二維圖像的華麗豐富的渲染效果。

猜你喜歡
狀態(tài)機(jī)透明度前景
我國(guó)旅游房地產(chǎn)開發(fā)前景的探討
FPGA狀態(tài)機(jī)綜合可靠性探究 ①
四種作物 北方種植有前景
基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
離岸央票:需求與前景
基于Spring StateMachine的有限狀態(tài)機(jī)應(yīng)用研究
中國(guó)FTA中的透明度原則
企業(yè)社會(huì)責(zé)任與信息透明度
量子糾纏的來(lái)歷及應(yīng)用前景
貴陽(yáng):政府透明度居九市州之首