mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-30 19:22:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			130 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			130 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| See fstapi.h for the values for the FST_BL_XXX enums.
 | |
| 
 | |
| ===========================================================================
 | |
| 
 | |
| compressed wrapper (typically over whole file)
 | |
| 
 | |
| uint8_t		FST_BL_ZWRAPPER
 | |
| uint64_t        section length
 | |
| uint64_t        length of uncompressed data
 | |
| [zlib compressed data]
 | |
| 
 | |
| ===========================================================================
 | |
| 
 | |
| header block
 | |
| 
 | |
| uint8_t		FST_BL_HDR
 | |
| uint64_t	section length
 | |
| uint64_t	start time
 | |
| uint64_t	end time
 | |
| double		endian test for "e"
 | |
| uint64_t	memory used by writer
 | |
| uint64_t	scope creation count
 | |
| uint64_t	var creation count
 | |
| uint64_t	max var idcode
 | |
| uint64_t	vc section count
 | |
| int8_t		timescale exponent
 | |
| [128 bytes]	version
 | |
| [128 bytes]	date
 | |
| 
 | |
| ===========================================================================
 | |
| 
 | |
| geometry block
 | |
| 
 | |
| uint8_t         FST_BL_GEOM
 | |
| uint64_t        section length
 | |
| uint64_t        length of uncompressed geometry data
 | |
| uint64_t        maxhandle
 | |
| [compressed data]
 | |
| 
 | |
| (length of compressed data is section length - 24)
 | |
| 
 | |
| ===========================================================================
 | |
| 
 | |
| hierarchy block
 | |
| 
 | |
| uint8_t         FST_BL_HIER
 | |
| uint64_t        section length
 | |
| uint64_t        length of uncompressed hier data
 | |
| [zlib compressed data]
 | |
| 
 | |
| or
 | |
| 
 | |
| uint8_t         FST_BL_HIER_LZ4
 | |
| uint64_t        section length
 | |
| uint64_t        length of uncompressed hier data
 | |
| [lz4 compressed data]
 | |
| 
 | |
| uint8_t         FST_BL_HIER_LZ4DUO
 | |
| uint64_t        section length
 | |
| uint64_t        length of uncompressed hier data
 | |
| varint		length of hier data compressed once with lz4
 | |
| [lz4 double compressed data]
 | |
| 
 | |
| 
 | |
| ===========================================================================
 | |
| 
 | |
| dumpon/off block
 | |
| 
 | |
| uint8_t         FST_BL_BLACKOUT
 | |
| uint64_t        section length
 | |
| varint		num blackouts (section below is repeated this # times)
 | |
| [
 | |
| uint8_t		on/off (nonzero = on)
 | |
| varint		delta time
 | |
| ]
 | |
| 
 | |
| ===========================================================================
 | |
| 
 | |
| 1..n value change blocks:
 | |
| 
 | |
| // header
 | |
| 
 | |
| uint8_t		FST_BL_VCDATA (or FST_BL_VCDATA_DYN_ALIAS)
 | |
| uint64_t	section length
 | |
| uint64_t	begin time of section
 | |
| uint64_t	end time of section
 | |
| uint64_t	amount of buffer memory required in reader for full vc traversal
 | |
| varint		maxvalpos (length of uncompressed data)
 | |
| varint		length of compressed data
 | |
| varint		maxhandle associated with this checkpoint data
 | |
| [compressed data]
 | |
| 
 | |
| ---
 | |
| 
 | |
| // value changes
 | |
| 
 | |
| varint		maxhandle associated with the value change data
 | |
| uint8_t		pack type ('F' is fastlz, '4' is lz4,
 | |
| 			others ['Z'/'!'] are zlib)
 | |
| 
 | |
| varint		chain 0 compressed data length (0 = uncompressed)
 | |
| [compressed data]
 | |
| ...
 | |
| varint		chain n compressed data length (0 = uncompressed)
 | |
| [compressed data]
 | |
| 
 | |
| ---
 | |
| 
 | |
| // index: chain pointer table (from 0..maxhandle-1)
 | |
| 
 | |
| varint		if &1 == 1, this is <<1 literal delta
 | |
| 		if &1 == 0, this is <<1 RLE count of zeros
 | |
| 		if == 0, next varint is handle of prev chain to use,
 | |
| 			bit only if FST_BL_VCDATA_DYN_ALIAS or
 | |
| 			later VCDATA format
 | |
| 
 | |
| ---
 | |
| 
 | |
| uint64_t	index length (subtract from here to get index position)
 | |
| 
 | |
| ---
 | |
| 
 | |
| [compressed data for time section]
 | |
| uint64_t	uncompressed data length in bytes
 | |
| uint64_t	compressed data length in bytes
 | |
| uint64_t	number of time items
 | |
| 
 | |
| // end of section
 | |
| 
 | |
| ===========================================================================
 |