mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Fixed typo in declaration in tlbcontrol; escape quoted argument to Verilator; added ulimit to setup so Verilator stack is large enough
This commit is contained in:
		
							parent
							
								
									0781cd4a44
								
							
						
					
					
						commit
						67124b0c7f
					
				@ -113,7 +113,7 @@ cd ../arch_test_target/spike/device
 | 
				
			|||||||
sed -i 's/--isa=rv32ic/--isa=rv32iac/' rv32i_m/privilege/Makefile.include
 | 
					sed -i 's/--isa=rv32ic/--isa=rv32iac/' rv32i_m/privilege/Makefile.include
 | 
				
			||||||
sed -i 's/--isa=rv64ic/--isa=rv64iac/' rv64i_m/privilege/Makefile.include
 | 
					sed -i 's/--isa=rv64ic/--isa=rv64iac/' rv64i_m/privilege/Makefile.include
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Wally needs Verilator 5.0 or later.
 | 
					# Wally needs Verilator 5.021 or later.
 | 
				
			||||||
# Verilator needs to be built from scratch to get the latest version
 | 
					# Verilator needs to be built from scratch to get the latest version
 | 
				
			||||||
# apt-get install verilator installs version 4.028 as of 6/8/23
 | 
					# apt-get install verilator installs version 4.028 as of 6/8/23
 | 
				
			||||||
sudo apt-get install -y perl g++ ccache help2man libgoogle-perftools-dev numactl perl-doc zlib1g 
 | 
					sudo apt-get install -y perl g++ ccache help2man libgoogle-perftools-dev numactl perl-doc zlib1g 
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								setup.sh
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								setup.sh
									
									
									
									
									
								
							@ -54,5 +54,7 @@ if [ -e "$IDV" ]; then
 | 
				
			|||||||
    export PATH=$IDV/scripts/cvw:$PATH
 | 
					    export PATH=$IDV/scripts/cvw:$PATH
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Verilator needs a larger stack to simulate CORE-V Wally
 | 
				
			||||||
 | 
					ulimit -s 100000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "setup done"
 | 
					echo "setup done"
 | 
				
			||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
# simulate with Verilator
 | 
					# simulate with Verilator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# verilator -CFLAGS -DVL_DEBUG -CFLAGS -D_GLIBCXX_DEBUG -CFLAGS -ggdb -LDFLAGS -ggdb -CFLAGS -fsanitize=address,undefined -LDFLAGS -fsanitize=address,undefined --timescale "1ns/1ns" --timing --binary --top-module testbench "-I../config/shared" "-I../config/rv64gc" ../src/cvw.sv ../testbench/testbench.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv --relative-includes
 | 
					# verilator -CFLAGS -DVL_DEBUG -CFLAGS -D_GLIBCXX_DEBUG -CFLAGS -ggdb -LDFLAGS -ggdb -CFLAGS -fsanitize=address,undefined -LDFLAGS -fsanitize=address,undefined --timescale "1ns/1ns" --timing --binary --top-module testbench "-I../config/shared" "-I../config/rv64gc" ../src/cvw.sv ../testbench/testbench.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv --relative-includes
 | 
				
			||||||
# verilator -GTEST="arch64i" --timescale "1ns/1ns" --timing --binary --top-module testbench "-I../config/shared" "-I../config/rv64gc" ../src/cvw.sv ../testbench/testbench.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv --relative-includes
 | 
					# verilator -GTEST="\"arch64i\"" --timescale "1ns/1ns" --timing --binary --top-module testbench "-I../config/shared" "-I../config/rv64gc" ../src/cvw.sv ../testbench/testbench.sv ../testbench/common/*.sv ../src/*/*.sv ../src/*/*/*.sv --relative-includes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export PATH=$PATH:/usr/local/bin/
 | 
					export PATH=$PATH:/usr/local/bin/
 | 
				
			||||||
verilator=`which verilator`
 | 
					verilator=`which verilator`
 | 
				
			||||||
@ -12,7 +12,7 @@ basepath=$(dirname $0)/..
 | 
				
			|||||||
for config in  rv64gc; do
 | 
					for config in  rv64gc; do
 | 
				
			||||||
    echo "$config simulating..."
 | 
					    echo "$config simulating..."
 | 
				
			||||||
    # not working: -GTEST="arch64i"
 | 
					    # not working: -GTEST="arch64i"
 | 
				
			||||||
    if !($verilator --timescale "1ns/1ns" --timing --binary "$@" -GTEST="arch64i" --top-module testbench "-I$basepath/config/shared" "-I$basepath/config/$config" $basepath/src/cvw.sv $basepath/testbench/testbench.sv $basepath/testbench/common/*.sv   $basepath/src/*/*.sv $basepath/src/*/*/*.sv --relative-includes ); then
 | 
					    if !($verilator --timescale "1ns/1ns" --timing --binary "$@" -GTEST="\"arch64i\"" --top-module testbench "-I$basepath/config/shared" "-I$basepath/config/$config" $basepath/src/cvw.sv $basepath/testbench/testbench.sv $basepath/testbench/common/*.sv   $basepath/src/*/*.sv $basepath/src/*/*/*.sv --relative-includes ); then
 | 
				
			||||||
        echo "Exiting after $config lint due to errors or warnings"
 | 
					        echo "Exiting after $config lint due to errors or warnings"
 | 
				
			||||||
        exit 1
 | 
					        exit 1
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
				
			|||||||
@ -97,7 +97,7 @@ module tlbcontrol import cvw::*;  #(parameter cvw_t P, ITLB = 0) (
 | 
				
			|||||||
    assign PreUpdateDA = ~PTE_A;
 | 
					    assign PreUpdateDA = ~PTE_A;
 | 
				
			||||||
    assign InvalidAccess = ~PTE_X;
 | 
					    assign InvalidAccess = ~PTE_X;
 | 
				
			||||||
 end else begin:dtlb // Data TLB fault checking
 | 
					 end else begin:dtlb // Data TLB fault checking
 | 
				
			||||||
    logic InvalidRead, InvalidWrite, ReservtedEncoding;
 | 
					    logic InvalidRead, InvalidWrite, ReservedEncoding;
 | 
				
			||||||
    logic InvalidCBOM, InvalidCBOZ;
 | 
					    logic InvalidCBOM, InvalidCBOZ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // User mode may only load/store from user mode pages, and supervisor mode
 | 
					    // User mode may only load/store from user mode pages, and supervisor mode
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user