mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 11:42:30 +00:00 
			
		
		
		
	Explain exact semantics of switch and case rules in the manual.
This commit is contained in:
		
							parent
							
								
									df6576edc8
								
							
						
					
					
						commit
						addf01d45d
					
				
					 1 changed files with 12 additions and 0 deletions
				
			
		|  | @ -350,6 +350,18 @@ and this bit is a one (the second ``1'').} for {\tt \textbackslash{}reset == 1} | ||||||
| sets {\tt \$0\textbackslash{}q[0:0]} to the value of {\tt \textbackslash{}d} if {\tt | sets {\tt \$0\textbackslash{}q[0:0]} to the value of {\tt \textbackslash{}d} if {\tt | ||||||
| \textbackslash{}enable} is active (lines $6 \dots 11$). | \textbackslash{}enable} is active (lines $6 \dots 11$). | ||||||
| 
 | 
 | ||||||
|  | A case can specify zero or more compare values that will determine whether it matches. Each of the compare values | ||||||
|  | must be the exact same width as the control signal. When more than one compare value is specified, the case matches | ||||||
|  | if any of them matches the control signal; when zero compare values are specified, the case always matches (i.e. | ||||||
|  | it is the default case). | ||||||
|  | 
 | ||||||
|  | A switch prioritizes cases from first to last: multiple cases can match, but only the first matched case becomes | ||||||
|  | active. This normally synthesizes to a priority encoder. The {\tt parallel\_case} attribute allows passes to assume | ||||||
|  | that no more than one case will match, and {\tt full\_case} attribute allows passes to assume that exactly one | ||||||
|  | case will match; if these invariants are ever dynamically violated, the behavior is undefined. These attributes | ||||||
|  | are useful when an invariant invisible to the synthesizer causes the control signal to never take certain | ||||||
|  | bit patterns. | ||||||
|  | 
 | ||||||
| The lines $13 \dots 16$  then cause {\tt \textbackslash{}q} to be updated whenever there is | The lines $13 \dots 16$  then cause {\tt \textbackslash{}q} to be updated whenever there is | ||||||
| a positive clock edge on {\tt \textbackslash{}clock} or {\tt \textbackslash{}reset}. | a positive clock edge on {\tt \textbackslash{}clock} or {\tt \textbackslash{}reset}. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue