mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Merge pull request #4705 from YosysHQ/docs-preview-lintonly
Emphasise that read_verilog doesn't lint
This commit is contained in:
		
						commit
						22e214ec6d
					
				
					 4 changed files with 26 additions and 3 deletions
				
			
		
							
								
								
									
										10
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
										
									
									
									
								
							|  | @ -266,6 +266,16 @@ The command ``prep`` provides a good default word-level synthesis script, as | |||
| used in SMT-based formal verification. | ||||
| 
 | ||||
| 
 | ||||
| Additional information | ||||
| ====================== | ||||
| 
 | ||||
| The ``read_verilog`` command, used by default when calling ``read`` with Verilog | ||||
| source input, does not perform syntax checking.  You should instead lint your | ||||
| source with another tool such as | ||||
| [Verilator](https://www.veripool.org/verilator/) first, e.g. by calling | ||||
| ``verilator --lint-only``. | ||||
| 
 | ||||
| 
 | ||||
| Unsupported Verilog-2005 Features | ||||
| ================================= | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ module addr_gen | |||
| ) ( input en, clk, rst, | ||||
| 	output reg [AWIDTH-1:0] addr | ||||
| ); | ||||
| 	initial addr <= 0; | ||||
| 	initial addr = 0; | ||||
| 
 | ||||
| 	// async reset
 | ||||
| 	// increment address when enabled
 | ||||
|  | @ -13,7 +13,7 @@ module addr_gen | |||
| 		if (rst) | ||||
| 			addr <= 0; | ||||
| 		else if (en) begin | ||||
| 			if (addr == MAX_DATA-1) | ||||
| 			if ({'0, addr} == MAX_DATA-1) | ||||
| 				addr <= 0; | ||||
| 			else | ||||
| 				addr <= addr + 1; | ||||
|  | @ -57,7 +57,7 @@ module fifo | |||
| 	); | ||||
| 
 | ||||
| 	// status signals
 | ||||
| 	initial count <= 0; | ||||
| 	initial count = 0; | ||||
| 
 | ||||
| 	always @(posedge clk or posedge rst) begin | ||||
| 		if (rst) | ||||
|  |  | |||
|  | @ -30,6 +30,14 @@ First, let's quickly look at the design we'll be synthesizing: | |||
| 
 | ||||
| .. todo:: fifo.v description | ||||
| 
 | ||||
| While the open source `read_verilog` frontend generally does a pretty good job | ||||
| at processing valid Verilog input, it does not provide very good error handling | ||||
| or reporting.  Using an external tool such as `verilator`_ before running Yosys | ||||
| is highly recommended. We can quickly check the Verilog syntax of our design by | ||||
| calling ``verilator --lint-only fifo.v``. | ||||
| 
 | ||||
| .. _verilator: https://www.veripool.org/verilator/ | ||||
| 
 | ||||
| Loading the design | ||||
| ~~~~~~~~~~~~~~~~~~ | ||||
| 
 | ||||
|  |  | |||
|  | @ -69,9 +69,14 @@ Things you can't do | |||
| 
 | ||||
|   - Check out `nextpnr`_ for that | ||||
| 
 | ||||
| - Rely on built-in syntax checking | ||||
| 
 | ||||
|   - Use an external tool like `verilator`_ instead | ||||
| 
 | ||||
| .. todo:: nextpnr for FPGAs, consider mentioning openlane, vpr, coriolis | ||||
| 
 | ||||
| .. _nextpnr: https://github.com/YosysHQ/nextpnr | ||||
| .. _verilator: https://www.veripool.org/verilator/ | ||||
| 
 | ||||
| The Yosys family | ||||
| ---------------- | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue