2012年11月3日 星期六

P6-69 RAM 4X8 =32Bits

P6-69 RAM 4X8 =32Bits

32K X 8  = 1024 X 32 X 8 Bits
32K --> Address 有15條 A0-A14
Data Bus (I/O Bus) RAM可讀寫Write In / Read Out
Data Bus --> 8條 I/O0-I/O7
/CE => Chip Select 
/WE => Write Enable
/OE =>Output Enable

//==========================================
SW17= We (Write Enable)
KEY0=Cs  (Chip Select)
SW9,8=Address Bus
LEDG[7:0]=Data Output


// Ch08 ram.v
// 隨機存取記憶體 4*bytes

module RAM (SW, LEDR, LEDG , CLOCK_50,CLOCK_27 ,KEY 
             ,HEX0 ,HEX1 ,HEX2,HEX3 ,HEX4 );

input  [17:0] SW; // toggle switches
input  [3:0] KEY;     // Push bottom
input  CLOCK_27; //Clock 27MHz 
input  CLOCK_50; //Clock 50MHz

output [17:0] LEDR; // red  LEDS   
  output [7:0] LEDG; // green LEDs
    
    output [6:0] HEX0,HEX1,HEX2,HEX3 ,HEX4; //7-segment display

//set original program input , output 



//(Cs,We,Addr,Di,Do);
parameter Words = 4;
parameter Bits  = 8;
wire  Cs,We; // 一位元輸入
wire  [1:0] Addr; // 二位元輸入
wire  [Bits-1:0] Di; // 八位元輸入

reg    [Bits-1:0] Do; // 八位元輸出
reg    [Bits-1:0] Ram [Words-1:0]; // 宣告為暫存器資料

assign Cs=KEY[0];   //Chip Select
assign We=SW[17]; //Write Enable
assign Addr=SW[9:8]; //Address =00 ,01 ,10 ,11  RAM Size=4X8 -32bits
assign Di=SW[7:0];
assign LEDR[7:0]=Di;

// 下緣觸發致能
always@ (negedge Cs) 
if (We) // 寫入
begin
Ram[Addr] = Di;
Do = 8'bz;
end
else // 讀出
Do = Ram[Addr]; 


assign LEDG[7:0]=Do;



endmodule


/*

// Ch08 ram.v
// 隨機存取記憶體 4*bytes

module RAM (Cs,We,Addr,Di,Do);
parameter Words = 4;
parameter Bits  = 8;
input  Cs,We; // 一位元輸入
input  [1:0] Addr; // 二位元輸入
input  [Bits-1:0] Di; // 八位元輸入
output [Bits-1:0] Do; // 八位元輸出
reg    [Bits-1:0] Do; // 八位元輸出
reg    [Bits-1:0] Ram [Words-1:0]; // 宣告為暫存器資料

// 下緣觸發致能
always@ (negedge Cs) 
  if (We) // 寫入
    begin
  Ram[Addr] = Di;
  Do = 8'bz;
end
  else // 讀出
    Do = Ram[Addr]; 

endmodule
*/




源自於WIKI
http://zh.wikipedia.org/wiki/%E9%9B%BB%E8%85%A6%E8%A8%98%E6%86%B6%E9%AB%94

電腦記憶體英語Computer memory)是一種利用半導體技術做成的電子裝置,用來儲存資料電子電路的資料是以二進位的方式儲存,記憶體的每一個儲存單元稱做記憶元。

[編輯]分類

電腦記憶體可以根據儲存能力與電源的關係可以分為以下兩類:

[編輯]揮發性記憶體

主條目:揮發性記憶體
揮發性記憶體(Volatile memory)指的是當電源供應中斷後,記憶體所儲存的資料便會消失的記憶體。主要有以下的類型:
  • RAM(Random access memory,隨機存取記憶體)
    • DRAM(Dynamic random access memory,動態隨機存取記憶體)
    • SRAM(Static random access memory,靜態隨機存取記憶體)

[編輯]非揮發性記憶體

非揮發性記憶體(Non-volatile memory)是指即使電源供應中斷,記憶體所儲存的資料並不會消失,重新供電後,就能夠讀取內存資料的記憶體。主要有以下的類型:
  • ROM(Read-only memory,唯讀記憶體)
    • PROM(Programmable read-only memory,可規化式唯讀記憶體)
    • EPROM(Erasable programmable read only memory,可擦可規化式唯讀記憶體)
    • EEPROM (Electrically erasable programmable read only memory,可電擦可規化式唯讀記憶體)
  • Flash memory(快閃記憶體)


沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...