OpenCores
URL https://opencores.org/ocsvn/6809_6309_compatible_core/6809_6309_compatible_core/trunk

Subversion Repositories 6809_6309_compatible_core

[/] [6809_6309_compatible_core/] [trunk/] [rtl/] [verilog/] [regblock.v] - Diff between revs 5 and 6

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

powered by: WebSVN 2.1.0

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