freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于modelsim的dma控制器的設(shè)計學(xué)士學(xué)位論文-資料下載頁

2025-06-27 17:50本頁面
  

【正文】 。wire clear_agu,sys_clk。 //聲明一個 wire 型的全區(qū)時鐘信號和一個 AGU清零復(fù)位信號wire mem_gen_ldinit,mem_gen_enable。wire byte_gen_ldinit,byte_gen_enable。wire fb_gen_ldinit,fb_gen_enable。wire rc_gen_ldinit,rc_gen_enable。reg[15:0]mem_gen_oaddr。reg[15:0]byte_gen_oaddr。reg[5:0]fb_gen_oaddr。reg[7:0]rc_gen_oaddr。理工大學(xué)學(xué)士學(xué)位論文25integer i。always@(posedge sys_clk) //時序邏輯if(clear_agu==1)beginfor(i=0。i16。i=i+1)beginmem_gen_oaddr[i]=0。byte_gen_oaddr[i]=0。endrc_gen_oaddr=839。b00000000。fb_gen_oaddr=639。b000000。endelseif(byte_gen_ldinit==1)if(latch_tr_control[1]==1)byte_gen_oaddr=latch_tr_addresses[23:8]。elsebyte_gen_oaddr[15:0]={latch_tr_addresses[21:8],239。b00}。else if(byte_gen_enable==1)byte_gen_oaddr=byte_gen_oaddr+1539。b000_0000_0000_0001。else if(rc_gen_ldinit==1)rc_gen_oaddr=latch_tr_addresses[7:0]。else if(rc_gen_enable==1)rc_gen_oaddr=rc_gen_oaddr+839。b0000_0001。else if(mem_gen_ldinit==1)mem_gen_oaddr=latch_tr_addresses[39:24]。else if(mem_gen_enable==1)mem_gen_oaddr=mem_gen_oaddr+1539。b000_0000_0000_0001。理工大學(xué)學(xué)士學(xué)位論文26else if(fb_gen_enable==1)fb_gen_oaddr=fb_gen_oaddr+639。b000001。endmodule// 狀態(tài)控制器模塊的行為級設(shè)計描述狀態(tài)控制器是 DMA 的核心,它從 RISC 處理器獲得信息,從而處理到 FB 或 RC的數(shù)據(jù)傳輸。狀態(tài)控制器依據(jù)字節(jié)數(shù)或者來自 RISC 處理器的指令要求判斷何時終止數(shù)據(jù)傳輸。狀態(tài)轉(zhuǎn)換是由時鐘的上升沿觸發(fā)。狀態(tài)控制器的外部信號分布:sys_clk 為全局時鐘信號,所有狀態(tài)轉(zhuǎn)換都在時鐘上升沿觸發(fā);glb_reset 為全局清零復(fù)位信號,當(dāng)glb_reset 為高電平時,所有信號清零復(fù)位; clear_agu 為 AGU 模塊的清零復(fù)位信號;clear_data_regs 為 DRU 模塊的清零復(fù)位信號;clear_latch 為 RISC 的指令清零復(fù)位信號;dma_enable 為決定 DMAC 是否工作的使能信號;latch_tr_addresses 是來自 RISC 的指令信號;latch_tr_control 為指令控制信號; fb_read、fb_write 分別為 FB 讀、寫的使能信號;mem_read 、mem_write 分別為 MEMORY 的讀、寫的使能信號; rc_context_load 為 RC 數(shù)據(jù)下載使能信號; str_mux_sel 為通道選擇信號;str_3st_trl 為通道控制信號;byte_gen_ldinit 為字節(jié)數(shù)地址 byte_gen_oaddr 生成的使能信號;byte_gen_enable 為字節(jié)數(shù)地址 byte_gen_oaddr 加 1 的使能信號;rc_gen_ldinit 為 RC 地址 rc_gen_oaddr 生成的使能信號; rc_gen_enable 為 RC 地址 rc_gen_oaddr 加 1 的使能信號;mem_gen_ldinit 為 MEMOR 地址 mem_gen_oaddr 生成的使能信號;mem_gen_enable 為 MEMORY 地址 mem_gen_oaddr 加 1 的使能信號;fb_gen_enable為 FB 地址 fb_gen_oaddr 加 1 的使能信號;busy_done 為表示 DMAC 工作狀態(tài)的信號[4]。狀態(tài)控制器模塊行為級設(shè)計的 Verilog HDL 描述如下:always@(posedge sys_clk or glb_reset) //輸入全局時鐘信號和全局復(fù)位清零信號beginif(glb_reset) curr_state=s0。elsecurr_state=next_state。end理工大學(xué)學(xué)士學(xué)位論文27always@(curr_state or byte_gen_oaddr or dma_enable orlatch_tr_control or latch_tr_addresses )begincase(curr_state)//reset the dmacs0:beginclear_latch=1。clear_agu=1。clear_data_regs=1。fb_read=0。fb_write=0。rc_context_load=0。mem_read=0。mem_write=0。mem_gen_ldinit=0。mem_gen_enable=0。byte_gen_ldinit=0。byte_gen_enable=0。fb_gen_enable=0。rc_gen_ldinit=0。rc_gen_enable=0。up_reg32_enable=0。lo_reg32_enable=0。ld_3st_trl=0。reg64_enable1=0。reg64_enable2=0。str_mux_sel=0。str_3st_trl=0。busy_done=1。理工大學(xué)學(xué)士學(xué)位論文28next_state=s1。end//wait for TinyRisc to give instructions1:beginclear_latch=0。clear_agu=0。clear_data_regs=0。fb_read=0。fb_write=0。rc_context_load=0。mem_read=0。mem_write=0。mem_gen_ldinit=0。mem_gen_enable=0。byte_gen_ldinit=0。byte_gen_enable=0。fb_gen_enable=0。rc_gen_ldinit=0。rc_gen_enable=0。up_reg32_enable=0。lo_reg32_enable=0。ld_3st_trl=0。reg64_enable1=0。reg64_enable2=0。str_mux_sel=0。str_3st_trl=0。busy_done=1。if(dma_enable==1)next_state=s2。理工大學(xué)學(xué)士學(xué)位論文29elsenext_state=s1。end到這里為止,就完成了對 DMA 控制器的功能模塊劃分,以及對每個功能模塊的 Verilog HDL 行為描述??梢钥吹?,在以上行為描述中使用了多種數(shù)據(jù)類型,而不需顧及他們的電路實現(xiàn)。這些方面都體現(xiàn)了行為描述面向系統(tǒng)行為、具有高層次的特征。 全電路的行為級描述對整個電路的行為級設(shè)計描述就是把以上這些功能模塊的行為描述組合起來。在 Verilog HDL 中,模塊是并行運行的,通常由一個高層的模塊來定義一個封閉的系統(tǒng)。在本設(shè)計中,這個高層模塊即 DMAC 模塊。高層模塊的重要信號說明: load_store 為讀取、存儲控制信號;rc_fb_select 為 RC 和 FB 的判斷選擇信號; set_select 為設(shè)置選擇信號;bank_select 為狀態(tài)選擇信號;ld_row_col 為讀取 RC 陣列內(nèi)容信號;ld_context_num 為讀取 context 的字節(jié)數(shù)信號;ld_row_col_num 為讀取 RC 陣列的行和列數(shù)信號;byte_num 為字節(jié)數(shù)信號;init_mem_addr 輸入 MEMORY 地址信號 [4]。整個電路行為級設(shè)計的 Verilog HDL 描述如下:Module //端口定義DMA(sys_clk,glb_reset,dma_enable,load_store,rc_fb_select,bank_select,set_select,ld_row_col,ld_context_num,ld_row_col_num,init_mem_addr,byte_num,busy_done,fb_read,fb_write,fb_set_sel,fb_addr,fb_data,rc_context_data,rc_context_addr,rc_context_load,mem_read,mem_write,mem_addr,mem_data,up_reg32_odata,lo_reg32_odata,reg64_odata1,reg64_odata2,mem_gen_oaddr,byte_gen_oaddr,fb_gen_oaddr,rc_gen_oaddr,clear_latch)。input sys_clk,glb_reset。 //輸入全局時鐘信號和全局復(fù)位清零信號input dma_enable,load_store,rc_fb_select。input bank_select,set_select,ld_row_col。input[3:0]ld_context_num。 //輸入讀取 contest 的字節(jié)數(shù)信號input[2:0]ld_row_col_num。 //輸入 RC 列陣行和列數(shù)信號理工大學(xué)學(xué)士學(xué)位論文30input[15:0]init_mem_addr。 //輸入 memory 的地址信號input[15:0]byte_num。 //輸入字節(jié)數(shù)信號output busy_done。output fb_read,fb_write,fb_set_sel。output[6:0]fb_addr。inout[63:0]fb_data。inout rc_context_load。output[31:0]rc_context_data。output[7:0]rc_context_addr。output mem_read,mem_write。output[15:0]mem_addr。inout[31:0]mem_data。inout[31:0]up_reg32_odata,lo_reg32_odata。inout[63:0]reg64_odata1,reg64_odata2。inout[15:0]mem_gen_oaddr。inout[15:0]byte_gen_oaddr。inout[5:0]fb_gen_oaddr。inout[7:0]rc_gen_oaddr。inout clear_latch。wire sys_clk,clear_data_regs。 //聲明一個 wire 型的全局時鐘信號和清零信號wire[31:0]mem_data。 //聲明 32 位隨機存儲器數(shù)據(jù)wire[63:0]fb_data。 //聲明 64 位 幀緩沖器數(shù)據(jù)wire[31:0]up_reg32_odata。wire[31:0]lo_reg32_odata。wire up_reg32_enable。wire lo_reg32_enable。wire ld_3st_trl。wire[63:0]reg64_odata1。wire[63:0]reg64_odata2。理工大學(xué)學(xué)士學(xué)位論文31wire reg64_enable1。wire reg64_enable2。wire str_mux_sel。wire str_3st_trl。wire clear_agu。wire mem_gen_ldinit,mem_gen_enable。wire byte_gen_ldinit,byte_gen_enable。wire fb_gen_ldinit,fb_gen_enable。wire rc_gen_ldinit,rc_gen_enable。wire[15:0]mem_gen_oaddr。wire[15:0]byte_gen_oaddr。wire[5:0]fb_gen_oaddr。wire[7:0]rc_gen_oaddr。wire dma_enable。reg[39:0]latch_tr_addr
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1