mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Removed mark_debug vivado directive from source code.
Created script to add mark_debug directive to source code based on a file which contains locations and signal which need them for the FPGA debugger. Files output to temporary directory.
This commit is contained in:
		
							parent
							
								
									626bcd8608
								
							
						
					
					
						commit
						e06237ad92
					
				
							
								
								
									
										132
									
								
								fpga/constraints/marked_debug.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								fpga/constraints/marked_debug.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,132 @@ | ||||
| lsu/lsu.sv: logic      IEUAdrM | ||||
| lsu/lsu.sv: logic      WriteDataM | ||||
| lsu/lsu.sv: logic        LSUHADDR | ||||
| lsu/lsu.sv: logic        HRDATA | ||||
| lsu/lsu.sv: logic        LSUHWDATA | ||||
| lsu/lsu.sv: logic       LSUHREADY | ||||
| lsu/lsu.sv: logic       LSUHWRITE | ||||
| lsu/lsu.sv: logic        LSUHSIZE | ||||
| lsu/lsu.sv: logic        LSUHBURST | ||||
| lsu/lsu.sv: logic        LSUHTRANS | ||||
| lsu/lsu.sv: logic        LSUHWSTRB | ||||
| lsu/lsu.sv: logic      IHAdrM | ||||
| ieu/regfile.sv: logic    rf | ||||
| ieu/datapath.sv: logic                 RegWriteW | ||||
| hazard/hazard.sv: logic	         BPPredWrongE | ||||
| hazard/hazard.sv: logic	         LoadStallD | ||||
| hazard/hazard.sv: logic	         LSUStallM | ||||
| hazard/hazard.sv: logic          FCvtIntStallD | ||||
| hazard/hazard.sv: logic	         DivBusyE | ||||
| hazard/hazard.sv: logic	         EcallFaultM | ||||
| hazard/hazard.sv: logic          WFIStallM | ||||
| hazard/hazard.sv: logic	        StallF | ||||
| hazard/hazard.sv: logic	        FlushD | ||||
| cache/cachefsm.sv:   statetype CurrState | ||||
| wally/wallypipelinedcore.sv: logic    TrapM | ||||
| wally/wallypipelinedcore.sv: logic            SrcAM | ||||
| wally/wallypipelinedcore.sv: logic                 InstrM | ||||
| wally/wallypipelinedcore.sv: logic             PCM | ||||
| wally/wallypipelinedcore.sv: logic           MemRWM | ||||
| wally/wallypipelinedcore.sv: logic                InstrValidM | ||||
| wally/wallypipelinedcore.sv: logic     WriteDataM | ||||
| wally/wallypipelinedcore.sv: logic     IEUAdrM | ||||
| ifu/spill.sv:    statetype CurrState | ||||
| ifu/ifu.sv: logic    				IFUStallF | ||||
| ifu/ifu.sv: logic     IFUHADDR | ||||
| ifu/ifu.sv: logic     	HRDATA | ||||
| ifu/ifu.sv: logic      IFUHREADY | ||||
| ifu/ifu.sv: logic     IFUHWRITE | ||||
| ifu/ifu.sv: logic      IFUHSIZE | ||||
| ifu/ifu.sv: logic      IFUHBURST | ||||
| ifu/ifu.sv: logic      IFUHTRANS | ||||
| ifu/ifu.sv: logic     PCF | ||||
| ifu/ifu.sv: logic                 PCNextF | ||||
| ifu/ifu.sv: logic            PCPF | ||||
| ifu/ifu.sv: logic     PostSpillInstrRawF | ||||
| mmu/hptw.sv: logic	   ITLBWriteF | ||||
| mmu/hptw.sv:	 statetype WalkerState | ||||
| privileged/csrs.sv: logic        CSRSReadValM | ||||
| privileged/csrs.sv: logic        SEPC_REGW | ||||
| privileged/csrs.sv: logic        MIP_REGW | ||||
| privileged/csrs.sv: logic      SSCRATCH_REGW | ||||
| privileged/csrs.sv: logic     SCAUSE_REGW       | ||||
| privileged/csr.sv: logic    CSRReadValM   | ||||
| privileged/csr.sv: logic    CSRSrcM | ||||
| privileged/csr.sv: logic    CSRWriteValM | ||||
| privileged/csr.sv: logic    MSTATUS_REGW | ||||
| privileged/trap.sv: logic      		   InstrMisalignedFaultM | ||||
| privileged/trap.sv: logic      		   BreakpointFaultM | ||||
| privileged/trap.sv: logic      		   LoadAccessFaultM | ||||
| privileged/trap.sv: logic      		   LoadPageFaultM | ||||
| privileged/trap.sv: logic      		   mretM | ||||
| privileged/trap.sv: logic      MIP_REGW | ||||
| privileged/trap.sv: logic           PendingIntsM | ||||
| privileged/privileged.sv: logic      CSRReadM | ||||
| privileged/privileged.sv: logic    InterruptM | ||||
| privileged/csrc.sv: logic      HPMCOUNTER_REGW | ||||
| privileged/csri.sv: logic       MExtInt | ||||
| privileged/csri.sv: logic        MIP_REGW_writeabl | ||||
| privileged/csrm.sv: logic        	     MIP_REGW | ||||
| privileged/csrm.sv: logic       MEPC_REGW | ||||
| privileged/csrm.sv: logic     MEDELEG_REGW | ||||
| privileged/csrm.sv: logic          MIDELEG_REGW | ||||
| privileged/csrm.sv: logic      MSCRATCH_REGW | ||||
| privileged/csrm.sv: logic       MCAUSE_REGW | ||||
| uncore/uart_apb.sv: logic                  SIN | ||||
| uncore/uart_apb.sv: logic                 SOUT | ||||
| uncore/uart_apb.sv: logic                 OUT1b | ||||
| uncore/uartPC16550D.sv: logic       RBR | ||||
| uncore/uartPC16550D.sv: logic        FCR | ||||
| uncore/uartPC16550D.sv: logic        IER | ||||
| uncore/uartPC16550D.sv: logic        MCR | ||||
| uncore/uartPC16550D.sv: logic    	   baudpulse | ||||
| uncore/uartPC16550D.sv:     statetype rxstate | ||||
| uncore/uartPC16550D.sv: logic     					rxfifo | ||||
| uncore/uartPC16550D.sv: logic     					txfifo | ||||
| uncore/uartPC16550D.sv: logic    					rxfifohead | ||||
| uncore/uartPC16550D.sv: logic    					rxfifoentries | ||||
| uncore/uartPC16550D.sv: logic       					RXBR | ||||
| uncore/uartPC16550D.sv: logic     					rxtimeoutcnt | ||||
| uncore/uartPC16550D.sv: logic      						rxparityerr | ||||
| uncore/uartPC16550D.sv: logic   						rxdataready | ||||
| uncore/uartPC16550D.sv: logic   						rxfifoempty | ||||
| uncore/uartPC16550D.sv: logic     					rxdata | ||||
| uncore/uartPC16550D.sv: logic     					RXerrbit | ||||
| uncore/uartPC16550D.sv: logic     					rxfullbitunwrapped | ||||
| uncore/uartPC16550D.sv: logic     					txdata | ||||
| uncore/uartPC16550D.sv: logic    						txnextbit | ||||
| uncore/uartPC16550D.sv: logic    						txfifoempty | ||||
| uncore/uartPC16550D.sv: logic   						fifoenabled | ||||
| uncore/uartPC16550D.sv: logic   						RXerr | ||||
| uncore/uartPC16550D.sv: logic   						THRE | ||||
| uncore/uartPC16550D.sv: logic   						rxdataavailintr | ||||
| uncore/uartPC16550D.sv: logic    					intrID | ||||
| uncore/plic_apb.sv: logic                    MExtInt | ||||
| uncore/plic_apb.sv: logic     Din | ||||
| uncore/plic_apb.sv: logic             requests | ||||
| uncore/plic_apb.sv: logic        intPriority | ||||
| uncore/plic_apb.sv: logic             intInProgress | ||||
| uncore/plic_apb.sv: logic           intThreshold | ||||
| uncore/plic_apb.sv: logic             intEn | ||||
| uncore/plic_apb.sv: logic           intClaim | ||||
| uncore/plic_apb.sv: logic        irqMatrix | ||||
| uncore/plic_apb.sv: logic           priorities_with_irqs | ||||
| uncore/plic_apb.sv: logic           max_priority_with_irqs | ||||
| uncore/plic_apb.sv: logic          irqs_at_max_priority | ||||
| uncore/plic_apb.sv: logic           threshMask | ||||
| uncore/clint_apb.sv: logic      MTIME | ||||
| uncore/clint_apb.sv: logic         MTIMECMP | ||||
| ebu/ebu.sv: logic     HCLK | ||||
| ebu/ebu.sv: logic      HREADY | ||||
| ebu/ebu.sv: logic      HRESP | ||||
| ebu/ebu.sv: logic      HADDR | ||||
| ebu/ebu.sv: logic      HWDATA | ||||
| ebu/ebu.sv: logic      HWSTRB | ||||
| ebu/ebu.sv: logic     HWRITE | ||||
| ebu/ebu.sv: logic      HSIZE | ||||
| ebu/ebu.sv: logic      HBURST | ||||
| ebu/ebu.sv: logic      HPROT | ||||
| ebu/ebu.sv: logic      HTRANS | ||||
| ebu/ebu.sv: logic     HMASTLOC | ||||
| ebu/buscachefsm.sv:   busstatetype CurrState | ||||
| ebu/busfsm.sv:   busstatetype CurrState | ||||
| @ -13,7 +13,7 @@ export board := vcu108 | ||||
| 
 | ||||
| all: FPGA | ||||
| 
 | ||||
| FPGA: IP SDC | ||||
| FPGA: PreProcessFiles IP SDC | ||||
| 	vivado -mode tcl -source wally.tcl 2>&1 | tee wally.log | ||||
| 
 | ||||
| IP: $(dst)/xlnx_proc_sys_reset.log \ | ||||
| @ -25,6 +25,10 @@ SDC: | ||||
| 	cp $(sdc_src) ../src/ | ||||
| 	tar xzf ../src/sdc.tar.gz -C ../src | ||||
| 
 | ||||
| PreProcessFiles: | ||||
| 	cp -r ../../pipelined/src/ ../src/pipelined | ||||
| 	./insert_debug_comment.sh | ||||
| 
 | ||||
| $(dst)/%.log: %.tcl | ||||
| 	mkdir -p IP | ||||
| 	cd IP;\
 | ||||
|  | ||||
							
								
								
									
										27
									
								
								fpga/generator/insert_debug_comment.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								fpga/generator/insert_debug_comment.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,27 @@ | ||||
| #!/bin/bash | ||||
| 
 | ||||
| 
 | ||||
| fileC="../src/pipelined/ebu/busfsm.sv" | ||||
| signal="CurrState" | ||||
| type="busstatetype" | ||||
| #find ../src/pipelined/ -wholename $fileC | xargs sed "s/\(.*\(logic|statetype|busstatetype\).*$signal\)/(\* mark_debug = \"true\" \*)\1/g" | grep -i $signal | ||||
| 
 | ||||
| #fileC="../src/pipelined/lsu/lsu.sv" | ||||
| #signal="IEUAdrM" | ||||
| #type="logic" | ||||
| echo "file = $fileC" | ||||
| echo "signal = $signal" | ||||
| 
 | ||||
| echo $signal | ||||
| find ../src/pipelined/ -wholename $fileC | xargs sed "s/\(.*$type.*$signal\)/(\* mark_debug = \"true\" \*)\1/g" | grep -i $signal | ||||
| #exit 0 | ||||
| while read line; do | ||||
|     readarray -d ":" -t StrArray <<< "$line" | ||||
|     file="../src/pipelined/${StrArray[0]}" | ||||
|     #signal=`echo "${StrArray[1]}" | awk '{$1=$1};1'` | ||||
|     signal=`echo "${StrArray[1]}" | awk '{$1=$1};1'` | ||||
|     readarray -d " " -t SigArray <<< $signal | ||||
|     sigType=`echo "${SigArray[0]}" | awk '{$1=$1};1'` | ||||
|     sigName=`echo "${SigArray[1]}" | awk '{$1=$1};1'` | ||||
|     find ../src/pipelined/ -wholename $file | xargs sed -i "s/\(.*${sigType}.*${sigName}\)/(\* mark_debug = \"true\" \*)\1/g"  | ||||
| done < ../constraints/marked_debug.txt | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user