forked from Github_Repos/cvw
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ##################################################
 | |
| #
 | |
| # For info on creating trigger state machines:
 | |
| #   1) In the main Vivado menu bar, select
 | |
| #      Window > Language Templates
 | |
| #   2) In the Templates window, select
 | |
| #      Debug > Trigger State Machine
 | |
| #   3) Refer to the entry 'Info' for an overview
 | |
| #      of the trigger state machine language.
 | |
| #
 | |
| # More information can be found in this document:
 | |
| #
 | |
| #   Vivado Design Suite User Guide: Programming
 | |
| #   and Debugging (UG908)
 | |
| #
 | |
| ##################################################
 | |
| state state_reset:
 | |
|     if(wallypipelinedsoc/uncore.uncore/uart.uart/INTR == 1'b1) then
 | |
|         reset_counter $counter0;
 | |
|         reset_counter $counter1;
 | |
|         goto state_begin_count;
 | |
|     else
 | |
|         goto state_reset;
 | |
|     endif
 | |
|     
 | |
| state state_begin_count:
 | |
|     if(wallypipelinedsoc/uncore.uncore/uart.uart/INTR == 1'b0) then
 | |
|         reset_counter $counter0;
 | |
|         reset_counter $counter1;	
 | |
|         goto state_reset;
 | |
|     elseif($counter0 == 16'hFFFF && wallypipelinedsoc/uncore.uncore/uart.uart/INTR == 1'b1) then
 | |
|         goto state_count1;
 | |
|        else
 | |
|      	  increment_counter $counter0;
 | |
|           goto state_begin_count;
 | |
|        #endif
 | |
|     endif
 | |
| 
 | |
| state state_count1:
 | |
|     if($counter1 == 16'h000F && wallypipelinedsoc/uncore.uncore/uart.uart/INTR == 1'b1) then
 | |
|            goto state_trigger;
 | |
|     else
 | |
|        increment_counter $counter1;
 | |
|        reset_counter $counter0;
 | |
|        goto state_begin_count;
 | |
|     endif
 | |
|     
 | |
| state state_trigger:
 | |
|     trigger;
 |