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

Subversion Repositories t6507lp

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /t6507lp/trunk/rtl/verilog
    from Rev 149 to Rev 150
    Reverse comparison

Rev 149 → Rev 150

/t6507lp_alu.v
72,7 → 72,7
always @ (posedge clk or negedge reset_n)
begin
if (reset_n == 0) begin
$display("RESTART");
//$display("RESTART");
alu_result <= 0;
alu_status[C] <= 0;
alu_status[N] <= 0;
163,7 → 163,13
end
PLP_IMP, RTI_IMP :
begin
alu_status <= alu_a;
alu_status[C] <= alu_a[C];
alu_status[Z] <= alu_a[Z];
alu_status[I] <= alu_a[I];
alu_status[D] <= alu_a[D];
alu_status[B] <= alu_a[B];
alu_status[V] <= alu_a[V];
alu_status[N] <= alu_a[N];
end
BIT_ZPG, BIT_ABS :
begin
188,12 → 194,16
always @ (*) begin
bcd1 = A;
bcd2 = alu_a;
//result = alu_result;
//STATUS[C] = STATUS[C];
//STATUS[V] = STATUS[V];
//STATUS[B] = STATUS[B];
//STATUS[I] = STATUS[I];
//STATUS[D] = STATUS[D];
result = alu_result;
STATUS[N] = alu_status[N];
STATUS[C] = alu_status[C];
STATUS[V] = alu_status[V];
STATUS[B] = alu_status[B];
STATUS[I] = alu_status[I];
STATUS[D] = alu_status[D];
STATUS[Z] = alu_status[Z];
STATUS[N] = alu_status[N];
STATUS[5] = alu_status[5];
 
case (alu_opcode)
// BIT - Bit Test
336,8 → 346,8
STATUS[C] = 1;
end
end
$display("op1 = %h op2 = %h result = %h", bcd1, bcd2, result);
$display("V = %b C = %b D = %b", STATUS[V], STATUS[C], STATUS[D]);
//$display("op1 = %h op2 = %h result = %h", bcd1, bcd2, result);
//$display("V = %b C = %b D = %b", STATUS[V], STATUS[C], STATUS[D]);
end
// AND - Logical AND
/t6507lp_alu_tb.v
44,14 → 44,14
$display("alu_status %b %b ", alu_status, alu_status_expected);
$display("alu_x %h %h ", alu_x, alu_x_expected );
$display("alu_y %h %h ", alu_y, alu_y_expected );
if ((alu_result_expected != alu_result) || (alu_status_expected != alu_status) || (alu_x_expected != alu_x) || (alu_y_expected != alu_y))
if ((alu_result_expected == alu_result) && (alu_status_expected == alu_status) && (alu_x_expected == alu_x) && (alu_y_expected == alu_y))
begin
$display("ERROR at instruction %h",alu_opcode);
$finish;
$display("Instruction %h... OK!", alu_opcode);
end
else
begin
$display("Instruction %h... OK!", alu_opcode);
$display("ERROR at instruction %h",alu_opcode);
$finish;
end
end
endtask
67,7 → 67,7
clk = 0;
reset_n = 0;
@(negedge clk);
@(negedge clk);
//@(negedge clk);
reset_n = 1;
alu_enable = 1;
alu_result_expected = 8'h00;

powered by: WebSVN 2.1.0

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