//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
// Design : H264Decoder
|
// Design : H264Decoder
|
// Author : KE XU
|
// Author : KE XU
|
// Email : kexu@ee.cuhk.edu.hk
|
// Email : kexu@ee.cuhk.edu.hk
|
// File : rec_DF_RAM1.v
|
// File : rec_DF_RAM1.v
|
// Generated : Dec 7 2005
|
// Generated : Dec 7 2005
|
//-------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------
|
//
|
//
|
// Description : SRAM between reconstruction and deblocking filter (96x32bit)
|
// Description : SRAM between reconstruction and deblocking filter (96x32bit)
|
//-------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------
|
`timescale 1ns/1ns
|
`timescale 1ns/1ns
|
module rec_DF_RAM1_wrapper (clk,gclk_rec_DF_RAM1,reset_n,
|
module rec_DF_RAM1_wrapper (clk,gclk_rec_DF_RAM1,reset_n,
|
rec_DF_RAM1_cs_n,rec_DF_RAM1_wr,rec_DF_RAM1_addr,rec_DF_RAM1_din,rec_DF_RAM1_dout);
|
rec_DF_RAM1_cs_n,rec_DF_RAM1_wr,rec_DF_RAM1_addr,rec_DF_RAM1_din,rec_DF_RAM1_dout);
|
input clk;
|
input clk;
|
input gclk_rec_DF_RAM1;
|
input gclk_rec_DF_RAM1;
|
input reset_n;
|
input reset_n;
|
input rec_DF_RAM1_cs_n;
|
input rec_DF_RAM1_cs_n;
|
input rec_DF_RAM1_wr;
|
input rec_DF_RAM1_wr;
|
input [6:0] rec_DF_RAM1_addr;
|
input [6:0] rec_DF_RAM1_addr;
|
input [31:0] rec_DF_RAM1_din;
|
input [31:0] rec_DF_RAM1_din;
|
output [31:0] rec_DF_RAM1_dout;
|
output [31:0] rec_DF_RAM1_dout;
|
|
|
reg rec_DF_RAM1_OEN;
|
reg rec_DF_RAM1_OEN;
|
always @ (posedge clk)
|
always @ (posedge clk)
|
if (reset_n == 1'b0)
|
if (reset_n == 1'b0)
|
rec_DF_RAM1_OEN <= 1'b1;
|
rec_DF_RAM1_OEN <= 1'b1;
|
else if (!rec_DF_RAM1_cs_n && !rec_DF_RAM1_wr)
|
else if (!rec_DF_RAM1_cs_n && !rec_DF_RAM1_wr)
|
rec_DF_RAM1_OEN <= 1'b0;
|
rec_DF_RAM1_OEN <= 1'b0;
|
else
|
else
|
rec_DF_RAM1_OEN <= 1'b1;
|
rec_DF_RAM1_OEN <= 1'b1;
|
|
|
wire rec_DF_RAM1_CEN;
|
wire rec_DF_RAM1_CEN;
|
assign rec_DF_RAM1_CEN = rec_DF_RAM1_cs_n & rec_DF_RAM1_OEN;
|
assign rec_DF_RAM1_CEN = rec_DF_RAM1_cs_n & rec_DF_RAM1_OEN;
|
|
|
rec_DF_RAM1_96x32 rec_DF_RAM1_96x32 (
|
rec_DF_RAM1_96x32 rec_DF_RAM1_96x32 (
|
.CK(gclk_rec_DF_RAM1),
|
.CK(gclk_rec_DF_RAM1),
|
.ADR(rec_DF_RAM1_addr),
|
.ADR(rec_DF_RAM1_addr),
|
.DI(rec_DF_RAM1_din),
|
.DI(rec_DF_RAM1_din),
|
.WEN(~rec_DF_RAM1_wr),
|
.WEN(~rec_DF_RAM1_wr),
|
.CEN(rec_DF_RAM1_CEN),
|
.CEN(rec_DF_RAM1_CEN),
|
.OEN(rec_DF_RAM1_OEN),
|
.OEN(rec_DF_RAM1_OEN),
|
.DOUT(rec_DF_RAM1_dout)
|
.DOUT(rec_DF_RAM1_dout)
|
);
|
);
|
endmodule
|
endmodule
|
/*
|
/*
|
module rec_DF_RAM1_96x32 (CK,ADR,DI,WEN,CEN,OEN,DOUT);
|
module rec_DF_RAM1_96x32 (CK,ADR,DI,WEN,CEN,OEN,DOUT);
|
input CK;
|
input CK;
|
input [6:0] ADR;
|
input [6:0] ADR;
|
input [31:0] DI;
|
input [31:0] DI;
|
input WEN;
|
input WEN;
|
input CEN;
|
input CEN;
|
input OEN;
|
input OEN;
|
output [31:0] DOUT;
|
output [31:0] DOUT;
|
reg [31:0] DOUT;
|
reg [31:0] DOUT;
|
reg [31:0] RAM [0:95];
|
reg [31:0] RAM [0:95];
|
|
|
always @ (posedge CK)
|
always @ (posedge CK)
|
if (!CEN && !WEN)
|
if (!CEN && !WEN)
|
RAM[ADR] <= DI;
|
RAM[ADR] <= DI;
|
|
|
always @ (posedge CK)
|
always @ (posedge CK)
|
if (!CEN && !OEN)
|
if (!CEN && !OEN)
|
DOUT <= RAM[ADR];
|
DOUT <= RAM[ADR];
|
endmodule*/
|
endmodule*/
|
|
|
|
|