aboutsummaryrefslogtreecommitdiffstats
path: root/icebox/icebox_hlc2asc.py
Commit message (Collapse)AuthorAgeFilesLines
* Support custom PROGRAM_PREFIXMiodrag Milanovic2020-04-101-4/+4
|
* icebox_hlc2asc: Use cached re functionsMichael Buesch2019-06-081-15/+16
|
* Merge pull request #178 from elmsfu/hlc/add_symbols_supportClifford Wolf2018-10-101-0/+20
|\ | | | | hlc: parse '.sym>' to track signal names from HLC to ASC
| * icebox: parse '.sym>' HLC to track signal namesElms2018-07-261-0/+20
| |
* | Add 5k support to hlc2asc.Keith Rothman2018-08-091-0/+3
|/ | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* icebox_hlc2asc: fix _lut_ keyword parsingElms2018-07-191-1/+1
| | | | '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.
* Spelling fixes in messagesLarry Doolittle2018-07-191-7/+7
|
* hlc: Use glb_network for current device.Tim 'mithro' Ansell2018-07-161-14/+16
| | | | | Previously the 1k global networks were hard coded. This now uses the values from the given part.
* Merge pull request #168 from elmsfu/hlc2asc/verilog_literal_ram_dataClifford Wolf2018-07-101-8/+42
|\ | | | | icebox_hlc2asc: Allow data of ram to use verilog literal format
| * icebox_hlc2asc: Allow data of ram to use verilog literal formatElms2018-07-031-8/+42
| |
* | icebox_hlc2asc: Allow io_X/GLOBAL_OUTPUT_BUFFERTim 'mithro' Ansell2018-06-221-1/+3
| |
* | icebox_hlc2asc: Fix spelling in error message.Tim 'mithro' Ansell2018-06-221-2/+2
|/
* icebox_hlc2asc: update to support device by familyElms2018-06-201-3/+3
|
* icebox_hlc2asc: Adding more descriptive errors messagesElms2018-06-201-24/+27
|
* icebox_hlc2asc: Set LUT bits to zero by default.Tim 'mithro' Ansell2018-06-151-2/+2
|
* icebox: Fix issue introduced by f7e9fec63a3f88bee8c27e858da319ea03d68d14Tim 'mithro' Ansell2018-06-141-2/+2
| | | | | | | | Current code fails with the following; ``` Parse error in line 94: span4_y3_g15_6 -> local_g0_3 -> D_OUT_0 ```
* Merge pull request #151 from mithro/hlc-lut-initClifford Wolf2018-06-131-2/+13
|\ | | | | icebox_hlc2asc: Allow truth tables to be specified as init string.
| * icebox_hlc2asc: Allow truth tables to be specified as init string.Joel Holdsworth2018-06-111-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 } ```
* | Merge pull request #158 from mithro/remove-bidir-hlcClifford Wolf2018-06-131-14/+6
|\ \ | | | | | | Remove bidir stuff in HLC
| * | HLC: Use '~>' instead of '<->' for routing switches.Tim 'mithro' Ansell2018-06-121-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | icebox_hlc2asc: Remove the bidirectional support.Tim 'mithro' Ansell2018-06-121-8/+0
| |/ | | | | | | See ca6b2d9ebd521ecec58b9b5627c9380355adeab1.
* / icebox_hlc2asc: Accept device types such as HX1KJoel Holdsworth2018-06-111-1/+3
|/
* Improve error message.Tim 'mithro' Ansell2018-06-041-3/+10
| | | | | | | | | | | | | | | | | | | | | 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 -----------------
* Allow routing (bidir) entries to be looked up in either direction.Tim 'mithro' Ansell2018-06-011-4/+37
|
* Better error message when bit pattern is missing.Tim 'mithro' Ansell2018-05-301-3/+11
| | | | | | | | | | | | | | | | | | 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) ```
* Allow prefixes in multiple chained statements.Tim 'mithro' Ansell2018-05-301-2/+9
| | | | | | | | | | | 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 } ```
* Support both `abc/123` and `123` forms of specifying tracks.Tim 'mithro' Ansell2018-05-301-0/+14
| | | | Kind of fixes #145.
* icebox: Put .hlc converters under ISC licenseRoland Lutz2017-09-021-0/+1063
|\
| * icebox: Fix parsing of IO block special wiresRoland Lutz2017-08-271-5/+5
| |
| * icebox: Fix parsing of PLL directiveRoland Lutz2017-08-271-1/+4
| |
| * icebox: Give useful error messages for .hlc parsing errorsRoland Lutz2017-08-271-12/+18
| |
* | Removed files that are under GNU licensesClifford Wolf2017-08-311-1052/+0
|/
* Implement high-level configuration formatClifford Wolf2017-08-251-0/+1052
# Conflicts: # icebox/Makefile