verilog簡單驅動sram

2021-08-09 01:21:09 字數 1987 閱讀 7632

//sram     input 50mhz    

module sram(

clk,sw,k, //input

sram_we_n,sram_oe_n,sram_ce_n, //output

sram_ub_n,sram_lb_n, //output

sram_addr,hex, //output

sram_data //inout

);input clk,k;

input [6:0] sw;

output sram_we_n,sram_oe_n,sram_ub_n,sram_lb_n,sram_ce_n;

output reg [17:0] sram_addr;

output [6:0] hex;

inout [15:0] sram_data;

//一直使能 高低位都不遮蔽 oe讀取資料一直拉低 we低寫資料 高讀數

//寫使能和讀使能同時拉低 寫資料

assign sram_ce_n=1'b0;

assign sram_oe_n=1'b0;

//原來都賦值1 掩碼訊號低電平有效 以為低電平就掩碼

//經過一番除錯 又看了看發現低電平才能讀寫

assign sram_ub_n=1'b0;

assign sram_lb_n=1'b0;

//--------------------------資料傳輸-------------------

reg sram_we_n;

assign sram_data=sram_we_n? 16'hzzzz:;

//warning: output pin "hex" driven by bidirectional pin "sram_data" cannot be tri-stated

//assign hex=sram_data[6:0]; 直接這樣不如直接用sram_data就好了

//為了防止誤讀資料當讀有效時 把資料送給數碼管

assign hex=sram_we_n?sram_data[6:0]:6'bz;

//--------------------------讀寫交替----------------------

parameter write=1'b0;

parameter read =1'b1;

reg current_state,next_state;

always@(posedge clk)

begin

current_state<=next_state;

endalways@(posedge clk)

begin

case(current_state)

write: next_state<=read;

read : next_state<=write;

endcase

end//-----一直讀取乙個位址 可寫入兩個位址----------------

//當k為0 輸出hex隨輸入sw變化 k=1輸出固定

always@(posedge clk)

begin

case(current_state)

//write: begin sram_addr<=;sram_we_n<=0; end

//read : begin sram_addr<=18'b0; sram_we_n<=1; end

write: begin sram_addr<=18'b0; sram_we_n<=0; end

read : begin sram_addr<=; sram_we_n<=1; end

endcase

endendmodule

SRAM和SDRAM的簡單介紹

參考 is62wv51216all資料手冊 w9825g6kh資料手冊 靜態隨機訪問儲存器 static random access memory,sram 是隨機訪問儲存器的一種。相對之下,動態隨機訪問儲存器 dram 裡面所儲存的資料就需要周期性地更新。然而,當電力 停止時,sram儲存的資料還...

verilog簡單實現串列埠

uart 2017.10.7 傳送接收到的資料 波特率9600 乙個停止位 無奇偶校驗 de2板子 rx gpio k25 0 left tx tx gpio k26 1 right rx gnd 右邊第6 或者倒數第6 復位不成功 復位按鍵有問題 靠右按即可復位 特別注意 如果乙個條件中同時給乙個...

STM32F407 驅動外部SRAM

需要驅動的sram型號為is61lv25616al,價效比比51216的高很多 配置cubemx 這幾個時序比較關鍵,可以按照手冊來計算,我用下來這幾個數值比較合適。然後就沒有然後了,生成 就可以用了。檢查sram內容是否正確 uint8 t bsp testextsram void 寫sram p...