mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Cleaned out unused signals
This commit is contained in:
		
							parent
							
								
									225102047a
								
							
						
					
					
						commit
						0258901865
					
				@ -38,7 +38,6 @@ module ahblite (
 | 
				
			|||||||
  // Signals from Instruction Cache
 | 
					  // Signals from Instruction Cache
 | 
				
			||||||
  input  logic [`XLEN-1:0] InstrPAdrF, // *** rename these to match block diagram
 | 
					  input  logic [`XLEN-1:0] InstrPAdrF, // *** rename these to match block diagram
 | 
				
			||||||
  input  logic             InstrReadF,
 | 
					  input  logic             InstrReadF,
 | 
				
			||||||
//  input  logic             ResolveBranchD,
 | 
					 | 
				
			||||||
  output logic [`XLEN-1:0] InstrRData,
 | 
					  output logic [`XLEN-1:0] InstrRData,
 | 
				
			||||||
  // Signals from Data Cache
 | 
					  // Signals from Data Cache
 | 
				
			||||||
  input  logic [`XLEN-1:0] MemPAdrM,
 | 
					  input  logic [`XLEN-1:0] MemPAdrM,
 | 
				
			||||||
 | 
				
			|||||||
@ -33,7 +33,6 @@ module controller(
 | 
				
			|||||||
  input  logic [2:0] Funct3D,
 | 
					  input  logic [2:0] Funct3D,
 | 
				
			||||||
  input  logic [6:0] Funct7D,
 | 
					  input  logic [6:0] Funct7D,
 | 
				
			||||||
  output logic [2:0] ImmSrcD,
 | 
					  output logic [2:0] ImmSrcD,
 | 
				
			||||||
  input  logic       StallD, FlushD, 
 | 
					 | 
				
			||||||
  input  logic       IllegalIEUInstrFaultD, 
 | 
					  input  logic       IllegalIEUInstrFaultD, 
 | 
				
			||||||
  output logic       IllegalBaseInstrFaultD,
 | 
					  output logic       IllegalBaseInstrFaultD,
 | 
				
			||||||
  // Execute stage control signals
 | 
					  // Execute stage control signals
 | 
				
			||||||
@ -48,7 +47,6 @@ module controller(
 | 
				
			|||||||
  output logic       MulDivE, W64E,
 | 
					  output logic       MulDivE, W64E,
 | 
				
			||||||
  // Memory stage control signals
 | 
					  // Memory stage control signals
 | 
				
			||||||
  input  logic       StallM, FlushM,
 | 
					  input  logic       StallM, FlushM,
 | 
				
			||||||
  input  logic       DataMisalignedM,
 | 
					 | 
				
			||||||
  output logic [1:0] MemRWM,
 | 
					  output logic [1:0] MemRWM,
 | 
				
			||||||
  output logic       CSRWriteM, PrivilegedM, 
 | 
					  output logic       CSRWriteM, PrivilegedM, 
 | 
				
			||||||
  output logic [2:0] Funct3M,
 | 
					  output logic [2:0] Funct3M,
 | 
				
			||||||
 | 
				
			|||||||
@ -28,13 +28,11 @@
 | 
				
			|||||||
module datapath (
 | 
					module datapath (
 | 
				
			||||||
  input logic clk, reset,
 | 
					  input logic clk, reset,
 | 
				
			||||||
  // Decode stage signals
 | 
					  // Decode stage signals
 | 
				
			||||||
  input  logic             StallD, FlushD,
 | 
					 | 
				
			||||||
  input  logic [2:0]       ImmSrcD,
 | 
					  input  logic [2:0]       ImmSrcD,
 | 
				
			||||||
  input  logic [31:0]      InstrD,
 | 
					  input  logic [31:0]      InstrD,
 | 
				
			||||||
  // Execute stage signals
 | 
					  // Execute stage signals
 | 
				
			||||||
  input  logic             StallE, FlushE,
 | 
					  input  logic             StallE, FlushE,
 | 
				
			||||||
  input  logic [1:0]       ForwardAE, ForwardBE,
 | 
					  input  logic [1:0]       ForwardAE, ForwardBE,
 | 
				
			||||||
  input  logic             PCSrcE,
 | 
					 | 
				
			||||||
  input  logic [4:0]       ALUControlE,
 | 
					  input  logic [4:0]       ALUControlE,
 | 
				
			||||||
  input  logic             ALUSrcAE, ALUSrcBE,
 | 
					  input  logic             ALUSrcAE, ALUSrcBE,
 | 
				
			||||||
  input  logic             TargetSrcE, 
 | 
					  input  logic             TargetSrcE, 
 | 
				
			||||||
@ -44,8 +42,6 @@ module datapath (
 | 
				
			|||||||
  output logic [`XLEN-1:0] SrcAE, SrcBE,
 | 
					  output logic [`XLEN-1:0] SrcAE, SrcBE,
 | 
				
			||||||
  // Memory stage signals
 | 
					  // Memory stage signals
 | 
				
			||||||
  input  logic             StallM, FlushM,
 | 
					  input  logic             StallM, FlushM,
 | 
				
			||||||
  input  logic [2:0]       Funct3M,
 | 
					 | 
				
			||||||
  input  logic             RetM, TrapM,
 | 
					 | 
				
			||||||
  output logic [`XLEN-1:0] SrcAM,
 | 
					  output logic [`XLEN-1:0] SrcAM,
 | 
				
			||||||
  output logic [`XLEN-1:0] WriteDataM, MemAdrM,
 | 
					  output logic [`XLEN-1:0] WriteDataM, MemAdrM,
 | 
				
			||||||
  // Writeback stage signals
 | 
					  // Writeback stage signals
 | 
				
			||||||
 | 
				
			|||||||
@ -49,9 +49,8 @@ module ieu (
 | 
				
			|||||||
  input  logic [`XLEN-1:0] PCLinkW,
 | 
					  input  logic [`XLEN-1:0] PCLinkW,
 | 
				
			||||||
  output logic             InstrValidW,
 | 
					  output logic             InstrValidW,
 | 
				
			||||||
  // hazards
 | 
					  // hazards
 | 
				
			||||||
  input  logic             StallF, StallD, StallE, StallM, StallW,
 | 
					  input  logic             StallE, StallM, StallW,
 | 
				
			||||||
  input  logic             FlushD, FlushE, FlushM, FlushW,
 | 
					  input  logic             FlushE, FlushM, FlushW,
 | 
				
			||||||
  input  logic             RetM, TrapM,
 | 
					 | 
				
			||||||
  output logic             LoadStallD, MulDivStallD,
 | 
					  output logic             LoadStallD, MulDivStallD,
 | 
				
			||||||
  output logic             PCSrcE,
 | 
					  output logic             PCSrcE,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -36,8 +36,6 @@ module ifu (
 | 
				
			|||||||
  output logic [`XLEN-1:0] InstrPAdrF,
 | 
					  output logic [`XLEN-1:0] InstrPAdrF,
 | 
				
			||||||
  output logic             InstrReadF,
 | 
					  output logic             InstrReadF,
 | 
				
			||||||
  // Decode  
 | 
					  // Decode  
 | 
				
			||||||
  //output logic             InstrStall,
 | 
					 | 
				
			||||||
  output logic             ResolveBranchD,
 | 
					 | 
				
			||||||
  // Execute
 | 
					  // Execute
 | 
				
			||||||
  input  logic             PCSrcE, 
 | 
					  input  logic             PCSrcE, 
 | 
				
			||||||
  input  logic [`XLEN-1:0] PCTargetE,
 | 
					  input  logic [`XLEN-1:0] PCTargetE,
 | 
				
			||||||
@ -60,7 +58,7 @@ module ifu (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  logic [`XLEN-1:0] UnalignedPCNextF, PCNextF;
 | 
					  logic [`XLEN-1:0] UnalignedPCNextF, PCNextF;
 | 
				
			||||||
  logic misaligned, BranchMisalignedFaultE, BranchMisalignedFaultM, TrapMisalignedFaultM;
 | 
					  logic misaligned, BranchMisalignedFaultE, BranchMisalignedFaultM, TrapMisalignedFaultM;
 | 
				
			||||||
  logic StallExceptResolveBranchesF, PrivilegedChangePCM;
 | 
					  logic PrivilegedChangePCM;
 | 
				
			||||||
  logic IllegalCompInstrD;
 | 
					  logic IllegalCompInstrD;
 | 
				
			||||||
  logic [`XLEN-1:0] PCPlusUpperF, PCPlus2or4F, PCD, PCW, PCLinkD, PCLinkE, PCLinkM;
 | 
					  logic [`XLEN-1:0] PCPlusUpperF, PCPlus2or4F, PCD, PCW, PCLinkD, PCLinkE, PCLinkM;
 | 
				
			||||||
  logic        CompressedF;
 | 
					  logic        CompressedF;
 | 
				
			||||||
 | 
				
			|||||||
@ -61,7 +61,7 @@ module mul (
 | 
				
			|||||||
    // flavor of multiplication
 | 
					    // flavor of multiplication
 | 
				
			||||||
    assign MULH = (Funct3E == 2'b01);
 | 
					    assign MULH = (Funct3E == 2'b01);
 | 
				
			||||||
    assign MULHSU = (Funct3E == 2'b10);
 | 
					    assign MULHSU = (Funct3E == 2'b10);
 | 
				
			||||||
    assign MULHU = (Funct3E == 2'b11);
 | 
					    // assign MULHU = (Funct3E == 2'b11); // signal unused
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Handle signs
 | 
					    // Handle signs
 | 
				
			||||||
    assign PP1 = Pprime; // same for all flavors
 | 
					    assign PP1 = Pprime; // same for all flavors
 | 
				
			||||||
 | 
				
			|||||||
@ -60,15 +60,13 @@ module csrs #(parameter
 | 
				
			|||||||
  // Supervisor mode CSRs sometimes supported
 | 
					  // Supervisor mode CSRs sometimes supported
 | 
				
			||||||
  generate  
 | 
					  generate  
 | 
				
			||||||
    if (`S_SUPPORTED) begin
 | 
					    if (`S_SUPPORTED) begin
 | 
				
			||||||
      logic WriteSTVECM, WriteSEDELEGM, WriteSIDELEGM;
 | 
					      logic WriteSTVECM;
 | 
				
			||||||
      logic WriteSSCRATCHM, WriteSEPCM;
 | 
					      logic WriteSSCRATCHM, WriteSEPCM;
 | 
				
			||||||
      logic WriteSCAUSEM, WriteSTVALM, WriteSATPM, WriteSCOUNTERENM;
 | 
					      logic WriteSCAUSEM, WriteSTVALM, WriteSATPM, WriteSCOUNTERENM;
 | 
				
			||||||
      logic [`XLEN-1:0] SSCRATCH_REGW, SCAUSE_REGW, STVAL_REGW, SATP_REGW;
 | 
					      logic [`XLEN-1:0] SSCRATCH_REGW, SCAUSE_REGW, STVAL_REGW, SATP_REGW;
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
      assign WriteSSTATUSM = CSRSWriteM && (CSRAdrM == SSTATUS);
 | 
					      assign WriteSSTATUSM = CSRSWriteM && (CSRAdrM == SSTATUS);
 | 
				
			||||||
      assign WriteSTVECM = CSRSWriteM && (CSRAdrM == STVEC);
 | 
					      assign WriteSTVECM = CSRSWriteM && (CSRAdrM == STVEC);
 | 
				
			||||||
      assign WriteSEDELEGM = CSRSWriteM && (CSRAdrM == SEDELEG);
 | 
					 | 
				
			||||||
      assign WriteSIDELEGM = CSRSWriteM && (CSRAdrM == SIDELEG);
 | 
					 | 
				
			||||||
      assign WriteSSCRATCHM = CSRSWriteM && (CSRAdrM == SSCRATCH);
 | 
					      assign WriteSSCRATCHM = CSRSWriteM && (CSRAdrM == SSCRATCH);
 | 
				
			||||||
      assign WriteSEPCM = STrapM | (CSRSWriteM && (CSRAdrM == SEPC));
 | 
					      assign WriteSEPCM = STrapM | (CSRSWriteM && (CSRAdrM == SEPC));
 | 
				
			||||||
      assign WriteSCAUSEM = STrapM | (CSRSWriteM && (CSRAdrM == SCAUSE));
 | 
					      assign WriteSCAUSEM = STrapM | (CSRSWriteM && (CSRAdrM == SCAUSE));
 | 
				
			||||||
@ -85,6 +83,9 @@ module csrs #(parameter
 | 
				
			|||||||
      flopenr #(`XLEN) SATPreg(clk, reset, WriteSATPM, CSRWriteValM, SATP_REGW);
 | 
					      flopenr #(`XLEN) SATPreg(clk, reset, WriteSATPM, CSRWriteValM, SATP_REGW);
 | 
				
			||||||
      flopenl #(32)   SCOUNTERENreg(clk, reset, WriteSCOUNTERENM, CSRWriteValM[31:0], allones, SCOUNTEREN_REGW);
 | 
					      flopenl #(32)   SCOUNTERENreg(clk, reset, WriteSCOUNTERENM, CSRWriteValM[31:0], allones, SCOUNTEREN_REGW);
 | 
				
			||||||
      if (`N_SUPPORTED) begin
 | 
					      if (`N_SUPPORTED) begin
 | 
				
			||||||
 | 
					        logic WriteSEDELEGM, WriteSIDELEGM;
 | 
				
			||||||
 | 
					        assign WriteSEDELEGM = CSRSWriteM && (CSRAdrM == SEDELEG);
 | 
				
			||||||
 | 
					        assign WriteSIDELEGM = CSRSWriteM && (CSRAdrM == SIDELEG);
 | 
				
			||||||
        flopenl #(`XLEN) SEDELEGreg(clk, reset, WriteSEDELEGM, CSRWriteValM & SEDELEG_MASK, zero, SEDELEG_REGW);
 | 
					        flopenl #(`XLEN) SEDELEGreg(clk, reset, WriteSEDELEGM, CSRWriteValM & SEDELEG_MASK, zero, SEDELEG_REGW);
 | 
				
			||||||
        flopenl #(`XLEN) SIDELEGreg(clk, reset, WriteSIDELEGM, CSRWriteValM, zero, SIDELEG_REGW);
 | 
					        flopenl #(`XLEN) SIDELEGreg(clk, reset, WriteSIDELEGM, CSRWriteValM, zero, SIDELEG_REGW);
 | 
				
			||||||
      end else begin
 | 
					      end else begin
 | 
				
			||||||
 | 
				
			|||||||
@ -67,10 +67,10 @@ module clint (
 | 
				
			|||||||
    if (`XLEN==64) begin
 | 
					    if (`XLEN==64) begin
 | 
				
			||||||
      always @(posedge HCLK) begin
 | 
					      always @(posedge HCLK) begin
 | 
				
			||||||
        case(entry)
 | 
					        case(entry)
 | 
				
			||||||
          16'h0000: HREADCLINT = {63'b0, MSIP};
 | 
					          16'h0000: HREADCLINT <= {63'b0, MSIP};
 | 
				
			||||||
          16'h4000: HREADCLINT = MTIMECMP;
 | 
					          16'h4000: HREADCLINT <= MTIMECMP;
 | 
				
			||||||
          16'hBFF8: HREADCLINT = MTIME;
 | 
					          16'hBFF8: HREADCLINT <= MTIME;
 | 
				
			||||||
          default:  HREADCLINT = 0;
 | 
					          default:  HREADCLINT <= 0;
 | 
				
			||||||
        endcase
 | 
					        endcase
 | 
				
			||||||
      end 
 | 
					      end 
 | 
				
			||||||
      always_ff @(posedge HCLK or negedge HRESETn) 
 | 
					      always_ff @(posedge HCLK or negedge HRESETn) 
 | 
				
			||||||
@ -89,12 +89,12 @@ module clint (
 | 
				
			|||||||
    end else begin // 32-bit
 | 
					    end else begin // 32-bit
 | 
				
			||||||
      always @(posedge HCLK) begin
 | 
					      always @(posedge HCLK) begin
 | 
				
			||||||
        case(entry)
 | 
					        case(entry)
 | 
				
			||||||
          16'h0000: HREADCLINT = {31'b0, MSIP};
 | 
					          16'h0000: HREADCLINT <= {31'b0, MSIP};
 | 
				
			||||||
          16'h4000: HREADCLINT = MTIMECMP[31:0];
 | 
					          16'h4000: HREADCLINT <= MTIMECMP[31:0];
 | 
				
			||||||
          16'h4004: HREADCLINT = MTIMECMP[63:32];
 | 
					          16'h4004: HREADCLINT <= MTIMECMP[63:32];
 | 
				
			||||||
          16'hBFF8: HREADCLINT = MTIME[31:0];
 | 
					          16'hBFF8: HREADCLINT <= MTIME[31:0];
 | 
				
			||||||
          16'hBFFC: HREADCLINT = MTIME[63:32];
 | 
					          16'hBFFC: HREADCLINT <= MTIME[63:32];
 | 
				
			||||||
          default:  HREADCLINT = 0;
 | 
					          default:  HREADCLINT <= 0;
 | 
				
			||||||
        endcase
 | 
					        endcase
 | 
				
			||||||
      end 
 | 
					      end 
 | 
				
			||||||
      always_ff @(posedge HCLK or negedge HRESETn) 
 | 
					      always_ff @(posedge HCLK or negedge HRESETn) 
 | 
				
			||||||
 | 
				
			|||||||
@ -57,24 +57,24 @@ module uart (
 | 
				
			|||||||
      always @(posedge HCLK) begin
 | 
					      always @(posedge HCLK) begin
 | 
				
			||||||
        HREADUART = {Dout, Dout, Dout, Dout, Dout, Dout, Dout, Dout};
 | 
					        HREADUART = {Dout, Dout, Dout, Dout, Dout, Dout, Dout, Dout};
 | 
				
			||||||
        case (HADDR)
 | 
					        case (HADDR)
 | 
				
			||||||
          3'b000: Din = HWDATA[7:0];
 | 
					          3'b000: Din <= HWDATA[7:0];
 | 
				
			||||||
          3'b001: Din = HWDATA[15:8];
 | 
					          3'b001: Din <= HWDATA[15:8];
 | 
				
			||||||
          3'b010: Din = HWDATA[23:16];
 | 
					          3'b010: Din <= HWDATA[23:16];
 | 
				
			||||||
          3'b011: Din = HWDATA[31:24];
 | 
					          3'b011: Din <= HWDATA[31:24];
 | 
				
			||||||
          3'b100: Din = HWDATA[39:32];
 | 
					          3'b100: Din <= HWDATA[39:32];
 | 
				
			||||||
          3'b101: Din = HWDATA[47:40];
 | 
					          3'b101: Din <= HWDATA[47:40];
 | 
				
			||||||
          3'b110: Din = HWDATA[55:48];
 | 
					          3'b110: Din <= HWDATA[55:48];
 | 
				
			||||||
          3'b111: Din = HWDATA[63:56];
 | 
					          3'b111: Din <= HWDATA[63:56];
 | 
				
			||||||
        endcase 
 | 
					        endcase 
 | 
				
			||||||
      end 
 | 
					      end 
 | 
				
			||||||
    end else begin // 32-bit
 | 
					    end else begin // 32-bit
 | 
				
			||||||
      always @(posedge HCLK) begin
 | 
					      always @(posedge HCLK) begin
 | 
				
			||||||
        HREADUART = {Dout, Dout, Dout, Dout};
 | 
					        HREADUART = {Dout, Dout, Dout, Dout};
 | 
				
			||||||
        case (HADDR[1:0])
 | 
					        case (HADDR[1:0])
 | 
				
			||||||
          2'b00: Din = HWDATA[7:0];
 | 
					          2'b00: Din <= HWDATA[7:0];
 | 
				
			||||||
          2'b01: Din = HWDATA[15:8];
 | 
					          2'b01: Din <= HWDATA[15:8];
 | 
				
			||||||
          2'b10: Din = HWDATA[23:16];
 | 
					          2'b10: Din <= HWDATA[23:16];
 | 
				
			||||||
          2'b11: Din = HWDATA[31:24];
 | 
					          2'b11: Din <= HWDATA[31:24];
 | 
				
			||||||
        endcase
 | 
					        endcase
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
				
			|||||||
@ -78,8 +78,6 @@ module wallypipelinedhart (
 | 
				
			|||||||
  logic LoadMisalignedFaultM, LoadAccessFaultM;
 | 
					  logic LoadMisalignedFaultM, LoadAccessFaultM;
 | 
				
			||||||
  logic StoreMisalignedFaultM, StoreAccessFaultM;
 | 
					  logic StoreMisalignedFaultM, StoreAccessFaultM;
 | 
				
			||||||
  logic [`XLEN-1:0] InstrMisalignedAdrM;
 | 
					  logic [`XLEN-1:0] InstrMisalignedAdrM;
 | 
				
			||||||
  logic [`XLEN-1:0] zero = 0;
 | 
					 | 
				
			||||||
  logic ResolveBranchD;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  logic        PCSrcE;
 | 
					  logic        PCSrcE;
 | 
				
			||||||
  logic        CSRWritePendingDEM;
 | 
					  logic        CSRWritePendingDEM;
 | 
				
			||||||
 | 
				
			|||||||
@ -56,7 +56,6 @@ module wallypipelinedsoc (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // to instruction memory *** remove later
 | 
					  // to instruction memory *** remove later
 | 
				
			||||||
  logic [`XLEN-1:0] PCF;
 | 
					  logic [`XLEN-1:0] PCF;
 | 
				
			||||||
  logic [31:0] InstrF;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // Uncore signals
 | 
					  // Uncore signals
 | 
				
			||||||
  logic [`AHBW-1:0] HRDATA;   // from AHB mux in uncore
 | 
					  logic [`AHBW-1:0] HRDATA;   // from AHB mux in uncore
 | 
				
			||||||
@ -68,6 +67,7 @@ module wallypipelinedsoc (
 | 
				
			|||||||
  logic [3:0]       HSIZED;
 | 
					  logic [3:0]       HSIZED;
 | 
				
			||||||
  logic             HWRITED;
 | 
					  logic             HWRITED;
 | 
				
			||||||
  logic [15:0]      rd2; // bogus, delete when real multicycle fetch works
 | 
					  logic [15:0]      rd2; // bogus, delete when real multicycle fetch works
 | 
				
			||||||
 | 
					  logic [31:0]      InstrF;
 | 
				
			||||||
   
 | 
					   
 | 
				
			||||||
  // instantiate processor and memories
 | 
					  // instantiate processor and memories
 | 
				
			||||||
  wallypipelinedhart hart(.*);
 | 
					  wallypipelinedhart hart(.*);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user