mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Merge branch 'main' of github.com:davidharrishmc/riscv-wally into main
This commit is contained in:
		
						commit
						36c30b14c1
					
				@ -631,3 +631,23 @@ create_debug_port u_ila_0 probe
 | 
			
		||||
set_property port_width 64 [get_debug_ports u_ila_0/probe133]
 | 
			
		||||
set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe133]
 | 
			
		||||
connect_debug_port u_ila_0/probe133 [get_nets [list {wallypipelinedsoc/core/ifu/PCNextF[0]} {wallypipelinedsoc/core/ifu/PCNextF[1]} {wallypipelinedsoc/core/ifu/PCNextF[2]} {wallypipelinedsoc/core/ifu/PCNextF[3]} {wallypipelinedsoc/core/ifu/PCNextF[4]} {wallypipelinedsoc/core/ifu/PCNextF[5]} {wallypipelinedsoc/core/ifu/PCNextF[6]} {wallypipelinedsoc/core/ifu/PCNextF[7]} {wallypipelinedsoc/core/ifu/PCNextF[8]} {wallypipelinedsoc/core/ifu/PCNextF[9]} {wallypipelinedsoc/core/ifu/PCNextF[10]} {wallypipelinedsoc/core/ifu/PCNextF[11]} {wallypipelinedsoc/core/ifu/PCNextF[12]} {wallypipelinedsoc/core/ifu/PCNextF[13]} {wallypipelinedsoc/core/ifu/PCNextF[14]} {wallypipelinedsoc/core/ifu/PCNextF[15]} {wallypipelinedsoc/core/ifu/PCNextF[16]} {wallypipelinedsoc/core/ifu/PCNextF[17]} {wallypipelinedsoc/core/ifu/PCNextF[18]} {wallypipelinedsoc/core/ifu/PCNextF[19]} {wallypipelinedsoc/core/ifu/PCNextF[20]} {wallypipelinedsoc/core/ifu/PCNextF[21]} {wallypipelinedsoc/core/ifu/PCNextF[22]} {wallypipelinedsoc/core/ifu/PCNextF[23]} {wallypipelinedsoc/core/ifu/PCNextF[24]} {wallypipelinedsoc/core/ifu/PCNextF[25]} {wallypipelinedsoc/core/ifu/PCNextF[26]} {wallypipelinedsoc/core/ifu/PCNextF[27]} {wallypipelinedsoc/core/ifu/PCNextF[28]} {wallypipelinedsoc/core/ifu/PCNextF[29]} {wallypipelinedsoc/core/ifu/PCNextF[30]} {wallypipelinedsoc/core/ifu/PCNextF[31]} {wallypipelinedsoc/core/ifu/PCNextF[32]} {wallypipelinedsoc/core/ifu/PCNextF[33]} {wallypipelinedsoc/core/ifu/PCNextF[34]} {wallypipelinedsoc/core/ifu/PCNextF[35]} {wallypipelinedsoc/core/ifu/PCNextF[36]} {wallypipelinedsoc/core/ifu/PCNextF[37]} {wallypipelinedsoc/core/ifu/PCNextF[38]} {wallypipelinedsoc/core/ifu/PCNextF[39]} {wallypipelinedsoc/core/ifu/PCNextF[40]} {wallypipelinedsoc/core/ifu/PCNextF[41]} {wallypipelinedsoc/core/ifu/PCNextF[42]} {wallypipelinedsoc/core/ifu/PCNextF[43]} {wallypipelinedsoc/core/ifu/PCNextF[44]} {wallypipelinedsoc/core/ifu/PCNextF[45]} {wallypipelinedsoc/core/ifu/PCNextF[46]} {wallypipelinedsoc/core/ifu/PCNextF[47]} {wallypipelinedsoc/core/ifu/PCNextF[48]} {wallypipelinedsoc/core/ifu/PCNextF[49]} {wallypipelinedsoc/core/ifu/PCNextF[50]} {wallypipelinedsoc/core/ifu/PCNextF[51]} {wallypipelinedsoc/core/ifu/PCNextF[52]} {wallypipelinedsoc/core/ifu/PCNextF[53]} {wallypipelinedsoc/core/ifu/PCNextF[54]} {wallypipelinedsoc/core/ifu/PCNextF[55]} {wallypipelinedsoc/core/ifu/PCNextF[56]} {wallypipelinedsoc/core/ifu/PCNextF[57]} {wallypipelinedsoc/core/ifu/PCNextF[58]} {wallypipelinedsoc/core/ifu/PCNextF[59]} {wallypipelinedsoc/core/ifu/PCNextF[60]} {wallypipelinedsoc/core/ifu/PCNextF[61]} {wallypipelinedsoc/core/ifu/PCNextF[62]} {wallypipelinedsoc/core/ifu/PCNextF[63]}]]
 | 
			
		||||
 | 
			
		||||
create_debug_port u_ila_0 probe
 | 
			
		||||
set_property port_width 12 [get_debug_ports u_ila_0/probe134]
 | 
			
		||||
set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe134]
 | 
			
		||||
connect_debug_port u_ila_0/probe134 [get_nets [list {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[0]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[1]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[2]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[3]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[4]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[5]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[6]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[7]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[8]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[9]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[10]} {wallypipelinedsoc/core/priv.priv/trap/SPendingIntsM[11]} ]]
 | 
			
		||||
 | 
			
		||||
create_debug_port u_ila_0 probe
 | 
			
		||||
set_property port_width 12 [get_debug_ports u_ila_0/probe135]
 | 
			
		||||
set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe135]
 | 
			
		||||
connect_debug_port u_ila_0/probe135 [get_nets [list {wallypipelinedsoc/uncore/plic.plic/requests[1]} {wallypipelinedsoc/uncore/plic.plic/requests[2]} {wallypipelinedsoc/uncore/plic.plic/requests[3]} {wallypipelinedsoc/uncore/plic.plic/requests[4]} {wallypipelinedsoc/uncore/plic.plic/requests[5]} {wallypipelinedsoc/uncore/plic.plic/requests[6]} {wallypipelinedsoc/uncore/plic.plic/requests[7]} {wallypipelinedsoc/uncore/plic.plic/requests[8]} {wallypipelinedsoc/uncore/plic.plic/requests[9]} {wallypipelinedsoc/uncore/plic.plic/requests[10]} {wallypipelinedsoc/uncore/plic.plic/requests[11]} {wallypipelinedsoc/uncore/plic.plic/requests[12]}]]
 | 
			
		||||
 | 
			
		||||
create_debug_port u_ila_0 probe
 | 
			
		||||
set_property port_width 12 [get_debug_ports u_ila_0/probe136]
 | 
			
		||||
set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe136]
 | 
			
		||||
connect_debug_port u_ila_0/probe136 [get_nets [list {wallypipelinedsoc/uncore/plic.plic/intInProgress[1]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[2]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[3]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[4]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[5]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[6]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[7]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[8]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[9]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[10]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[11]} {wallypipelinedsoc/uncore/plic.plic/intInProgress[12]}]]
 | 
			
		||||
 | 
			
		||||
create_debug_port u_ila_0 probe
 | 
			
		||||
set_property port_width 12 [get_debug_ports u_ila_0/probe137]
 | 
			
		||||
set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe137]
 | 
			
		||||
connect_debug_port u_ila_0/probe137 [get_nets [list {wallypipelinedsoc/uncore/plic.plic/intPending[1]} {wallypipelinedsoc/uncore/plic.plic/intPending[2]} {wallypipelinedsoc/uncore/plic.plic/intPending[3]} {wallypipelinedsoc/uncore/plic.plic/intPending[4]} {wallypipelinedsoc/uncore/plic.plic/intPending[5]} {wallypipelinedsoc/uncore/plic.plic/intPending[6]} {wallypipelinedsoc/uncore/plic.plic/intPending[7]} {wallypipelinedsoc/uncore/plic.plic/intPending[8]} {wallypipelinedsoc/uncore/plic.plic/intPending[9]} {wallypipelinedsoc/uncore/plic.plic/intPending[10]} {wallypipelinedsoc/uncore/plic.plic/intPending[11]} {wallypipelinedsoc/uncore/plic.plic/intPending[12]}]]
 | 
			
		||||
 | 
			
		||||
@ -71,10 +71,59 @@ module bram2p1r1w
 | 
			
		||||
  logic [DATA_WIDTH-1:0] 			 RAM [(2**ADDR_WIDTH)-1:0];
 | 
			
		||||
  integer                            i;
 | 
			
		||||
 | 
			
		||||
/* -----\/----- EXCLUDED -----\/-----
 | 
			
		||||
  initial begin
 | 
			
		||||
    if(PRELOAD_ENABLED)
 | 
			
		||||
	  $readmemh(PRELOAD_FILE, RAM);
 | 
			
		||||
  end
 | 
			
		||||
 -----/\----- EXCLUDED -----/\----- */
 | 
			
		||||
 | 
			
		||||
  initial begin
 | 
			
		||||
	if(PRELOAD_ENABLED) begin
 | 
			
		||||
      RAM[0] =  64'h94e1819300002197; 
 | 
			
		||||
      RAM[1] =  64'h4281420141014081; 
 | 
			
		||||
      RAM[2] =  64'h4481440143814301; 
 | 
			
		||||
      RAM[3] =  64'h4681460145814501; 
 | 
			
		||||
      RAM[4] =  64'h4881480147814701; 
 | 
			
		||||
      RAM[5] =  64'h4a814a0149814901; 
 | 
			
		||||
      RAM[6] =  64'h4c814c014b814b01; 
 | 
			
		||||
      RAM[7] =  64'h4e814e014d814d01; 
 | 
			
		||||
      RAM[8] =  64'h0110011b4f814f01; 
 | 
			
		||||
      RAM[9] =  64'h059b45011161016e; 
 | 
			
		||||
      RAM[10] = 64'h0004063705fe0010; 
 | 
			
		||||
      RAM[11] = 64'h05a000ef8006061b; 
 | 
			
		||||
      RAM[12] = 64'h0ff003930000100f; 
 | 
			
		||||
      RAM[13] = 64'h4e952e3110060e37; 
 | 
			
		||||
      RAM[14] = 64'hc602829b0053f2b7; 
 | 
			
		||||
      RAM[15] = 64'h2023fe02dfe312fd; 
 | 
			
		||||
      RAM[16] = 64'h829b0053f2b7007e; 
 | 
			
		||||
      RAM[17] = 64'hfe02dfe312fdc602; 
 | 
			
		||||
      RAM[18] = 64'h4de31efd000e2023; 
 | 
			
		||||
      RAM[19] = 64'h059bf1402573fdd0; 
 | 
			
		||||
      RAM[20] = 64'h0000061705e20870; 
 | 
			
		||||
      RAM[21] = 64'h0010029b01260613; 
 | 
			
		||||
      RAM[22] = 64'h11010002806702fe; 
 | 
			
		||||
      RAM[23] = 64'h84b2842ae426e822; 
 | 
			
		||||
      RAM[24] = 64'h892ee04aec064505; 
 | 
			
		||||
      RAM[25] = 64'h06e000ef07e000ef; 
 | 
			
		||||
      RAM[26] = 64'h979334fd02905563; 
 | 
			
		||||
      RAM[27] = 64'h07930177d4930204; 
 | 
			
		||||
      RAM[28] = 64'h4089093394be2004; 
 | 
			
		||||
      RAM[29] = 64'h04138522008905b3; 
 | 
			
		||||
      RAM[30] = 64'h19e3014000ef2004; 
 | 
			
		||||
      RAM[31] = 64'h64a2644260e2fe94; 
 | 
			
		||||
      RAM[32] = 64'h6749808261056902; 
 | 
			
		||||
      RAM[33] = 64'hdfed8b8510472783; 
 | 
			
		||||
      RAM[34] = 64'h2423479110a73823; 
 | 
			
		||||
      RAM[35] = 64'h10472783674910f7; 
 | 
			
		||||
      RAM[36] = 64'h20058693ffed8b89; 
 | 
			
		||||
      RAM[37] = 64'h05a1118737836749; 
 | 
			
		||||
      RAM[38] = 64'hfed59be3fef5bc23; 
 | 
			
		||||
      RAM[39] = 64'h1047278367498082; 
 | 
			
		||||
      RAM[40] = 64'h67c98082dfed8b85; 
 | 
			
		||||
      RAM[41] = 64'h0000808210a7a023;   
 | 
			
		||||
	end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  // Port-A Operation
 | 
			
		||||
  always @ (posedge clk) begin
 | 
			
		||||
 | 
			
		||||
@ -57,16 +57,16 @@ module plic (
 | 
			
		||||
  input  logic             UARTIntr,GPIOIntr,
 | 
			
		||||
  output logic [`XLEN-1:0] HREADPLIC,
 | 
			
		||||
  output logic             HRESPPLIC, HREADYPLIC,
 | 
			
		||||
  output logic             MExtIntM, SExtIntM);
 | 
			
		||||
    (* mark_debug = "true" *)  output logic             MExtIntM, SExtIntM);
 | 
			
		||||
 | 
			
		||||
  logic memwrite, memread, initTrans;
 | 
			
		||||
  logic [23:0] entry, entryd;
 | 
			
		||||
  logic [31:0] Din, Dout;
 | 
			
		||||
 | 
			
		||||
  // context-independent signals
 | 
			
		||||
  logic [`N:1]      requests;
 | 
			
		||||
  logic [`N:1][2:0] intPriority;
 | 
			
		||||
  logic [`N:1]      intInProgress, intPending, nextIntPending;
 | 
			
		||||
    (* mark_debug = "true" *)  logic [`N:1]      requests;
 | 
			
		||||
    (* mark_debug = "true" *)  logic [`N:1][2:0] intPriority;
 | 
			
		||||
    (* mark_debug = "true" *)  logic [`N:1]      intInProgress, intPending, nextIntPending;
 | 
			
		||||
  
 | 
			
		||||
  // context-dependent signals
 | 
			
		||||
  logic [`C-1:0][2:0]       intThreshold;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user