URL
https://opencores.org/ocsvn/6809_6309_compatible_core/6809_6309_compatible_core/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 5 |
Rev 6 |
Line 172... |
Line 172... |
|
|
wire [15:0] left;
|
wire [15:0] left;
|
|
|
assign left = (write_tfr | write_exg) ? path_left_data:data_w;
|
assign left = (write_tfr | write_exg) ? path_left_data:data_w;
|
|
|
wire [15:0] new_su, old_su;
|
//wire [15:0] new_su, old_su;
|
|
|
assign old_su = (use_s) ? SS:SU;
|
//assign old_su = (use_s) ? SS:SU;
|
assign new_su = (inc_su) ? old_su + 16'h1:(dec_su) ? old_su - 16'h1:old_su;
|
//assign new_su = (inc_su) ? old_su + 16'h1:(dec_su) ? old_su - 16'h1:old_su;
|
|
|
always @(posedge clk_in)
|
always @(posedge clk_in)
|
begin
|
begin
|
if (write_exg)
|
if (write_exg)
|
case (exg_dest_r)
|
case (exg_dest_r)
|
Line 222... |
Line 222... |
end
|
end
|
if (set_e) eflag <= 1;
|
if (set_e) eflag <= 1;
|
if (clear_e) eflag <= 0;
|
if (clear_e) eflag <= 0;
|
if (write_pc) PC <= new_pc;
|
if (write_pc) PC <= new_pc;
|
if (inc_pc) PC <= PC + 16'h1;
|
if (inc_pc) PC <= PC + 16'h1;
|
|
|
if (inc_su | dec_su)
|
|
begin
|
|
if (use_s) SS <= new_su;
|
|
else SU <= new_su;
|
|
end
|
|
/*
|
/*
|
if (inc_su)
|
if (inc_su | dec_su)
|
if (use_s) SS <= SS + 16'h1;
|
begin
|
else SU <= SU + 16'h1;
|
if (use_s) SS <= new_su;
|
if (dec_su)
|
else SU <= new_su;
|
if (use_s) SS <= SS - 16'h1;
|
end
|
else SU <= SU - 16'h1;
|
|
*/
|
*/
|
|
if (inc_su)
|
|
if (use_s) SS <= SS + 16'h1;
|
|
else SU <= SU + 16'h1;
|
|
if (dec_su)
|
|
if (use_s) SS <= SS - 16'h1;
|
|
else SU <= SU - 16'h1;
|
end
|
end
|
|
|
`ifdef SIMULATION
|
`ifdef SIMULATION
|
initial
|
initial
|
begin
|
begin
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.