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
*/

沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...