aboutsummaryrefslogtreecommitdiff
path: root/icebox/icebox_hlc2asc.py
AgeCommit message (Collapse)Author
2020-04-10Support custom PROGRAM_PREFIXMiodrag Milanovic
2019-06-08icebox_hlc2asc: Use cached re functionsMichael Buesch
2018-10-10Merge pull request #178 from elmsfu/hlc/add_symbols_supportClifford Wolf
hlc: parse '.sym>' to track signal names from HLC to ASC
2018-08-09Add 5k support to hlc2asc.Keith Rothman
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2018-07-26icebox: parse '.sym>' HLC to track signal namesElms
2018-07-19icebox_hlc2asc: fix _lut_ keyword parsingElms
'self.lut_bits is None' was always false. The _lut_ keyword is used by asc2hlc, so when converting asc->hlc->asc the lut_bits were always all zeros.
2018-07-19Spelling fixes in messagesLarry Doolittle
2018-07-16hlc: Use glb_network for current device.Tim 'mithro' Ansell
Previously the 1k global networks were hard coded. This now uses the values from the given part.
2018-07-10Merge pull request #168 from elmsfu/hlc2asc/verilog_literal_ram_dataClifford Wolf
icebox_hlc2asc: Allow data of ram to use verilog literal format
2018-07-03icebox_hlc2asc: Allow data of ram to use verilog literal formatElms
2018-06-22icebox_hlc2asc: Allow io_X/GLOBAL_OUTPUT_BUFFERTim 'mithro' Ansell
2018-06-22icebox_hlc2asc: Fix spelling in error message.Tim 'mithro' Ansell
2018-06-20icebox_hlc2asc: update to support device by familyElms
2018-06-20icebox_hlc2asc: Adding more descriptive errors messagesElms
2018-06-15icebox_hlc2asc: Set LUT bits to zero by default.Tim 'mithro' Ansell
2018-06-14icebox: Fix issue introduced by f7e9fec63a3f88bee8c27e858da319ea03d68d14Tim 'mithro' Ansell
Current code fails with the following; ``` Parse error in line 94: span4_y3_g15_6 -> local_g0_3 -> D_OUT_0 ```
2018-06-13Merge pull request #151 from mithro/hlc-lut-initClifford Wolf
icebox_hlc2asc: Allow truth tables to be specified as init string.
2018-06-13Merge pull request #158 from mithro/remove-bidir-hlcClifford Wolf
Remove bidir stuff in HLC
2018-06-12HLC: Use '~>' instead of '<->' for routing switches.Tim 'mithro' Ansell
As mentioned in ca6b2d9ebd521ecec58b9b5627c9380355adeab1, the 'routing' switches are not actually bidirectional. This makes the '<->' specifier very misleading. Instead use '~>' to differentiate it from the 'buffer' switches.
2018-06-12icebox_hlc2asc: Remove the bidirectional support.Tim 'mithro' Ansell
See ca6b2d9ebd521ecec58b9b5627c9380355adeab1.
2018-06-11icebox_hlc2asc: Accept device types such as HX1KJoel Holdsworth
2018-06-11icebox_hlc2asc: Allow truth tables to be specified as init string.Joel Holdsworth
Examples; ```hlc lutff_5 { # - Parameters ------- # LUT_INIT = 0111111110000000 local_g3_4 -> lutff_5/in_0 local_g0_6 -> lutff_5/in_1 local_g2_7 -> lutff_5/in_2 lutff_5/out -> span4_x3_g12_11 lutff_5/out -> local_g3_5 -> lutff_5/in_3 out = 16'b0111111110000000 enable_dff } ``` ```hlc lutff_4 { local_g3_5 -> lutff_4/in_2 lutff_4/out -> span12_y12_g6_0 out = 16'b0000000000010000 enable_dff } ``` ```hlc lutff_2 { # - Parameters ------- # LUT_INIT = 01 lutff_2/out -> span12_y12_g8_0 lutff_2/out -> span12_x2_g14_0 lutff_2/out -> local_g0_2 -> lutff_2/in_0 out = 2'b01 enable_dff } ```
2018-06-04Improve error message.Tim 'mithro' Ansell
Now; ----------------- Parse error in line 364: span4_y9_g7_10 <-> span4_x3_g13_5 conflicting bits ['!B12[8]', '!B12[9]', 'B12[10]'] setting:{(12, 10)} - current clear:{(12, 10), (12, 8)} clearing:{(12, 9), (12, 8)} - current set :{(12, 9)} ----------------- Previously; ----------------- File "icebox_hlc2asc.py", line 742, in apply_directive self.set_bits(bits) File "icebox_hlc2asc.py", line 762, in set_bits raise ParseError("conflicting bits") TypeError: __init__() takes 1 positional argument but 2 were given -----------------
2018-06-01Allow routing (bidir) entries to be looked up in either direction.Tim 'mithro' Ansell
2018-05-30Better error message when bit pattern is missing.Tim 'mithro' Ansell
Previously; ``` self.apply_directive('buffer', src, dst) File "/usr/local/google/home/tansell/work/catx/vtr/env/conda/bin/icebox_hlc2asc", line 698, in apply_directive bits, = [entry[0] for entry in self.db if entry[1:] == fields] ValueError: not enough values to unpack (expected 1, got 0) ``` Now: ``` Parse error in line 2108: span12_y4_g14_0 -> span4_y4_g11_7 <-> span4_x7_g4_0 No bit pattern for ['buffer', 'sp12_h_r_11', 'sp4_h_r_7'] in LogicTile(1k, 7, 4) ```
2018-05-30Allow prefixes in multiple chained statements.Tim 'mithro' Ansell
IE ``` lutff_1 { lutff_1/out -> local_g2_1 -> lutff_1/in_0 local_g2_2 -> lutff_1/in_3 local_g2_7 -> lutff_1/in_2 } ```
2018-05-30Support both `abc/123` and `123` forms of specifying tracks.Tim 'mithro' Ansell
Kind of fixes #145.
2017-09-02icebox: Put .hlc converters under ISC licenseRoland Lutz
2017-08-31Removed files that are under GNU licensesClifford Wolf
2017-08-27icebox: Fix parsing of IO block special wiresRoland Lutz
2017-08-27icebox: Fix parsing of PLL directiveRoland Lutz
2017-08-27icebox: Give useful error messages for .hlc parsing errorsRoland Lutz
2017-08-25Implement high-level configuration formatClifford Wolf
# Conflicts: # icebox/Makefile