aboutsummaryrefslogtreecommitdiff
path: root/icebox
AgeCommit message (Collapse)Author
2018-08-09Add 5k support to hlc2asc.Keith Rothman
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
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-10Merge pull request #167 from mithro/icebox_vlog_driversClifford Wolf
icebox_vlog: Better information about drivers for nets.
2018-07-10Merge pull request #164 from mithro/global-fixClifford Wolf
Fix spelling and io_X/GLOBAL_OUTPUT_NETWORK
2018-07-08icebox_vlog: Fix constant LUT output.Tim 'mithro' Ansell
2018-07-08icebox_vlog: Save error message to file and print it.Tim 'mithro' Ansell
Previously if you were doing; `icebox_vlog example.asc > example_bit.v` you would just get; ``` Traceback (most recent call last): File "icebox_vlog.py", line 947, in <module> assert False AssertionError ``` Now you get; ``` Traceback (most recent call last): File "icebox_vlog.py", line 948, in <module> assert False, "\n ".join(emsg) AssertionError: Single-driver-check failed for 2 nets: n10 has 0 drivers: [] n15 has 2 drivers: ['clk', 'clk2'] ```
2018-07-03icebox_hlc2asc: Allow data of ram to use verilog literal formatElms
2018-07-03icebox_vlog: Better information about drivers for nets.Tim 'mithro' Ansell
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-15Merge pull request #160 from mithro/hlc-sortClifford Wolf
icebox_hlcsort: Adding a tool for canonicalizing HLC files.
2018-06-14icebox_hlcsort: Adding a tool for canonicalizing HLC files.Tim 'mithro' Ansell
This is done by sorting all the commands inside a block. Doing so makes it much easier to diff two files.
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-13Merge pull request #156 from mithro/hlc-devicesClifford Wolf
icebox_hlc2asc: Accept device types such as HX1K
2018-06-13Merge pull request #153 from mithro/lout-driverClifford Wolf
icebox: Fix driver detection for LUT cascade.
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-11icebox: Fix driver detection for LUT cascade.Tim 'mithro' Ansell
The lutff_X/lout is a driver signal.
2018-06-11icebox: Fix LUT output code.Tim 'mithro' Ansell
sig values where "1'b0" and "1'b1" not "0" or "1".
2018-06-10Fix icebox_html -8 modeClifford Wolf
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-10Fix routing description in icebox_html outputClifford Wolf
Signed-off-by: Clifford Wolf <clifford@clifford.at>
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-01Merge pull request #147 from mithro/hlc-fixesClifford Wolf
Allow routing (bidir) entries to be looked up in either direction.
2018-06-01Allow routing (bidir) entries to be looked up in either direction.Tim 'mithro' Ansell
2018-05-31Merge pull request #146 from mithro/hlc-fixesClifford Wolf
Support both `abc/123` and `123` forms of specifying tracks.
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.
2018-05-30icebox: Allow selecting package in icebox_vlogDavid Shah
Signed-off-by: David Shah <davey1576@gmail.com>
2018-05-13Merge pull request #139 from awygle/lm_iceboxClifford Wolf
Icebox support for ice40 LM
2018-05-13Extact reproducable chipdb-5k.txtClifford Wolf
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-13Add chipdb-lm4k.txt to .gitignoreAndrew Wygle
2018-05-13Correct internal global buffers for lm4kAndrew Wygle
2018-05-13Added missing ieren entries for lm4k.Andrew Wygle
Config SPI pins weren't present in ioctrl_lm4k.sh
2018-05-13Add lm4k chipdb to icebox Makefile.Andrew Wygle
2018-05-13Support lm4k in icebox_chipdb.py.Andrew Wygle
2018-05-12Completed first pass at icebox support for lm4k.Andrew Wygle
Needs testing.
2018-05-12[WIP] Added colbuf and gbufin data for LM seriesAndrew Wygle
2018-05-12[WIP] Add partial icebox support for lm4k.Andrew Wygle
2018-04-02Add BG121 package variant and update docsDavid Shah