欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

實驗五存儲器設(shè)計

上傳人:陽*** 文檔編號:40983494 上傳時間:2021-11-18 格式:DOCX 頁數(shù):20 大?。?4.38KB
收藏 版權(quán)申訴 舉報 下載
實驗五存儲器設(shè)計_第1頁
第1頁 / 共20頁
實驗五存儲器設(shè)計_第2頁
第2頁 / 共20頁
實驗五存儲器設(shè)計_第3頁
第3頁 / 共20頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《實驗五存儲器設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《實驗五存儲器設(shè)計(20頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、計算機組成原理 實驗五 《存儲器設(shè)計》 實驗報告 姓名:吳速碘 黃紫微 學(xué)號:13052 班級:計算機二班 日期2015、5、25 實驗五 存儲器設(shè)計 一、 實驗?zāi)康? 1、 掌握RAM和ROM的Verilog語言描述方法; 2、 學(xué)習(xí)用宏模塊的方法定制RAM和ROM。 二、 實驗任務(wù) 1、設(shè)計并實現(xiàn)一個128*16 的單端口的RAM; 2、設(shè)計并實現(xiàn)一個128*16的ROM; 3、設(shè)計并實現(xiàn)一個雙端口的128*16的RAM 4、設(shè)計并實現(xiàn)一個16*32的FIFO。 5、設(shè)計并實現(xiàn)正弦信號發(fā)

2、生器,見“正弦信號發(fā)生器實驗指南”。 三、 實驗步驟 1 編寫Verilog代碼(見附頁) 2功能仿真 進行分析與綜合,排除語法上的錯誤 建立波形仿真文件,輸入激勵 生成功能仿真網(wǎng)表 進行功能仿真,觀察輸出結(jié)果 3選擇器件 DE2_70開發(fā)板的使用者請選擇EP2C70F896C6 4綁定管腳 5 下載驗證 DE2_70開發(fā)板的下載:使用USB-Blaster進行下載 四、實驗內(nèi)容 五、實驗思考題 1、分析存儲器采用三態(tài)輸出的原因是什么? 存儲器的輸出端是連接在數(shù)據(jù)總線上的。數(shù)據(jù)總線相當(dāng)于一條車流頻繁的大馬路,必須在綠燈條件下,車輛才能進入這條大馬

3、路,否則要撞車發(fā)生交通事故。同理, 存儲器中的數(shù)據(jù)是不能隨意傳送到數(shù)據(jù)總線上的。例如,若數(shù)據(jù)總線上的數(shù)據(jù)是“1”(高電平5V),存儲器中的數(shù)據(jù)是“0”(低電平0V),兩種數(shù)據(jù)若碰到 一起就會發(fā)生短路而損壞單片機。因此,存儲器輸出端口不僅能呈現(xiàn)“l(fā)”和“0”兩種狀態(tài),還應(yīng)具有第三種狀態(tài)“高阻"態(tài)。呈“高阻"態(tài)時,輸出端口相當(dāng)于 斷開,對數(shù)據(jù)總線不起作用,此時數(shù)據(jù)總線可被其他器件占用。當(dāng)其他器件呈“高阻”態(tài)時,存儲器在片選允許和輸出允許的條件下,才能將自己的數(shù)據(jù)輸出到數(shù)據(jù) 總線上。 2、單端口和雙端口的區(qū)別是什么? 單端口ram是ram的讀寫只有一個端口,同時只能讀或者只能寫。 雙端口ram

4、是ram讀端口和寫端口分開,一個端口能讀,另一個端口可以同時寫。 3、什么情況下考慮采用雙端口存儲器? (1)為了使CPU不致因為等待存儲器讀寫操作的完成而無事可做,可以采取一些加速CPU和存儲器之間有效傳輸?shù)奶厥獯胧? l 采用更高速的主存儲器,或加長存儲器的字長; l 采用并行操作的雙端口存儲器; l 在CPU和主存儲器之間插入一個高速緩沖存儲器(Cache),以縮短讀出時間; l 在每個存儲器周期中存取幾個字.(采用交叉存儲器) (2) 雙端口存儲器是指同一個存儲器具有兩組相互獨立的讀寫控制線路,由于進行并行的獨立操作,是一種高速工作的存儲器。 (3) l 當(dāng)兩個端口的

5、地址不相同時,在兩個端口上進行讀寫操作,一定不會發(fā)生沖突。當(dāng)任一端口被選中驅(qū)動時,就可對整個存儲器進行存取,每一個端口都有自己的片選控制和輸出驅(qū)動控制。 l 當(dāng)兩個端口同時存取存儲器同一存儲單元時,便發(fā)生讀寫沖突。為解決此問題,特設(shè)置了BUSY標(biāo)志。由片上的判斷邏輯決定對哪個端口優(yōu)先進行讀寫操作,而暫時關(guān)閉另一個被延遲的端口。 l 總之,當(dāng)兩個端口均為開放狀態(tài)(BUSY為高電平)且存取地址相同時,發(fā)生讀寫沖突.此時判斷邏輯可以使地址匹配或片使能匹配下降至5ns,并決定對哪個端口進行存取. 4、FIFO的工作特點是什么?為什么常用于實現(xiàn)程序中的子程序調(diào)用、遞歸等? 特點: FIFO存儲

6、器是系統(tǒng)的緩沖環(huán)節(jié),如果沒有FIFO存儲器,整個系統(tǒng)就不可能正常工作,它主要有幾方面的功能: 1)對連續(xù)的數(shù)據(jù)流進行緩存,防止在進機和存儲操作時丟失數(shù)據(jù); 2)數(shù)據(jù)集中起來進行進機和存儲,可避免頻繁的總線操作,減輕CPU的負擔(dān); 3)允許系統(tǒng)進行DMA操作,提高數(shù)據(jù)的傳輸速度。這是至關(guān)重要的一點,如果不采用DMA操作,數(shù)據(jù)傳輸將達不到傳輸要求,而且大大增加CPU的負擔(dān),無法同時完成數(shù)據(jù)的存儲工作。 因此,選擇合適的存儲芯片對于提高系統(tǒng)性能很重要,在以往的設(shè)計中經(jīng)常采用的是“乒乓型”存儲方式,這種方式就是采用兩片存儲器, 數(shù)據(jù)首先進入其中一片,當(dāng)數(shù)據(jù)滿時再讓數(shù)據(jù)進入第二片存儲器,同時通過

7、邏輯控制,將第一片存儲器中的數(shù)據(jù)取走,以此類推,兩片輪流對數(shù)據(jù)進行緩存。這種方 式有著較明顯的缺點,首先是控制復(fù)雜,要有專門的邏輯來維護這種輪流機制;其次,數(shù)據(jù)流的流向要不斷變化,限制了數(shù)據(jù)流的速率,還容易產(chǎn)生干擾。從數(shù)據(jù)傳 輸上說,緩存芯片容量越大,對后續(xù)時序要求就越低,可減少總線操作的頻次;但從數(shù)據(jù)存儲上說,就意味著需要開辟更大的內(nèi)存空間來進行進行緩沖,會增加計算機的內(nèi)存開銷,而且容量越大,成本也越高。因此,在綜合考慮系統(tǒng)性能和成本的基礎(chǔ)上,選擇滿足系統(tǒng)需要的芯片即可。 在FIFO存儲器而不是地址總線上附加了表示內(nèi)部緩沖器狀態(tài)(Buffer Full,緩沖器已滿;Buffer Empty

8、,緩沖器為空)的狀態(tài)引腳,連接于FIFO的雙方利用該狀態(tài)進行操作的控制。另外,還設(shè)計了在接通電源及復(fù)位(Reset)或由于操作中的某些異常等原因而重新初始化(無數(shù)據(jù)狀態(tài))FIFO的復(fù)位引腳,這可以說是FIFO存儲器的特點。 20 / 20文檔可自由編輯打印 Verilog代碼 《sinwaveV》 module sinwaveV #(parameter DATA_WIDTH=8, parameter ADDR_WIDTH=6) ( input clk, output reg [(DATA_WIDTH-1):0] q ); reg [(ADDR_WIDT

9、H-1):0] Q1; wire newclk; reg [4:0] clk_cnt; assign newclk = clk_cnt[4]; always @(posedge CLK) begin clk_cnt <= clk_cnt+1; end always @(posedge newclk) begin Q1<=Q1+1; end lpm_rom0 lpm_rom0_inst ( .address ( Q1), .clock ( CLK ), .q ( DOUT ) ); endmod

10、ule 《test1》 // synopsys translate_off `timescale 1 ps / 1 ps // synopsys translate_on module test1 ( address, clock, data, wren, q); input [6:0] address; input clock; input [15:0] data; input wren; output [15:0] q; `ifndef ALTERA_

11、RESERVED_QIS // synopsys translate_off `endif tri1 clock; `ifndef ALTERA_RESERVED_QIS // synopsys translate_on `endif wire [15:0] sub_wire0; wire [15:0] q = sub_wire0[15:0]; altsyncram altsyncram_component ( .address_a (address), .clock0 (clock), .data_a (data),

12、 .wren_a (wren), .q_a (sub_wire0), .aclr0 (1b0), .aclr1 (1b0), .address_b (1b1), .addressstall_a (1b0), .addressstall_b (1b0), .byteena_a (1b1), .byteena_b (1b1), .clock1 (1b1), .clocken0 (1b1), .clocken1 (1b1), .clocken2 (1b1), .cloc

13、ken3 (1b1), .data_b (1b1), .eccstatus (), .q_b (), .rden_a (1b1), .rden_b (1b1), .wren_b (1b0)); defparam altsyncram_component.clock_enable_input_a = "BYPASS", altsyncram_component.clock_enable_output_a = "BYPASS", altsyncram_component.intended_device_family

14、= "Cyclone IV GX", altsyncram_component.lpm_hint = "ENABLE_RUNTIME_MOD=NO", altsyncram_component.lpm_type = "altsyncram", altsyncram_component.numwords_a = 128, altsyncram_component.operation_mode = "SINGLE_PORT", altsyncram_component.outdata_aclr_a = "NONE", altsyncram_component.o

15、utdata_reg_a = "CLOCK0", altsyncram_component.power_up_uninitialized = "FALSE", altsyncram_component.read_during_write_mode_port_a = "NEW_DATA_NO_NBE_READ", altsyncram_component.widthad_a = 7, altsyncram_component.width_a = 16, altsyncram_component.width_byteena_a = 1; endmodule

16、 《test2》 // synopsys translate_off `timescale 1 ps / 1 ps // synopsys translate_on module test2 ( address, clock, q); input [6:0] address; input clock; output [15:0] q; `ifndef ALTERA_RESERVED_QIS // synopsys translate_off `endif tri1 clock; `ifndef ALTERA_RESERVE

17、D_QIS // synopsys translate_on `endif wire [15:0] sub_wire0; wire [15:0] q = sub_wire0[15:0]; altsyncram altsyncram_component ( .address_a (address), .clock0 (clock), .q_a (sub_wire0), .aclr0 (1b0), .aclr1 (1b0), .address_b (1b1), .addressstall_a (1b0),

18、 .addressstall_b (1b0), .byteena_a (1b1), .byteena_b (1b1), .clock1 (1b1), .clocken0 (1b1), .clocken1 (1b1), .clocken2 (1b1), .clocken3 (1b1), .data_a ({16{1b1}}), .data_b (1b1), .eccstatus (), .q_b (), .rden_a (1b1), .rden_b (1b1

19、), .wren_a (1b0), .wren_b (1b0)); defparam altsyncram_component.address_aclr_a = "NONE", altsyncram_component.clock_enable_input_a = "BYPASS", altsyncram_component.clock_enable_output_a = "BYPASS", altsyncram_component.init_file = "vv_CPU.mif", altsyncram_component.intende

20、d_device_family = "Cyclone IV GX", altsyncram_component.lpm_hint = "ENABLE_RUNTIME_MOD=NO", altsyncram_component.lpm_type = "altsyncram", altsyncram_component.numwords_a = 128, altsyncram_component.operation_mode = "ROM", altsyncram_component.outdata_aclr_a = "NONE", altsyncram_com

21、ponent.outdata_reg_a = "CLOCK0", altsyncram_component.widthad_a = 7, altsyncram_component.width_a = 16, altsyncram_component.width_byteena_a = 1; endmodule 《test3》 // synopsys translate_off `timescale 1 ps / 1 ps // synopsys translate_on module test3 ( clock, data, rdadd

22、ress, wraddress, wren, q); input clock; input [15:0] data; input [6:0] rdaddress; input [6:0] wraddress; input wren; output [15:0] q; `ifndef ALTERA_RESERVED_QIS // synopsys translate_off `endif tri1 clock; tri0 wren; `ifndef ALTERA_RESERVED_QIS // synopsys t

23、ranslate_on `endif wire [15:0] sub_wire0; wire [15:0] q = sub_wire0[15:0]; altsyncram altsyncram_component ( .address_a (wraddress), .clock0 (clock), .data_a (data), .wren_a (wren), .address_b (rdaddress), .q_b (sub_wire0), .aclr0 (1b0), .aclr1 (1b0

24、), .addressstall_a (1b0), .addressstall_b (1b0), .byteena_a (1b1), .byteena_b (1b1), .clock1 (1b1), .clocken0 (1b1), .clocken1 (1b1), .clocken2 (1b1), .clocken3 (1b1), .data_b ({16{1b1}}), .eccstatus (), .q_a (), .rden_a (1b1), .r

25、den_b (1b1), .wren_b (1b0)); defparam altsyncram_component.address_aclr_b = "NONE", altsyncram_component.address_reg_b = "CLOCK0", altsyncram_component.clock_enable_input_a = "BYPASS", altsyncram_component.clock_enable_input_b = "BYPASS", altsyncram_component.clock_enable_outpu

26、t_b = "BYPASS", altsyncram_component.intended_device_family = "Cyclone IV GX", altsyncram_component.lpm_type = "altsyncram", altsyncram_component.numwords_a = 128, altsyncram_component.numwords_b = 128, altsyncram_component.operation_mode = "DUAL_PORT", altsyncram_component.outdata

27、_aclr_b = "NONE", altsyncram_component.outdata_reg_b = "CLOCK0", altsyncram_component.power_up_uninitialized = "FALSE", altsyncram_component.read_during_write_mode_mixed_ports = "DONT_CARE", altsyncram_component.widthad_a = 7, altsyncram_component.widthad_b = 7, altsyncram_componen

28、t.width_a = 16, altsyncram_component.width_b = 16, altsyncram_component.width_byteena_a = 1; endmodule 《test4》 // synopsys translate_off `timescale 1 ps / 1 ps // synopsys translate_on module test4 ( clock, data, rdreq, wrreq, empty, full, q, usedw); input c

29、lock; input [15:0] data; input rdreq; input wrreq; output empty; output full; output [15:0] q; output [4:0] usedw; wire [4:0] sub_wire0; wire sub_wire1; wire sub_wire2; wire [15:0] sub_wire3; wire [4:0] usedw = sub_wire0[4:0]; wire empty = sub_wire1; wire

30、 full = sub_wire2; wire [15:0] q = sub_wire3[15:0]; scfifo scfifo_component ( .clock (clock), .data (data), .rdreq (rdreq), .wrreq (wrreq), .usedw (sub_wire0), .empty (sub_wire1), .full (sub_wire2), .q (sub_wire3), .aclr (), .almost_empty (),

31、 .almost_full (), .sclr ()); defparam scfifo_component.add_ram_output_register = "OFF", scfifo_component.intended_device_family = "Cyclone IV GX", scfifo_component.lpm_numwords = 32, scfifo_component.lpm_showahead = "OFF", scfifo_component.lpm_type = "scfifo", scfifo_component.lpm_width = 16, scfifo_component.lpm_widthu = 5, scfifo_component.overflow_checking = "ON", scfifo_component.underflow_checking = "ON", scfifo_component.use_eab = "ON"; endmodule

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!