This is an openlane-specific structure generated from the "generic" at ../

This folder contains 3 subfolders:
	- arch  : contains a template of the architecture
	- src   : contains the netlist of a 22x22 homogeneous tiles in k4N10, 4840 LUTs
	- bench : 


*************
BELOW IS LEFTOVER FROM GENERIC VERSION FROM UUTAH
THESE VARIABLES DO NOT WORK WOTH OPENLANE
*************

Files contain variables to replace:
	- $OPENFPGA_PATH has to be replaced by the path to your OpenFPGA repository
	- $PDK_PATH has to be replaced by the path to your pdk repository
	- $NETLISTS_PATH has to be replaced by the path to the folder where Skywater_FPGA has been extracted
