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

正文內(nèi)容

wishbone協(xié)議中文版-資料下載頁

2025-06-06 17:25本頁面
  

【正文】 sel_i, wb_we_i, wb_cyc_i, wb_stb_i, wb_ack_o, wb_err_o, )?!璸arameter aw = 19?!璻eg [7:0] mem [2097151:0]。//RAM為2MB,因此地址寬度aw = 19//地址不能大于2M。assign wb_err_o = wb_cyc_i amp。 wb_stb_i amp。 (|wb_adr_i[23:21])。 assign adr = {839。h00, wb_adr_i[23:2], 239。b00}。//SRAM讀邏輯assign wb_dat_o[7:0] = mem[adr+3]。assign wb_dat_o[15:8] = mem[adr+2]。assign wb_dat_o[23:16] = mem[adr+1]。assign wb_dat_o[31:24] = mem[adr+0]。//寫邏輯always @(posedge wb_rst_i or posedge wb_clk_i) if (wb_cyc_i amp。 wb_stb_i amp。 wb_we_i) begin if (wb_sel_i[0]) mem[adr+3] = 1 wb_dat_i[7:0]。 if (wb_sel_i[1]) mem[adr+2] = 1 wb_dat_i[15:8]。 if (wb_sel_i[2]) mem[adr+1] = 1 wb_dat_i[23:16]。 if (wb_sel_i[3]) mem[adr+0] = 1 wb_dat_i[31:24]。 endassign wb_ack_o = wb_cyc_i amp。 wb_stb_i amp。 ~wb_err_o。endmodule所使用的Flash實(shí)際上是一個只讀的Flash,模型仿真了典型的Nor Flash如INTEL 28f016s3 FLASH的讀時序,而忽略了寫時序。主設(shè)備每讀32比特的數(shù)據(jù)需要4個時鐘周期。其源代碼列出如下: module flash_top ( wb_clk_i, wb_rst_i, wb_dat_i, wb_dat_o, wb_adr_i, wb_sel_i, wb_we_i, wb_cyc_i, wb_stb_i, wb_ack_o, wb_err_o)。//內(nèi)部數(shù)據(jù)線和寄存器reg [7:0] mem [2097151:0]。 //2M字節(jié)wire [31:0] adr。 reg wb_err_o。reg [31:0] prev_adr。reg [1:0] delay。wire wb_err。//assign adr = {839。h00, wb_adr_i[23:2], 239。b00}。//FLASH的初始化initial $readmemh(../src/, mem, 0)。//讀模型,數(shù)據(jù)被一次賦值assign wb_dat_o[7:0] = wb_adr_i[23:0] 65535 ? mem[adr+3] : 839。h00。assign wb_dat_o[15:8] = wb_adr_i[23:0] 65535 ? mem[adr+2] : 839。h00。assign wb_dat_o[23:16] = wb_adr_i[23:0] 65535 ? mem[adr+1] : 839。h00。 assign wb_dat_o[31:24] = wb_adr_i[23:0] 65535 ? mem[adr+0] : 839。h00。 // delay邏輯,該邏輯的目的是每次發(fā)生讀操作,都在4個周期后產(chǎn)生應(yīng)答信號wb_ack_oalways @(posedge wb_clk_i or posedge wb_rst_i) if (wb_rst_i) begin delay = 1 239。d3。 prev_adr = 1 3239。h0000_0000。 end else if (delay amp。amp。 (wb_adr_i == prev_adr) amp。amp。 wb_cyc_i amp。amp。 wb_stb_i) delay = 1 delay 239。d1。 else if (wb_ack_o || wb_err_o || (wb_adr_i != prev_adr) || ~wb_stb_i) begin delay = 1 239。d0。 // delay ... can range from 3 to 0 prev_adr = 1 wb_adr_i。 endassign wb_ack_o = wb_cyc_i amp。 wb_stb_i amp。 ~wb_err amp。 (delay == 239。d0) amp。 (wb_adr_i == prev_adr)。//總線操作錯誤信號,錯誤產(chǎn)生的原因是輸入地址值過大assign wb_err = wb_cyc_i amp。 wb_stb_i amp。 (delay == 239。d0) amp。 (|wb_adr_i[23:21])。 always @(posedge wb_clk_i or posedge wb_rst_i) if (wb_rst_i) wb_err_o = 1 139。b0。 else wb_err_o = 1 wb_err amp。 !wb_err_o。 endmodule十、Wishbone點(diǎn)到點(diǎn)連接示例 Wishbone點(diǎn)到點(diǎn)連接在ASIC和FPGA設(shè)計(jì)中非常常見。如圖24,這是一個典型的點(diǎn)到點(diǎn)連接示意圖。在圖中,數(shù)據(jù)的粒度是32比特,每次操作中數(shù)據(jù)總是同時全部有效,因此可以省略SEL_O()信號。點(diǎn)到點(diǎn)連接中CYC_O信號也是沒有用的,因?yàn)樵撔盘栍糜诙嘀髟O(shè)備的仲裁請求。 圖24 Wishbone點(diǎn)到點(diǎn)連接示例十一、Wishbone共享總線連接示例 Wishbone共享總線連接與點(diǎn)到點(diǎn)連接同樣重要。在本例中,兩個主設(shè)備和兩個從設(shè)備通過SYSCON實(shí)現(xiàn)了共享總線連接,在后續(xù)章節(jié)中,我們將使用該例子對Or1200進(jìn)行基本RTL驗(yàn)證。系統(tǒng)復(fù)位后,一個或者多個主設(shè)備通過置高CYC_O請求使用總線,仲裁器(后文將討論)選擇其中一個主設(shè)備X(X在0和N之間),只將該主設(shè)備對應(yīng)的GNTX信號置高,而將其它GNT信號置低以通知INTERCON哪一個主設(shè)備可以使用總線。 一旦主設(shè)備選定,其輸出信號將通過選擇器送到共享總線進(jìn)而送到各個從設(shè)備。例如,如果主設(shè)備0被中可以使用總線,則器ADR()、DAT_O()、SEL_O()、WE_O和STB_O信號將被送到各個從設(shè)備。與此同時請求使用總線的其他設(shè)備,將永遠(yuǎn)接收不到總線周期結(jié)束信號ACK_I/ERR_I/RTY_I。 從設(shè)備是如何被選擇的呢 39。若系統(tǒng)中有M個從設(shè)備,則地址線被地址譯碼器分為M個部分,別代表每一個從設(shè)備的地址空間。從設(shè)備Y對應(yīng)的譯碼輸出信號與共享總線上的STB_I信號相與,如果STB_I信號和從設(shè)備Y對應(yīng)的譯碼輸出信號同時為高,從設(shè)備Y才發(fā)起對主設(shè)備操作的響應(yīng)。 各個從設(shè)備輸出的總線周期結(jié)束ACK_O/ERR_O/RTY_O被通過或門送到各個主設(shè)備的ACK_I/ERR_I/RTY_I。而從設(shè)備的DAT_O()輸出則通過選擇器送到各個主設(shè)備的輸入端,這個選擇器的輸入為共享地址總線。 圖25 基于選擇器的Wishbone共享總線連接示例intercon模塊的源碼如下: moduleintercon2M2S(clk_i,rst_i,wb0s_data_i,wb0s_data_o,wb0_addr_i,wb0_sel_i,wb0_we_i,wb0_cyc_i,wb0_stb_i,wb0_ack_o,wb0_err_o,wb0_rty_o,wb0m_data_i,wb0m_data_o,wb0_addr_o,wb0_sel_o,wb0_we_o,wb0_cyc_o,wb0_stb_o,wb0_ack_i,wb0_err_i,wb0_rty_i,wb1s_data_i,wb1s_data_o,wb1_addr_i,wb1_sel_i,wb1_we_i,wb1_cyc_i,wb1_stb_i,wb1_ack_o,wb1_err_o,wb1_rty_o,wb1m_data_i,wb1m_data_o,wb1_addr_o,wb1_sel_o,wb1_we_o,wb1_cyc_o,wb1_stb_o,wb1_ack_i,wb1_err_i,wb1_rty_i )?!?/這里忽略了端口定義//仲裁器,兩個主設(shè)備,兩個從設(shè)備wire GNT0,GNT1,CYC。arbiter2M2S arbiter2M2S(.CLK(clk_i),.RST(rst_i),.CYC0(wb0_cyc_i),.CYC1(wb1_cyc_i),.GNT0(GNT0),.GNT1(GNT1),.CYC(CYC))。//地址譯碼器wire ACMP0,ACMP1。wire [31:0] shared_address。address_decoder2S address_decoder2S(.addr_i(shared_address),.ACMP0(ACMP0),.ACMP1(ACMP1))。//共享總線周期有效信號CYC,從各主設(shè)備到各從設(shè)備assign wb0_cyc_o=CYC。assign wb1_cyc_o=CYC。//共享地址信號assign shared_address=GNT1?wb1_addr_i:wb0_addr_i。assign wb0_addr_o=shared_address。assign wb1_addr_o=shared_address。//從各主設(shè)備到各從設(shè)備的共享數(shù)據(jù)總線wire [31:0] shared_data_m2s=GNT1?wb1m_data_i:wb0m_data_i。assign wb0s_data_o=shared_data_m2s。assign wb1s_data_o=shared_data_m2s。//從各從設(shè)備到各主設(shè)備的共享數(shù)據(jù)總線wire [31:0] shared_data_s2m=ACMP1?wb1s_data_i:wb0s_data_i。assign wb0m_data_o=shared_data_s2m。assign wb1m_data_o=shared_data_s2m。//從各主設(shè)備到各從設(shè)備的共享選擇信號wire [3:0] shared_sel=GNT1?wb1_sel_i:wb0_sel_i。assign wb0_sel_o=shared_sel。assign wb1_sel_o=shared_sel。//從各主設(shè)備到各從設(shè)備的共享寫使能信號wire shared_we=GNT1?wb1_we_i:wb0_we_i。assign wb0_we_o=shared_we。assign wb1_we_o=shared_we。//從各主設(shè)備到各從設(shè)備的共享選通信號wire shared_stb=GNT1?wb1_stb_i:wb0_stb_i。assign wb0_stb_o=ACMP0?shared_stb:139。b0。assign wb1_stb_o=ACMP1?shared_stb:139。b1。//從各從設(shè)備到各主設(shè)備的應(yīng)答信號wire shared_ack=ACMP0?wb0_ack_i:wb1_ack_i。assign wb0_ack_o=shared_ack。assign wb1_ack_o=shared_ack。wire shared_err=ACMP0?wb0_err_i:wb1_err_i。assign wb0_err_o=shared_err。assign wb1_err_o=shared_err。wire shared_rty=ACMP0?wb0_rty_i:wb1_rty_i。assign wb0_rty_o=shared_rty。assign wb1_rty_o=shared_rty。十二、地址譯碼 在很多總線標(biāo)準(zhǔn)中,從設(shè)備必須譯碼所有的地址,這稱為全地址譯碼。比如在PCI總線中,每一個從設(shè)備都必須具有32位的地址輸入,并對這32位的地址進(jìn)行譯碼以確定如何響應(yīng)主設(shè)備的請求。 片上總線規(guī)范比如Wishbone規(guī)范支持部分地址譯碼。在部分地址譯碼總線規(guī)范中,從設(shè)備只需要譯碼自己所使用的地址空間。比如如果一個從設(shè)備只有4個地址,它就只需譯碼2比特地址而不是32位地址。這樣做的好處是:地址譯碼速度快,地址譯碼邏輯少,從設(shè)備可自由定義地址總線寬度。 圖26 Wishbone部分地址譯碼的實(shí)現(xiàn)Wishbone部分地址譯碼的實(shí)現(xiàn)如圖26所示。對于圖中所示IP核,我們假設(shè)其只有4個地址,對應(yīng)4組寄存器。地址譯碼器首先譯碼出其地址并給出選擇信號,該選擇信號與共享總線的STB_O相與輸入到IP核的STB_I。而地址總線的最低2位被直接連接到IP核,IP核再根據(jù)這兩位譯碼出當(dāng)前操作選中的是具體哪個寄存器。 Wishbone共享總線示例中的仲裁器
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1