2012年11月3日 星期六

P6-83 ROM 4x8=32 Bits


P6-83 ROM(Read-only memory,唯讀記憶體)

32Kx8 bits 



32bits=4x8   Data Bus =>8 條 LEDG[7:0]
                     Address Bus =2  (2^2=4) SW[1:0]
                     /Cs = Chip Select KEY[0];


// Ch08 rom.v
// 唯讀記憶體 4*bytes

module ROM (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,Addr,Do);
parameter Words = 4;
parameter Bits  = 8;
//input  Cs; // 一位元輸入
//input  [1:0] Addr; // 二位元輸入
//output [Bits-1:0] Do; // 八位元輸出

wire Cs;
wire [1:0] Addr;

reg    [Bits-1:0] Do; // 八位元輸出
assign Cs=KEY[0];   //Chip Select
assign LEDR[0]=Cs;
assign Addr=SW[1:0]; //Address =00 ,01 ,10 ,11  RAM Size=4X8 -32bits


// 下緣觸發致能
always@ (negedge Cs) 
begin
case (Addr)
0       : Do = 8'h41;
1 : Do = 8'h42;
2 : Do = 8'h43;
default : Do = 8'h44; 
endcase
end

assign LEDG[7:0]=Do;

endmodule





/*
// Ch08 rom.v
// 唯讀記憶體 4*bytes

module rom (Cs,Addr,Do);
parameter Words = 4;
parameter Bits  = 8;
input  Cs; // 一位元輸入
input  [1:0] Addr; // 二位元輸入
output [Bits-1:0] Do; // 八位元輸出
reg    [Bits-1:0] Do; // 八位元輸出

// 下緣觸發致能
always@ (negedge Cs) 
  begin
    case (Addr)
      0       : Do = 8'h41;
      1 : Do = 8'h42;
      2 : Do = 8'h43;
      default : Do = 8'h44; 
    endcase
  end

endmodule
*/

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

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