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

Subversion Repositories zipcpu

[/] [zipcpu/] [trunk/] [rtl/] [core/] [zipcpu.v] - Diff between revs 83 and 91

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 83 Rev 91
Line 738... Line 738...
        wire    w_opvalid;
        wire    w_opvalid;
        assign  w_opvalid = (~clear_pipeline)&&(dcdvalid);
        assign  w_opvalid = (~clear_pipeline)&&(dcdvalid);
        initial opvalid     = 1'b0;
        initial opvalid     = 1'b0;
        initial opvalid_alu = 1'b0;
        initial opvalid_alu = 1'b0;
        initial opvalid_mem = 1'b0;
        initial opvalid_mem = 1'b0;
 
        initial opvalid_div = 1'b0;
 
        initial opvalid_fpu = 1'b0;
        always @(posedge i_clk)
        always @(posedge i_clk)
                if (i_rst)
                if (i_rst)
                begin
                begin
                        opvalid     <= 1'b0;
                        opvalid     <= 1'b0;
                        opvalid_alu <= 1'b0;
                        opvalid_alu <= 1'b0;
Line 967... Line 969...
                                ||((opF_wr)&&(dcdB_cc))
                                ||((opF_wr)&&(dcdB_cc))
                                // Stall on any ongoing memory operation that
                                // Stall on any ongoing memory operation that
                                // will write to opB -- captured above
                                // will write to opB -- captured above
                                // ||((mem_busy)&&(~mem_we)&&(mem_last_reg==dcdB)&&(~dcd_zI))
                                // ||((mem_busy)&&(~mem_we)&&(mem_last_reg==dcdB)&&(~dcd_zI))
                                );
                                );
`else
 
        // No stalls without pipelining, 'cause how can you have a pipeline
 
        // hazard without the pipeline?
 
        assign  dcdB_stall = 1'b0;
 
`endif
 
        assign  dcdF_stall = ((~dcdF[3])
        assign  dcdF_stall = ((~dcdF[3])
                                        ||((dcdA_rd)&&(dcdA_cc))
                                        ||((dcdA_rd)&&(dcdA_cc))
                                        ||((dcdB_rd)&&(dcdB_cc)))
                                        ||((dcdB_rd)&&(dcdB_cc)))
                                        &&(opvalid)&&(opR_cc);
                                        &&(opvalid)&&(opR_cc);
                                // &&(dcdvalid) is checked for elsewhere
                                // &&(dcdvalid) is checked for elsewhere
 
`else
 
        // No stalls without pipelining, 'cause how can you have a pipeline
 
        // hazard without the pipeline?
 
        assign  dcdB_stall = 1'b0;
 
        assign  dcdF_stall = 1'b0;
 
`endif
        //
        //
        //
        //
        //      PIPELINE STAGE #4 :: Apply Instruction
        //      PIPELINE STAGE #4 :: Apply Instruction
        //
        //
        //
        //

powered by: WebSVN 2.1.0

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