Сообщение от
ILoveSpeccy
Может существует возможность как нибудь быстро диагностировать проблему?
Если пишешь на верилоге, то можно запустить в Icarus Verilog и сравнить с эмулятором. Тестовый модуль верхнего уровня пишется за 15 минут. Вот такой, например:
Код:
module test;
reg[7:0] mem[0:127];
wire[15:0] addrbus;
wire[7:0] cpu_i = mem[addrbus];
wire[7:0] cpu_o;
wire cpu_ce = 1'b1;
wire cpu_sync;
wire cpu_rd;
wire cpu_wr_n;
reg reset;
reg clk;
k580wm80a cpu(.clk(clk), .ce(cpu_ce), .reset(reset),
.idata(cpu_i), .addr(addrbus), .sync(cpu_sync),
.rd(cpu_rd), .wr_n(cpu_wr_n), .odata(cpu_o));
always #5 clk = ~clk;
always @(posedge clk) if(~cpu_wr_n) mem[addrbus] <= cpu_o;
initial begin
$readmemh("k580test.hex", mem);
$dumpfile("k580test.vcd");
$dumpvars(2, test);
reset = 1; clk = 0;
#100
reset = 0;
#3000
$finish;
end
endmodule
Это я в своё время процессор тестировал, но в тест можно и других устройств напихать. Спецы с marsohod.org таким образом даже linux для ARM до промпта запускали.