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

Subversion Repositories raptor64

[/] [raptor64/] [trunk/] [rtl/] [verilog/] [Raptor64_tb.v] - Diff between revs 33 and 41

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 33 Rev 41
Line 27... Line 27...
wire [63:0] scr_dato;
wire [63:0] scr_dato;
wire [15:0] tc_dato;
wire [15:0] tc_dato;
wire [15:0] pic_dato;
wire [15:0] pic_dato;
wire tc_ack;
wire tc_ack;
wire pic_ack;
wire pic_ack;
reg pulse1000Hz;
reg pulse1000Hz,pulse100Hz;
 
 
wire uart_ack = sys_iocyc && sys_stb && (sys_adr[23:8]==16'hDC_0A);
wire uart_ack = sys_iocyc && sys_stb && (sys_adr[23:8]==16'hDC_0A);
wire rast_ack = sys_iocyc && sys_stb && (sys_adr[23:8]==16'hDA_01);
wire rast_ack = sys_iocyc && sys_stb && (sys_adr[23:8]==16'hDA_01);
wire AC97_ack = sys_iocyc && sys_stb && (sys_adr[23:8]==16'hDC_10);
wire AC97_ack = sys_iocyc && sys_stb && (sys_adr[23:8]==16'hDC_10);
wire spr_ack =  sys_iocyc && sys_stb && (sys_adr[23:16]==8'hD8);
wire spr_ack =  sys_iocyc && sys_stb && (sys_adr[23:16]==8'hD8);
wire Led_ack =  sys_iocyc && sys_stb && (sys_adr[23:8]==16'hDC_06);
wire Led_ack =  sys_iocyc && sys_stb && (sys_adr[23:8]==16'hDC_06);
 
wire dt_ack  =  sys_iocyc && sys_stb && (sys_adr[23:8]==16'hDC_04);
 
wire p100ack =  sys_iocyc && sys_stb && (sys_adr[63:0]==64'hFFFFFFFF_FFFF0010);
 
wire p1000ack =  sys_iocyc && sys_stb && (sys_adr[63:0]==64'hFFFFFFFF_FFFF0000);
 
 
assign ram_ack = sys_cyc && sys_stb && (sys_adr[63:32]==32'd1);
assign ram_ack = sys_cyc && sys_stb && (sys_adr[63:32]==32'd1);
assign sys_ack = br_ack|stk_ack|scr_ack|tc_ack|pic_ack|ram_ack|uart_ack|rast_ack|AC97_ack|spr_ack|Led_ack;
assign sys_ack = br_ack|stk_ack|scr_ack|tc_ack|pic_ack|ram_ack|uart_ack|rast_ack|AC97_ack|spr_ack|Led_ack|dt_ack|p100ack|p1000ack;
 
 
initial begin
initial begin
        clk = 1;
        clk = 1;
        pulse1000Hz = 0;
        pulse1000Hz = 0;
 
        pulse100Hz = 0;
        rst = 0;
        rst = 0;
        nmi = 0;
        nmi = 0;
        #100 rst = 1;
        #100 rst = 1;
        #100 rst = 0;
        #100 rst = 0;
        #800 nmi = 1;
        #800 nmi = 1;
        #100 nmi = 0;
        #100 nmi = 0;
end
end
 
 
always #10 clk = ~clk;  //  50 MHz
always #20 clk = ~clk;  //  25 MHz
always #290930 pulse1000Hz = 1;
always #29930 pulse1000Hz = 1;
always #130 pulse1000Hz = 0;
always #130 pulse1000Hz = 0;
 
always #299030 pulse100Hz = 1;
 
always #130 pulse100Hz = 0;
 
 
 
 
reg pulse1000HzB;
reg pulse1000HzB,pulse100HzB;
always @(posedge clk)
always @(posedge clk)
if (rst) begin
if (rst) begin
        pulse1000HzB <= 1'b0;
        pulse1000HzB <= 1'b0;
 
        pulse100HzB <= 1'b0;
end
end
else begin
else begin
        if (pulse1000Hz)
        if (pulse1000Hz)
                pulse1000HzB <= 1'b1;
                pulse1000HzB <= 1'b1;
        else begin
        else begin
        if (sys_adr==64'hFFFFFFFF_FFFF0000)
        if (p1000ack)
                pulse1000HzB <= 1'b0;
                pulse1000HzB <= 1'b0;
        end
        end
 
        if (pulse100Hz)
 
                pulse100HzB <= 1'b1;
 
        else begin
 
        if (p100ack)
 
                pulse100HzB <= 1'b0;
 
        end
end
end
 
 
 
 
rtfTextController tc1
rtfTextController tc1
(
(
Line 143... Line 156...
        .dat_i(sys_dbo[15:0]),
        .dat_i(sys_dbo[15:0]),
        .dat_o(pic_dato),
        .dat_o(pic_dato),
        .vol_o(),                       // volatile register selected
        .vol_o(),                       // volatile register selected
        .i1(),
        .i1(),
        .i2(pulse1000HzB),
        .i2(pulse1000HzB),
        .i3(), .i4(), .i5(), .i6(), .i7(),
        .i3(pulse100HzB),
 
        .i4(), .i5(), .i6(), .i7(),
        .i8(), .i9(), .i10(), .i11(), .i12(), .i13(), .i14(),
        .i8(), .i9(), .i10(), .i11(), .i12(), .i13(), .i14(),
        .i15(),
        .i15(),
        .irqo(cpu_irq), // normally connected to the processor irq
        .irqo(cpu_irq), // normally connected to the processor irq
        .nmii(nmi),             // nmi input connected to nmi requester
        .nmii(nmi),             // nmi input connected to nmi requester
        .nmio(cpu_nmi), // normally connected to the nmi of cpu
        .nmio(cpu_nmi), // normally connected to the nmi of cpu

powered by: WebSVN 2.1.0

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