forked from Github_Repos/cvw
		
	busybear: add more CSRs
This commit is contained in:
		
							parent
							
								
									d9431d5bed
								
							
						
					
					
						commit
						dc881bd51b
					
				@ -181,40 +181,44 @@ module testbench_busybear();
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
    
 | 
			
		||||
  `define CHECK_CSR(CSR) \
 | 
			
		||||
  `define CHECK_CSR2(CSR, PATH) \
 | 
			
		||||
    string CSR; \
 | 
			
		||||
    logic [63:0] expected``CSR``; \
 | 
			
		||||
    //CSR checking \
 | 
			
		||||
    always @(dut.priv.csr.``CSR``_REGW) begin \
 | 
			
		||||
    always @(``PATH``.``CSR``_REGW) begin \
 | 
			
		||||
        if ($time > 1) begin \
 | 
			
		||||
          scan_file_csr = $fscanf(data_file_csr, "%s\n", CSR); \
 | 
			
		||||
          scan_file_csr = $fscanf(data_file_csr, "%x\n", expected``CSR``); \
 | 
			
		||||
          if(CSR.icompare(`"CSR`")) begin \
 | 
			
		||||
            $display("%t ps, instr %0d: %s changed, expected %s", $time, instrs, `"CSR`", CSR); \
 | 
			
		||||
          end \
 | 
			
		||||
          if(dut.priv.csr.``CSR``_REGW != ``expected``CSR) begin \
 | 
			
		||||
            $display("%t ps, instr %0d: %s does not equal %s expected: %x, %x", $time, instrs, `"CSR`", CSR, dut.priv.csr.``CSR``_REGW, ``expected``CSR); \
 | 
			
		||||
          if(``PATH``.``CSR``_REGW != ``expected``CSR) begin \
 | 
			
		||||
            $display("%t ps, instr %0d: %s does not equal %s expected: %x, %x", $time, instrs, `"CSR`", CSR, ``PATH``.``CSR``_REGW, ``expected``CSR); \
 | 
			
		||||
          end \
 | 
			
		||||
        end else begin \
 | 
			
		||||
          for(integer j=0; j<totalCSR; j++) begin \
 | 
			
		||||
            if(!StartCSRname[j].icompare(`"CSR`")) begin \
 | 
			
		||||
              if(dut.priv.csr.``CSR``_REGW != StartCSRexpected[j]) begin \
 | 
			
		||||
                $display("%t ps, instr %0d: %s does not equal %s expected: %x, %x", $time, instrs, `"CSR`", StartCSRname[j], dut.priv.csr.``CSR``_REGW, StartCSRexpected[j]); \
 | 
			
		||||
              if(``PATH``.``CSR``_REGW != StartCSRexpected[j]) begin \
 | 
			
		||||
                $display("%t ps, instr %0d: %s does not equal %s expected: %x, %x", $time, instrs, `"CSR`", StartCSRname[j], ``PATH``.``CSR``_REGW, StartCSRexpected[j]); \
 | 
			
		||||
              end \
 | 
			
		||||
            end \
 | 
			
		||||
          end \
 | 
			
		||||
        end \
 | 
			
		||||
    end
 | 
			
		||||
  `define CHECK_CSR(CSR) \
 | 
			
		||||
     `CHECK_CSR2(CSR, dut.priv.csr) 
 | 
			
		||||
 | 
			
		||||
  //`CHECK_CSR(FCSR)
 | 
			
		||||
  `CHECK_CSR(MCOUNTEREN)
 | 
			
		||||
  `CHECK_CSR(MEDELEG)
 | 
			
		||||
  `CHECK_CSR(MIDELEG)
 | 
			
		||||
  //`CHECK_CSR(MHARTID)
 | 
			
		||||
  `CHECK_CSR(MIE)
 | 
			
		||||
  //`CHECK_CSR(MSCRATCH)
 | 
			
		||||
  `CHECK_CSR2(MISA, dut.priv.csr.genblk1.csrm)
 | 
			
		||||
  `CHECK_CSR2(MSCRATCH, dut.priv.csr.genblk1.csrm)
 | 
			
		||||
  `CHECK_CSR(MSTATUS)
 | 
			
		||||
  `CHECK_CSR(MTVEC)
 | 
			
		||||
  //`CHECK_CSR(SATP)
 | 
			
		||||
  `CHECK_CSR2(SATP, dut.priv.csr.genblk1.csrs.genblk1)
 | 
			
		||||
  `CHECK_CSR(SCOUNTEREN)
 | 
			
		||||
 | 
			
		||||
  logic speculative;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user