OpenCores
URL https://opencores.org/ocsvn/psg16/psg16/trunk

Subversion Repositories psg16

[/] [psg16/] [trunk/] [bench/] [AC97_tb.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 robfinch
module AC97_tb();
2
reg rst;
3
reg clk;
4
wire BIT_CLK;
5
wire RESET;
6
wire SDATA_IN;
7
wire SDATA_OUT;
8
wire SYNC;
9
 
10
reg cyc;
11
reg stb;
12
reg we;
13
wire ack;
14
reg [63:0] adr;
15
reg [15:0] dat;
16
wire [15:0] dato;
17
 
18
initial begin
19
        #0       rst = 1'b0;
20
        #0       clk = 1'b0;
21
        #100 rst = 1'b1;
22
        #100 rst = 1'b0;
23
end
24
 
25
always #10 clk = ~clk;
26
 
27
reg [7:0] state;
28
always @(posedge clk)
29
if (rst) begin
30
cyc <= 1'b0;
31
stb <= 1'b0;
32
we <= 1'b0;
33
state <= 8'd0;
34
end
35
else begin
36
case(state)
37
8'd0:   state <= 8'd1;
38
8'd1:   if (!cyc) begin
39
                        cyc <= 1'b1;
40
                        stb <= 1'b1;
41
                        we <= 1'b1;
42
                        adr <= 64'hFFFF_FFFF_FFDC_1026;
43
                        dat <= 16'h0000;
44
                end
45
                else if (ack) begin
46
                        cyc <= 1'b0;
47
                        stb <= 1'b0;
48
                        we <= 1'b0;
49
                        state <= 8'd2;
50
                end
51
endcase
52
end
53
 
54
AC97 u1
55
(
56
        .rst_i(rst),
57
        .clk_i(clk),
58
        .cyc_i(cyc),
59
        .stb_i(stb),
60
        .ack_o(ack),
61
        .we_i(we),
62
        .adr_i(adr),
63
        .dat_i(dat),
64
        .dat_o(dato),
65
        .PSGout(),
66
        .BIT_CLK(BIT_CLK),
67
        .SYNC(SYNC),
68
        .SDATA_IN(SDATA_OUT),
69
        .SDATA_OUT(SDATA_IN),
70
        .RESET(RESET)
71
);
72
 
73
LM4550 u2
74
(
75
    .BIT_CLK(BIT_CLK),
76
    .SDATA_OUT(SDATA_OUT),
77
    .RESET(RESET),
78
    .SYNC(SYNC),
79
    .SDATA_IN(SDATA_IN)
80
);
81
 
82
 
83
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.