Line 10... |
Line 10... |
//// ////
|
//// ////
|
//// Downloaded from: http://www.opencores.org/cores/ac97_ctrl/ ////
|
//// Downloaded from: http://www.opencores.org/cores/ac97_ctrl/ ////
|
//// ////
|
//// ////
|
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
//// ////
|
//// ////
|
//// Copyright (C) 2001 Rudolf Usselmann ////
|
//// Copyright (C) 2000-2002 Rudolf Usselmann ////
|
|
//// www.asics.ws ////
|
//// rudi@asics.ws ////
|
//// rudi@asics.ws ////
|
//// ////
|
//// ////
|
//// This source file may be used and distributed without ////
|
//// This source file may be used and distributed without ////
|
//// restriction provided that this copyright statement is not ////
|
//// restriction provided that this copyright statement is not ////
|
//// removed from the file and that any derivative work contains ////
|
//// removed from the file and that any derivative work contains ////
|
Line 34... |
Line 35... |
//// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ////
|
//// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ////
|
//// POSSIBILITY OF SUCH DAMAGE. ////
|
//// POSSIBILITY OF SUCH DAMAGE. ////
|
//// ////
|
//// ////
|
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
|
// CVS Log
|
// CVS Log
|
//
|
//
|
// $Id: ac97_cra.v,v 1.2 2002-03-05 04:44:05 rudi Exp $
|
// $Id: ac97_cra.v,v 1.3 2002-09-19 06:30:56 rudi Exp $
|
//
|
//
|
// $Date: 2002-03-05 04:44:05 $
|
// $Date: 2002-09-19 06:30:56 $
|
// $Revision: 1.2 $
|
// $Revision: 1.3 $
|
// $Author: rudi $
|
// $Author: rudi $
|
// $Locker: $
|
// $Locker: $
|
// $State: Exp $
|
// $State: Exp $
|
//
|
//
|
// Change History:
|
// Change History:
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.2 2002/03/05 04:44:05 rudi
|
|
//
|
|
// - Fixed the order of the thrash hold bits to match the spec.
|
|
// - Many minor synthesis cleanup items ...
|
|
//
|
// Revision 1.1 2001/08/03 06:54:49 rudi
|
// Revision 1.1 2001/08/03 06:54:49 rudi
|
//
|
//
|
//
|
//
|
// - Changed to new directory structure
|
// - Changed to new directory structure
|
//
|
//
|
Line 94... |
Line 101... |
//
|
//
|
|
|
reg crac_wr;
|
reg crac_wr;
|
reg crac_rd;
|
reg crac_rd;
|
reg crac_rd_done;
|
reg crac_rd_done;
|
|
reg [15:0] crac_din;
|
reg crac_we_r;
|
reg crac_we_r;
|
|
|
reg valid_r;
|
reg valid_r;
|
reg crac_rd_r;
|
|
|
|
wire valid_ne;
|
wire valid_ne;
|
wire valid_pe;
|
wire valid_pe;
|
|
|
reg rdd1, rdd2, rdd3;
|
reg rdd1, rdd2, rdd3;
|
|
|
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
//
|
//
|
// Codec Register Data Path
|
// Codec Register Data Path
|
Line 120... |
Line 123... |
// Write Data
|
// Write Data
|
assign out_slt2[19:4] = crac_out[15:0];
|
assign out_slt2[19:4] = crac_out[15:0];
|
assign out_slt2[3:0] = 4'h0;
|
assign out_slt2[3:0] = 4'h0;
|
|
|
// Read Data
|
// Read Data
|
assign crac_din = in_slt2[19:4];
|
always @(posedge clk or negedge rst)
|
|
begin
|
|
if(!rst) crac_din <= #1 16'h0;
|
|
else
|
|
if(crac_rd_done) crac_din <= #1 in_slt2[19:4];
|
|
end
|
|
|
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
//
|
//
|
// Codec Register Access Tracking
|
// Codec Register Access Tracking
|
//
|
//
|
Line 179... |
Line 187... |
|
|
assign valid_ne = !valid & valid_r;
|
assign valid_ne = !valid & valid_r;
|
|
|
assign valid_pe = valid & !valid_r;
|
assign valid_pe = valid & !valid_r;
|
|
|
always @(posedge clk)
|
|
crac_rd_r <= #1 crac_rd & valid;
|
|
|
|
endmodule
|
endmodule
|
|
|
No newline at end of file
|
No newline at end of file
|