mirror of
https://github.com/enjoy-digital/litex.git
synced 2025-01-04 09:52:26 -05:00
tb: remove obsolete norflash test bench
This commit is contained in:
parent
c6a4a8f462
commit
bccc5f5c21
3 changed files with 0 additions and 159 deletions
|
@ -1,20 +0,0 @@
|
|||
SOURCES=tb_norflash.v norflash.v
|
||||
|
||||
all: tb_norflash
|
||||
|
||||
isim: tb_norflash
|
||||
./tb_norflash
|
||||
|
||||
cversim: $(SOURCES)
|
||||
cver $(SOURCES)
|
||||
|
||||
norflash.v: norflash_conv.py
|
||||
python3 norflash_conv.py > norflash.v
|
||||
|
||||
clean:
|
||||
rm -f tb_norflash verilog.log norflash.vcd norflash.v
|
||||
|
||||
tb_norflash: $(SOURCES)
|
||||
iverilog -o tb_norflash $(SOURCES)
|
||||
|
||||
.PHONY: clean sim cversim
|
|
@ -1,10 +0,0 @@
|
|||
from migen.fhdl import verilog
|
||||
from migen.bus import wishbone
|
||||
|
||||
from milkymist import norflash
|
||||
|
||||
norflash0 = norflash.Inst(25, 12)
|
||||
frag = norflash0.get_fragment()
|
||||
v = verilog.convert(frag, name="norflash",
|
||||
ios={norflash0.bus.cyc_i, norflash0.bus.stb_i, norflash0.bus.we_i, norflash0.bus.adr_i, norflash0.bus.sel_i, norflash0.bus.dat_i, norflash0.bus.dat_o, norflash0.bus.ack_o})
|
||||
print(v)
|
|
@ -1,129 +0,0 @@
|
|||
/*
|
||||
* Milkymist SoC
|
||||
* Copyright (C) 2007, 2008, 2009, 2010, 2011 Sebastien Bourdeauducq
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, version 3 of the License.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
module tb_norflash();
|
||||
|
||||
reg sys_clk;
|
||||
reg sys_rst;
|
||||
|
||||
reg [31:0] wb_adr_i;
|
||||
wire [31:0] wb_dat_o;
|
||||
reg wb_cyc_i;
|
||||
reg wb_stb_i;
|
||||
wire wb_ack_o;
|
||||
reg [3:0] wb_sel_i;
|
||||
|
||||
wire [23:0] flash_adr;
|
||||
wire [15:0] flash_d;
|
||||
reg [15:0] flash_do;
|
||||
|
||||
always @(flash_adr) #110 flash_do <= flash_adr[15:0] + 16'b1;
|
||||
|
||||
norflash dut(
|
||||
.sys_clk(sys_clk),
|
||||
.sys_rst(sys_rst),
|
||||
|
||||
.wishbone_norflash_adr_i(wb_adr_i),
|
||||
.wishbone_norflash_dat_o(wb_dat_o),
|
||||
.wishbone_norflash_cyc_i(wb_cyc_i),
|
||||
.wishbone_norflash_stb_i(wb_stb_i),
|
||||
.wishbone_norflash_ack_o(wb_ack_o),
|
||||
.wishbone_norflash_sel_i(wb_sel_i),
|
||||
|
||||
.norflash_adr(flash_adr),
|
||||
.norflash_d(flash_d),
|
||||
.norflash_oe_n(flash_oe_n),
|
||||
.norflash_we_n(flash_we_n)
|
||||
);
|
||||
|
||||
//assign flash_d = flash_oe_n ? 16'bz : flash_do;
|
||||
assign flash_d = flash_do;
|
||||
|
||||
task wbread;
|
||||
input [31:0] address;
|
||||
integer i;
|
||||
begin
|
||||
wb_adr_i <= address;
|
||||
wb_cyc_i <= 1'b1;
|
||||
wb_stb_i <= 1'b1;
|
||||
|
||||
i = 1;
|
||||
while(~wb_ack_o) begin
|
||||
#5 sys_clk <= 1'b1;
|
||||
#5 sys_clk <= 1'b0;
|
||||
i = i + 1;
|
||||
end
|
||||
|
||||
$display("Read address %h completed in %d cycles, result %h", address, i, wb_dat_o);
|
||||
|
||||
wb_cyc_i <= 1'b0;
|
||||
wb_stb_i <= 1'b0;
|
||||
|
||||
/* Let the core release its ack */
|
||||
#5 sys_clk <= 1'b1;
|
||||
#5 sys_clk <= 1'b0;
|
||||
end
|
||||
endtask
|
||||
|
||||
initial begin
|
||||
$dumpfile("norflash.vcd");
|
||||
$dumpvars(1, dut);
|
||||
|
||||
sys_rst <= 1'b1;
|
||||
sys_clk <= 1'b0;
|
||||
|
||||
wb_adr_i <= 32'h00000000;
|
||||
wb_cyc_i <= 1'b0;
|
||||
wb_stb_i <= 1'b0;
|
||||
wb_sel_i <= 4'b1111;
|
||||
|
||||
#5 sys_clk <= 1'b1;
|
||||
#5 sys_clk <= 1'b0;
|
||||
|
||||
sys_rst <= 1'b0;
|
||||
#5 sys_clk <= 1'b1;
|
||||
#5 sys_clk <= 1'b0;
|
||||
|
||||
wbread(32'h00000000);
|
||||
wbread(32'h00000004);
|
||||
|
||||
wb_sel_i = 4'b0010;
|
||||
wbread(32'h0000fff1);
|
||||
|
||||
wb_sel_i = 4'b0100;
|
||||
wbread(32'h0000fff2);
|
||||
|
||||
wb_sel_i = 4'b1000;
|
||||
wbread(32'h0000fff3);
|
||||
|
||||
wb_sel_i = 4'b0100;
|
||||
wbread(32'h0000fff0);
|
||||
|
||||
wb_sel_i = 4'b1111;
|
||||
wbread(32'h00000010);
|
||||
#5 sys_clk = 1'b1;
|
||||
#5 sys_clk = 1'b0;
|
||||
#5 sys_clk = 1'b1;
|
||||
#5 sys_clk = 1'b0;
|
||||
wbread(32'h00000040);
|
||||
|
||||
$finish;
|
||||
end
|
||||
|
||||
endmodule
|
Loading…
Reference in a new issue