mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	moved shared constants to a shared directory
This commit is contained in:
		
							parent
							
								
									8fb2ee6e86
								
							
						
					
					
						commit
						0674f5506e
					
				
							
								
								
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					wally-pipelined/busybear_boot/* filter=lfs diff=lfs merge=lfs -text
 | 
				
			||||||
@ -67,7 +67,7 @@
 | 
				
			|||||||
// Peripheral memory space extends from BASE to BASE+RANGE
 | 
					// Peripheral memory space extends from BASE to BASE+RANGE
 | 
				
			||||||
// Range should be a thermometer code with 0's in the upper bits and 1s in the lower bits
 | 
					// Range should be a thermometer code with 0's in the upper bits and 1s in the lower bits
 | 
				
			||||||
 | 
					
 | 
				
			||||||
`define BOOTTIMBASE   32'h00000000 //only needs to go from 0x1000 to 0x2FFF, extending to a power of 2
 | 
					`define BOOTTIMBASE   32'h00000000 //only needs to go from 0x1000 to 0x2FFF, extending to a power of 2  // ***dh 3 June 2021 change this to ensure segfault on null pointer access.
 | 
				
			||||||
`define BOOTTIMRANGE  32'h00003FFF
 | 
					`define BOOTTIMRANGE  32'h00003FFF
 | 
				
			||||||
`define CLINTBASE     32'h02000000
 | 
					`define CLINTBASE     32'h02000000
 | 
				
			||||||
`define CLINTRANGE    32'h0000FFFF
 | 
					`define CLINTRANGE    32'h0000FFFF
 | 
				
			||||||
 | 
				
			|||||||
@ -1,43 +0,0 @@
 | 
				
			|||||||
//////////////////////////////////////////
 | 
					 | 
				
			||||||
// wally-constants.vh
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Written: tfleming@hmc.edu 4 March 2021
 | 
					 | 
				
			||||||
// Modified: Kmacsaigoren@hmc.edu 31 May 2021
 | 
					 | 
				
			||||||
//              Added constants for checking sv mode and changed existing constants to accomodate
 | 
					 | 
				
			||||||
//              both sv48 and sv39
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Purpose: Specify constants nexessary for different memory virtualization modes.
 | 
					 | 
				
			||||||
//              These are specific to sv49, defined in section 4.5 of the privileged spec.
 | 
					 | 
				
			||||||
//              However, despite different constants for different modes, the hardware helps distinguish between
 | 
					 | 
				
			||||||
//              each mode.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// A component of the Wally configurable RISC-V project.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Copyright (C) 2021 Harvey Mudd College & Oklahoma State University
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
 | 
					 | 
				
			||||||
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
 | 
					 | 
				
			||||||
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
 | 
					 | 
				
			||||||
// is furnished to do so, subject to the following conditions:
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 | 
					 | 
				
			||||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 | 
					 | 
				
			||||||
// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
 | 
					 | 
				
			||||||
// OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
					 | 
				
			||||||
///////////////////////////////////////////
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Virtual Memory Constants (sv48)
 | 
					 | 
				
			||||||
`define VPN_SEGMENT_BITS 9
 | 
					 | 
				
			||||||
`define VPN_BITS 36
 | 
					 | 
				
			||||||
`define PPN_HIGH_SEGMENT_BITS 17
 | 
					 | 
				
			||||||
`define PPN_BITS 44
 | 
					 | 
				
			||||||
`define PA_BITS 56
 | 
					 | 
				
			||||||
`define SVMODE_BITS 4
 | 
					 | 
				
			||||||
// constants to check SATP_MODE against
 | 
					 | 
				
			||||||
// defined in Table 4.3 of the privileged spec
 | 
					 | 
				
			||||||
`define NO_TRANSLATE 0
 | 
					 | 
				
			||||||
`define SV32 1
 | 
					 | 
				
			||||||
`define SV39 8
 | 
					 | 
				
			||||||
`define SV48 9
 | 
					 | 
				
			||||||
@ -1,43 +0,0 @@
 | 
				
			|||||||
//////////////////////////////////////////
 | 
					 | 
				
			||||||
// wally-constants.vh
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Written: tfleming@hmc.edu 4 March 2021
 | 
					 | 
				
			||||||
// Modified: Kmacsaigoren@hmc.edu 31 May 2021
 | 
					 | 
				
			||||||
//              Added constants for checking sv mode and changed existing constants to accomodate
 | 
					 | 
				
			||||||
//              both sv48 and sv39
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Purpose: Specify constants nexessary for different memory virtualization modes.
 | 
					 | 
				
			||||||
//              These are specific to sv49, defined in section 4.5 of the privileged spec.
 | 
					 | 
				
			||||||
//              However, despite different constants for different modes, the hardware helps distinguish between
 | 
					 | 
				
			||||||
//              each mode.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// A component of the Wally configurable RISC-V project.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Copyright (C) 2021 Harvey Mudd College & Oklahoma State University
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
 | 
					 | 
				
			||||||
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
 | 
					 | 
				
			||||||
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
 | 
					 | 
				
			||||||
// is furnished to do so, subject to the following conditions:
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 | 
					 | 
				
			||||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 | 
					 | 
				
			||||||
// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
 | 
					 | 
				
			||||||
// OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
					 | 
				
			||||||
///////////////////////////////////////////
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Virtual Memory Constants (sv48)
 | 
					 | 
				
			||||||
`define VPN_SEGMENT_BITS 9
 | 
					 | 
				
			||||||
`define VPN_BITS 36
 | 
					 | 
				
			||||||
`define PPN_HIGH_SEGMENT_BITS 17
 | 
					 | 
				
			||||||
`define PPN_BITS 44
 | 
					 | 
				
			||||||
`define PA_BITS 56
 | 
					 | 
				
			||||||
`define SVMODE_BITS 4
 | 
					 | 
				
			||||||
// constants to check SATP_MODE against
 | 
					 | 
				
			||||||
// defined in Table 4.3 of the privileged spec
 | 
					 | 
				
			||||||
`define NO_TRANSLATE 0
 | 
					 | 
				
			||||||
`define SV32 1
 | 
					 | 
				
			||||||
`define SV39 8
 | 
					 | 
				
			||||||
`define SV48 9
 | 
					 | 
				
			||||||
@ -1,43 +0,0 @@
 | 
				
			|||||||
//////////////////////////////////////////
 | 
					 | 
				
			||||||
// wally-constants.vh
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Written: tfleming@hmc.edu 4 March 2021
 | 
					 | 
				
			||||||
// Modified: Kmacsaigoren@hmc.edu 31 May 2021
 | 
					 | 
				
			||||||
//              Added constants for checking sv mode and changed existing constants to accomodate
 | 
					 | 
				
			||||||
//              both sv48 and sv39
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Purpose: Specify constants nexessary for different memory virtualization modes.
 | 
					 | 
				
			||||||
//              These are specific to sv49, defined in section 4.5 of the privileged spec.
 | 
					 | 
				
			||||||
//              However, despite different constants for different modes, the hardware helps distinguish between
 | 
					 | 
				
			||||||
//              each mode.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// A component of the Wally configurable RISC-V project.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Copyright (C) 2021 Harvey Mudd College & Oklahoma State University
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
 | 
					 | 
				
			||||||
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
 | 
					 | 
				
			||||||
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
 | 
					 | 
				
			||||||
// is furnished to do so, subject to the following conditions:
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 | 
					 | 
				
			||||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 | 
					 | 
				
			||||||
// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
 | 
					 | 
				
			||||||
// OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
					 | 
				
			||||||
///////////////////////////////////////////
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Virtual Memory Constants (sv48)
 | 
					 | 
				
			||||||
`define VPN_SEGMENT_BITS 9
 | 
					 | 
				
			||||||
`define VPN_BITS 36
 | 
					 | 
				
			||||||
`define PPN_HIGH_SEGMENT_BITS 17
 | 
					 | 
				
			||||||
`define PPN_BITS 44
 | 
					 | 
				
			||||||
`define PA_BITS 56
 | 
					 | 
				
			||||||
`define SVMODE_BITS 4
 | 
					 | 
				
			||||||
// constants to check SATP_MODE against
 | 
					 | 
				
			||||||
// defined in Table 4.3 of the privileged spec
 | 
					 | 
				
			||||||
`define NO_TRANSLATE 0
 | 
					 | 
				
			||||||
`define SV32 1
 | 
					 | 
				
			||||||
`define SV39 8
 | 
					 | 
				
			||||||
`define SV48 9
 | 
					 | 
				
			||||||
@ -1,43 +0,0 @@
 | 
				
			|||||||
//////////////////////////////////////////
 | 
					 | 
				
			||||||
// wally-constants.vh
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Written: tfleming@hmc.edu 4 March 2021
 | 
					 | 
				
			||||||
// Modified: kmacsaigoren@hmc.edu 31 May 2021
 | 
					 | 
				
			||||||
//              added svmode constants. These aren't strictly necessary since we're just checking one bit,
 | 
					 | 
				
			||||||
//              but they're here to stay consistent and to make sure we dont wind up
 | 
					 | 
				
			||||||
//              a "NO_TRANSLATE undefined" situation.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Purpose: Specify certain constants defined in the RISC-V 64-bit architecture.
 | 
					 | 
				
			||||||
//          These macros should not be changed, except in the event of an
 | 
					 | 
				
			||||||
//          update to the architecture or particularly special circumstances.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// A component of the Wally configurable RISC-V project.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Copyright (C) 2021 Harvey Mudd College & Oklahoma State University
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
 | 
					 | 
				
			||||||
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
 | 
					 | 
				
			||||||
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
 | 
					 | 
				
			||||||
// is furnished to do so, subject to the following conditions:
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 | 
					 | 
				
			||||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 | 
					 | 
				
			||||||
// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
 | 
					 | 
				
			||||||
// OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
					 | 
				
			||||||
///////////////////////////////////////////
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Virtual Memory Constants (sv32)
 | 
					 | 
				
			||||||
`define VPN_SEGMENT_BITS 10
 | 
					 | 
				
			||||||
`define VPN_BITS 20
 | 
					 | 
				
			||||||
`define PPN_BITS 22
 | 
					 | 
				
			||||||
`define PPN_HIGH_SEGMENT_BITS 12
 | 
					 | 
				
			||||||
`define PA_BITS  34
 | 
					 | 
				
			||||||
`define SVMODE_BITS 1
 | 
					 | 
				
			||||||
// constants to check SATP_MODE against
 | 
					 | 
				
			||||||
// defined in Table 4.3 of the privileged spec
 | 
					 | 
				
			||||||
`define NO_TRANSLATE 0
 | 
					 | 
				
			||||||
`define SV32 1
 | 
					 | 
				
			||||||
`define SV39 8 // These two are only here to stop
 | 
					 | 
				
			||||||
`define SV48 9 // the verilator from yelling at me
 | 
					 | 
				
			||||||
@ -1,43 +0,0 @@
 | 
				
			|||||||
//////////////////////////////////////////
 | 
					 | 
				
			||||||
// wally-constants.vh
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Written: tfleming@hmc.edu 4 March 2021
 | 
					 | 
				
			||||||
// Modified: Kmacsaigoren@hmc.edu 31 May 2021
 | 
					 | 
				
			||||||
//              Added constants for checking sv mode and changed existing constants to accomodate
 | 
					 | 
				
			||||||
//              both sv48 and sv39
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Purpose: Specify constants nexessary for different memory virtualization modes.
 | 
					 | 
				
			||||||
//              These are specific to sv49, defined in section 4.5 of the privileged spec.
 | 
					 | 
				
			||||||
//              However, despite different constants for different modes, the hardware helps distinguish between
 | 
					 | 
				
			||||||
//              each mode.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// A component of the Wally configurable RISC-V project.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Copyright (C) 2021 Harvey Mudd College & Oklahoma State University
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
 | 
					 | 
				
			||||||
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
 | 
					 | 
				
			||||||
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
 | 
					 | 
				
			||||||
// is furnished to do so, subject to the following conditions:
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 | 
					 | 
				
			||||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 | 
					 | 
				
			||||||
// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
 | 
					 | 
				
			||||||
// OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
					 | 
				
			||||||
///////////////////////////////////////////
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Virtual Memory Constants (sv48)
 | 
					 | 
				
			||||||
`define VPN_SEGMENT_BITS 9
 | 
					 | 
				
			||||||
`define VPN_BITS 36
 | 
					 | 
				
			||||||
`define PPN_HIGH_SEGMENT_BITS 17
 | 
					 | 
				
			||||||
`define PPN_BITS 44
 | 
					 | 
				
			||||||
`define PA_BITS 56
 | 
					 | 
				
			||||||
`define SVMODE_BITS 4
 | 
					 | 
				
			||||||
// constants to check SATP_MODE against
 | 
					 | 
				
			||||||
// defined in Table 4.3 of the privileged spec
 | 
					 | 
				
			||||||
`define NO_TRANSLATE 0
 | 
					 | 
				
			||||||
`define SV32 1
 | 
					 | 
				
			||||||
`define SV39 8
 | 
					 | 
				
			||||||
`define SV48 9
 | 
					 | 
				
			||||||
@ -1,43 +0,0 @@
 | 
				
			|||||||
//////////////////////////////////////////
 | 
					 | 
				
			||||||
// wally-constants.vh
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Written: tfleming@hmc.edu 4 March 2021
 | 
					 | 
				
			||||||
// Modified: Kmacsaigoren@hmc.edu 31 May 2021
 | 
					 | 
				
			||||||
//              Added constants for checking sv mode and changed existing constants to accomodate
 | 
					 | 
				
			||||||
//              both sv48 and sv39
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Purpose: Specify constants nexessary for different memory virtualization modes.
 | 
					 | 
				
			||||||
//              These are specific to sv49, defined in section 4.5 of the privileged spec.
 | 
					 | 
				
			||||||
//              However, despite different constants for different modes, the hardware helps distinguish between
 | 
					 | 
				
			||||||
//              each mode.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// A component of the Wally configurable RISC-V project.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Copyright (C) 2021 Harvey Mudd College & Oklahoma State University
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
 | 
					 | 
				
			||||||
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
 | 
					 | 
				
			||||||
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
 | 
					 | 
				
			||||||
// is furnished to do so, subject to the following conditions:
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 | 
					 | 
				
			||||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 | 
					 | 
				
			||||||
// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
 | 
					 | 
				
			||||||
// OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
					 | 
				
			||||||
///////////////////////////////////////////
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Virtual Memory Constants (sv48)
 | 
					 | 
				
			||||||
`define VPN_SEGMENT_BITS 9
 | 
					 | 
				
			||||||
`define VPN_BITS 36
 | 
					 | 
				
			||||||
`define PPN_HIGH_SEGMENT_BITS 17
 | 
					 | 
				
			||||||
`define PPN_BITS 44
 | 
					 | 
				
			||||||
`define PA_BITS 56
 | 
					 | 
				
			||||||
`define SVMODE_BITS 4
 | 
					 | 
				
			||||||
// constants to check SATP_MODE against
 | 
					 | 
				
			||||||
// defined in Table 4.3 of the privileged spec
 | 
					 | 
				
			||||||
`define NO_TRANSLATE 0
 | 
					 | 
				
			||||||
`define SV32 1
 | 
					 | 
				
			||||||
`define SV39 8
 | 
					 | 
				
			||||||
`define SV48 9
 | 
					 | 
				
			||||||
@ -1,43 +0,0 @@
 | 
				
			|||||||
//////////////////////////////////////////
 | 
					 | 
				
			||||||
// wally-constants.vh
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Written: tfleming@hmc.edu 4 March 2021
 | 
					 | 
				
			||||||
// Modified: Kmacsaigoren@hmc.edu 31 May 2021
 | 
					 | 
				
			||||||
//              Added constants for checking sv mode and changed existing constants to accomodate
 | 
					 | 
				
			||||||
//              both sv48 and sv39
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Purpose: Specify constants nexessary for different memory virtualization modes.
 | 
					 | 
				
			||||||
//              These are specific to sv49, defined in section 4.5 of the privileged spec.
 | 
					 | 
				
			||||||
//              However, despite different constants for different modes, the hardware helps distinguish between
 | 
					 | 
				
			||||||
//              each mode.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// A component of the Wally configurable RISC-V project.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Copyright (C) 2021 Harvey Mudd College & Oklahoma State University
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
 | 
					 | 
				
			||||||
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
 | 
					 | 
				
			||||||
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
 | 
					 | 
				
			||||||
// is furnished to do so, subject to the following conditions:
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 | 
					 | 
				
			||||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 | 
					 | 
				
			||||||
// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
 | 
					 | 
				
			||||||
// OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
					 | 
				
			||||||
///////////////////////////////////////////
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Virtual Memory Constants (sv48)
 | 
					 | 
				
			||||||
`define VPN_SEGMENT_BITS 9
 | 
					 | 
				
			||||||
`define VPN_BITS 36
 | 
					 | 
				
			||||||
`define PPN_HIGH_SEGMENT_BITS 17
 | 
					 | 
				
			||||||
`define PPN_BITS 44
 | 
					 | 
				
			||||||
`define PA_BITS 56
 | 
					 | 
				
			||||||
`define SVMODE_BITS 4
 | 
					 | 
				
			||||||
// constants to check SATP_MODE against
 | 
					 | 
				
			||||||
// defined in Table 4.3 of the privileged spec
 | 
					 | 
				
			||||||
`define NO_TRANSLATE 0
 | 
					 | 
				
			||||||
`define SV32 1
 | 
					 | 
				
			||||||
`define SV39 8
 | 
					 | 
				
			||||||
`define SV48 9
 | 
					 | 
				
			||||||
@ -1,43 +0,0 @@
 | 
				
			|||||||
//////////////////////////////////////////
 | 
					 | 
				
			||||||
// wally-constants.vh
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Written: tfleming@hmc.edu 4 March 2021
 | 
					 | 
				
			||||||
// Modified: Kmacsaigoren@hmc.edu 31 May 2021
 | 
					 | 
				
			||||||
//              Added constants for checking sv mode and changed existing constants to accomodate
 | 
					 | 
				
			||||||
//              both sv48 and sv39
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Purpose: Specify constants nexessary for different memory virtualization modes.
 | 
					 | 
				
			||||||
//              These are specific to sv49, defined in section 4.5 of the privileged spec.
 | 
					 | 
				
			||||||
//              However, despite different constants for different modes, the hardware helps distinguish between
 | 
					 | 
				
			||||||
//              each mode.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// A component of the Wally configurable RISC-V project.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Copyright (C) 2021 Harvey Mudd College & Oklahoma State University
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
 | 
					 | 
				
			||||||
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
 | 
					 | 
				
			||||||
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
 | 
					 | 
				
			||||||
// is furnished to do so, subject to the following conditions:
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 | 
					 | 
				
			||||||
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
 | 
					 | 
				
			||||||
// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
 | 
					 | 
				
			||||||
// OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
					 | 
				
			||||||
///////////////////////////////////////////
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Virtual Memory Constants (sv48)
 | 
					 | 
				
			||||||
`define VPN_SEGMENT_BITS 9
 | 
					 | 
				
			||||||
`define VPN_BITS 36
 | 
					 | 
				
			||||||
`define PPN_HIGH_SEGMENT_BITS 17
 | 
					 | 
				
			||||||
`define PPN_BITS 44
 | 
					 | 
				
			||||||
`define PA_BITS 56
 | 
					 | 
				
			||||||
`define SVMODE_BITS 4
 | 
					 | 
				
			||||||
// constants to check SATP_MODE against
 | 
					 | 
				
			||||||
// defined in Table 4.3 of the privileged spec
 | 
					 | 
				
			||||||
`define NO_TRANSLATE 0
 | 
					 | 
				
			||||||
`define SV32 1
 | 
					 | 
				
			||||||
`define SV39 8
 | 
					 | 
				
			||||||
`define SV48 9
 | 
					 | 
				
			||||||
							
								
								
									
										1
									
								
								wally-pipelined/config/shared/README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								wally-pipelined/config/shared/README
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					# Put include files here that should be shared across all versions of WALLY
 | 
				
			||||||
@ -26,7 +26,7 @@ vlib work-buildroot
 | 
				
			|||||||
# suppress spurious warnngs about 
 | 
					# suppress spurious warnngs about 
 | 
				
			||||||
# "Extra checking for conflicts with always_comb done at vopt time"
 | 
					# "Extra checking for conflicts with always_comb done at vopt time"
 | 
				
			||||||
# because vsim will run vopt
 | 
					# because vsim will run vopt
 | 
				
			||||||
vlog +incdir+../config/buildroot ../testbench/testbench-busybear.sv ../src/*/*.sv -suppress 2583
 | 
					vlog +incdir+../config/buildroot +incdir+../config/shared ../testbench/testbench-busybear.sv ../src/*/*.sv -suppress 2583
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
 | 
				
			|||||||
@ -26,7 +26,7 @@ vlib work-busybear
 | 
				
			|||||||
# suppress spurious warnngs about 
 | 
					# suppress spurious warnngs about 
 | 
				
			||||||
# "Extra checking for conflicts with always_comb done at vopt time"
 | 
					# "Extra checking for conflicts with always_comb done at vopt time"
 | 
				
			||||||
# because vsim will run vopt
 | 
					# because vsim will run vopt
 | 
				
			||||||
vlog +incdir+../config/buildroot ../testbench/testbench-busybear.sv ../src/*/*.sv -suppress 2583
 | 
					vlog +incdir+../config/buildroot +incdir+../config/shared ../testbench/testbench-busybear.sv ../src/*/*.sv -suppress 2583
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
 | 
				
			|||||||
@ -26,7 +26,7 @@ vlib work_busybear
 | 
				
			|||||||
# suppress spurious warnngs about 
 | 
					# suppress spurious warnngs about 
 | 
				
			||||||
# "Extra checking for conflicts with always_comb done at vopt time"
 | 
					# "Extra checking for conflicts with always_comb done at vopt time"
 | 
				
			||||||
# because vsim will run vopt
 | 
					# because vsim will run vopt
 | 
				
			||||||
vlog -work work_busybear +incdir+../config/busybear ../testbench/testbench-busybear.sv ../src/*/*.sv -suppress 2583
 | 
					vlog -work work_busybear +incdir+../config/busybear +incdir+../config/shared  ../testbench/testbench-busybear.sv ../src/*/*.sv -suppress 2583
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
 | 
				
			|||||||
@ -26,7 +26,7 @@ vlib work-busybear
 | 
				
			|||||||
# suppress spurious warnngs about 
 | 
					# suppress spurious warnngs about 
 | 
				
			||||||
# "Extra checking for conflicts with always_comb done at vopt time"
 | 
					# "Extra checking for conflicts with always_comb done at vopt time"
 | 
				
			||||||
# because vsim will run vopt
 | 
					# because vsim will run vopt
 | 
				
			||||||
vlog +incdir+../config/busybear ../testbench/testbench-busybear.sv ../src/*/*.sv -suppress 2583
 | 
					vlog +incdir+../config/busybear +incdir+../config/shared ../testbench/testbench-busybear.sv ../src/*/*.sv -suppress 2583
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
 | 
				
			|||||||
@ -28,7 +28,7 @@ vlib work
 | 
				
			|||||||
# because vsim will run vopt
 | 
					# because vsim will run vopt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# default to config/coremark, but allow this to be overridden at the command line.  For example:
 | 
					# default to config/coremark, but allow this to be overridden at the command line.  For example:
 | 
				
			||||||
vlog +incdir+../config/coremark_bare ../testbench/testbench-coremark_bare.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583
 | 
					vlog +incdir+../config/coremark_bare +incdir+../config/shared ../testbench/testbench-coremark_bare.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
					# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
				
			||||||
 | 
				
			|||||||
@ -30,9 +30,9 @@ vlib work_$2
 | 
				
			|||||||
# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
					# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
				
			||||||
# do wally-pipelined-batch.do ../config/rv32ic rv32ic
 | 
					# do wally-pipelined-batch.do ../config/rv32ic rv32ic
 | 
				
			||||||
switch $argc {
 | 
					switch $argc {
 | 
				
			||||||
    0 {vlog +incdir+../config/rv64imc ../testbench/testbench-imperas-div.sv ../src/*/*.sv -suppress 2583}
 | 
					    0 {vlog +incdir+../config/rv64imc +incdir+../config/shared ../testbench/testbench-imperas-div.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
    1 {vlog +incdir+$1 ../testbench/testbench-imperas-div.sv  ../src/*/*.sv -suppress 2583}
 | 
					    1 {vlog +incdir+$1 +incdir+../config/shared ../testbench/testbench-imperas-div.sv  ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
    2 {vlog -work work_$2 +incdir+$1 ../testbench/testbench-imperas-div.sv  ../src/*/*.sv -suppress 2583}
 | 
					    2 {vlog -work work_$2 +incdir+$1 +incdir+../config/shared ../testbench/testbench-imperas-div.sv  ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
					# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
				
			||||||
 | 
				
			|||||||
@ -29,9 +29,9 @@ vlib work_$2
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
					# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
				
			||||||
switch $argc {
 | 
					switch $argc {
 | 
				
			||||||
    0 {vlog +incdir+../config/rv64icfd ../testbench/testbench-imperas.sv ../src/*/*.sv -suppress 2583}
 | 
					    0 {vlog +incdir+../config/rv64icfd +incdir+../config/shared ../testbench/testbench-imperas.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
    1 {vlog +incdir+$1 ../testbench/testbench-imperas.sv  ../src/*/*.sv -suppress 2583}
 | 
					    1 {vlog +incdir+$1 +incdir+../config/shared ../testbench/testbench-imperas.sv  ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
    2 {vlog -work work_$2 +incdir+$1 ../testbench/testbench-imperas.sv  ../src/*/*.sv -suppress 2583}
 | 
					    2 {vlog -work work_$2 +incdir+$1 +incdir+../config/shared ../testbench/testbench-imperas.sv  ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
					# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
				
			||||||
 | 
				
			|||||||
@ -30,9 +30,9 @@ vlib work_$2
 | 
				
			|||||||
# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
					# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
				
			||||||
# do wally-pipelined-batch.do ../config/rv32ic rv32ic
 | 
					# do wally-pipelined-batch.do ../config/rv32ic rv32ic
 | 
				
			||||||
switch $argc {
 | 
					switch $argc {
 | 
				
			||||||
    0 {vlog +incdir+../config/rv64ic ../testbench/testbench-imperas.sv ../src/*/*.sv -suppress 2583}
 | 
					    0 {vlog +incdir+../config/rv64ic +incdir+../config/shared ../testbench/testbench-imperas.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
    1 {vlog +incdir+$1 ../testbench/testbench-imperas.sv  ../src/*/*.sv -suppress 2583}
 | 
					    1 {vlog +incdir+$1 +incdir+../config/shared ../testbench/testbench-imperas.sv  ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
    2 {vlog -work work_$2 +incdir+$1 ../testbench/testbench-imperas.sv  ../src/*/*.sv -suppress 2583}
 | 
					    2 {vlog -work work_$2 +incdir+$1 +incdir+../config/shared ../testbench/testbench-imperas.sv  ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
					# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
				
			||||||
 | 
				
			|||||||
@ -30,8 +30,8 @@ vlib work
 | 
				
			|||||||
# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
					# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
				
			||||||
# do wally-pipelined.do ../config/rv32ic
 | 
					# do wally-pipelined.do ../config/rv32ic
 | 
				
			||||||
switch $argc {
 | 
					switch $argc {
 | 
				
			||||||
    0 {vlog +incdir+../config/rv64imc ../testbench/testbench-imperas-div.sv ../src/*/*.sv -suppress 2583}
 | 
					    0 {vlog +incdir+../config/rv64imc +incdir+../config/shared ../testbench/testbench-imperas-div.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
    1 {vlog +incdir+$1 ../testbench/testbench-imperas-div.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583}
 | 
					    1 {vlog +incdir+$1 +incdir+../config/shared ../testbench/testbench-imperas-div.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
					# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
				
			||||||
 | 
				
			|||||||
@ -30,8 +30,8 @@ vlib work
 | 
				
			|||||||
# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
					# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
				
			||||||
# do wally-pipelined.do ../config/rv32ic
 | 
					# do wally-pipelined.do ../config/rv32ic
 | 
				
			||||||
switch $argc {
 | 
					switch $argc {
 | 
				
			||||||
    0 {vlog +incdir+../config/rv64ic ../testbench/testbench-imperas.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583}
 | 
					    0 {vlog +incdir+../config/rv64ic +incdir+../config/shared ../testbench/testbench-imperas.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
    1 {vlog +incdir+$1 ../testbench/testbench-imperas.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583}
 | 
					    1 {vlog +incdir+$1 +incdir+../config/shared ../testbench/testbench-imperas.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
					# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
				
			||||||
 | 
				
			|||||||
@ -30,8 +30,8 @@ vlib work
 | 
				
			|||||||
# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
					# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
				
			||||||
# do wally-pipelined.do ../config/rv32ic
 | 
					# do wally-pipelined.do ../config/rv32ic
 | 
				
			||||||
switch $argc {
 | 
					switch $argc {
 | 
				
			||||||
    0 {vlog +incdir+../config/rv64ic ../testbench/testbench-imperas.sv ../src/*/*.sv -suppress 2583}
 | 
					    0 {vlog +incdir+../config/rv64ic +incdir+../config/shared ../testbench/testbench-imperas.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
    1 {vlog +incdir+$1 ../testbench/testbench-imperas.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583}
 | 
					    1 {vlog +incdir+$1  +incdir+../config/shared ../testbench/testbench-imperas.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
					# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
				
			||||||
 | 
				
			|||||||
@ -30,8 +30,8 @@ vlib work
 | 
				
			|||||||
# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
					# default to config/rv64ic, but allow this to be overridden at the command line.  For example:
 | 
				
			||||||
# do wally-pipelined.do ../config/rv32ic
 | 
					# do wally-pipelined.do ../config/rv32ic
 | 
				
			||||||
switch $argc {
 | 
					switch $argc {
 | 
				
			||||||
    0 {vlog +incdir+../config/rv64ic ../testbench/testbench-imperas.sv ../src/*/*.sv -suppress 2583}
 | 
					    0 {vlog +incdir+../config/rv64ic +incdir+../config/shared ../testbench/testbench-imperas.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
    1 {vlog +incdir+$1 ../testbench/testbench-imperas.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583}
 | 
					    1 {vlog +incdir+$1 +incdir+../config/shared ../testbench/testbench-imperas.sv ../testbench/function_radix.sv ../src/*/*.sv -suppress 2583}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# start and run simulation
 | 
					# start and run simulation
 | 
				
			||||||
# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
					# remove +acc flag for faster sim during regressions if there is no need to access internal signals
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,7 @@
 | 
				
			|||||||
// in modelsim's do file.
 | 
					// in modelsim's do file.
 | 
				
			||||||
// mem load -infile <relative path to the text file > -format <bin|hex> <hierarchy to the memory.>
 | 
					// mem load -infile <relative path to the text file > -format <bin|hex> <hierarchy to the memory.>
 | 
				
			||||||
// example
 | 
					// example
 | 
				
			||||||
// mem laod -infile twoBitPredictor.txt -format bin testbench/dut/hart/ifu/bpred/DirPredictor/memory/memory
 | 
					// mem load -infile twoBitPredictor.txt -format bin testbench/dut/hart/ifu/bpred/DirPredictor/memory/memory
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
// A component of the Wally configurable RISC-V project.
 | 
					// A component of the Wally configurable RISC-V project.
 | 
				
			||||||
// 
 | 
					// 
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user