aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGELOG
diff options
context:
space:
mode:
authorMarcin Koƛcielnicki <mwk@0x04.net>2020-02-01 10:21:19 +0100
committerMarcelina Koƛcielnicka <mwk@0x04.net>2020-02-01 16:16:26 +0100
commit00fba627118fb536686b3d30f3b81f71b513cd51 (patch)
treea973c48450b6000a07bd9fde9c2dcf3e5c4e33e7 /CHANGELOG
parenta1c840ca5d6e8b580e21ae48550570aa9665741a (diff)
downloadyosys-00fba627118fb536686b3d30f3b81f71b513cd51.tar.gz
yosys-00fba627118fb536686b3d30f3b81f71b513cd51.tar.bz2
yosys-00fba627118fb536686b3d30f3b81f71b513cd51.zip
json: remove the 32-bit parameter special case
Before, the rules for encoding parameters in JSON were as follows: - if the parameter is not a string: - if it is exactly 32 bits long and there are no z or x bits, emit it as an int - otherwise, emit it as a string made of 0/1/x/z characters - if the parameter is a string: - if it contains only 0/1/x/z characters, append a space at the end to distinguish it from a non-string - otherwise, emit it directly However, this caused a problem in the json11 parser used in nextpnr: yosys emits unsigned ints, and nextpnr parses them as signed, using the value of INT_MIN for values that overflow the signed int range. This caused destruction of LUT5 initialization values. Since both nextpnr and yosys parser can also accept 32-bit parameters in the same encoding as other widths, let's just remove that special case. The old behavior is still left behind a `-compat-int` flag, in case someone relies on it.
Diffstat (limited to 'CHANGELOG')
0 files changed, 0 insertions, 0 deletions