Simon Schubert
be0bca0230
u4k: add SMCCLK cell location
...
icecube uses SMCCLK.CLK to "legalize" output cells. Unclear what this
is for, but it appears in almost all outputs.
2019-02-22 22:35:55 +01:00
Simon Schubert
d76ac32ec9
iCE40 Ultra = iCE5LP = u4k port
2019-02-22 22:35:55 +01:00
Clifford Wolf
5ab07ed32a
Merge pull request #178 from elmsfu/hlc/add_symbols_support
...
hlc: parse '.sym>' to track signal names from HLC to ASC
2018-10-10 13:46:31 +02:00
Andrew Wygle
9dbc14410f
Add support for cm36 and swg25tr lm4k packages.
2018-08-28 08:29:53 -07:00
Keith Rothman
497028cf5a
Add 5k support to hlc2asc.
...
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2018-08-09 13:01:18 -07:00
Elms
542e9ef0f3
icebox: parse '.sym>' HLC to track signal names
2018-07-26 10:12:56 -07:00
Elms
61aa5c5094
icebox_hlc2asc: fix _lut_ keyword parsing
...
'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-19 16:03:20 -07:00
Larry Doolittle
e0eaaf5b91
Spelling fixes in messages
2018-07-19 13:59:42 +02:00
Tim 'mithro' Ansell
22f10b9e22
hlc: Use glb_network for current device.
...
Previously the 1k global networks were hard coded. This now uses the
values from the given part.
2018-07-16 18:05:49 -07:00
Clifford Wolf
763eb0f217
Merge pull request #168 from elmsfu/hlc2asc/verilog_literal_ram_data
...
icebox_hlc2asc: Allow data of ram to use verilog literal format
2018-07-10 21:21:13 +02:00
Clifford Wolf
9ccdd95ff7
Merge pull request #167 from mithro/icebox_vlog_drivers
...
icebox_vlog: Better information about drivers for nets.
2018-07-10 21:20:59 +02:00
Clifford Wolf
2d1f1f6258
Merge pull request #164 from mithro/global-fix
...
Fix spelling and io_X/GLOBAL_OUTPUT_NETWORK
2018-07-10 21:20:20 +02:00
Tim 'mithro' Ansell
d0f654b0c6
icebox_vlog: Fix constant LUT output.
2018-07-08 18:18:56 -07:00
Tim 'mithro' Ansell
ef618927ca
icebox_vlog: Save error message to file and print it.
...
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-08 15:59:53 -07:00
Elms
41ac3eaeab
icebox_hlc2asc: Allow data of ram to use verilog literal format
2018-07-03 11:31:43 -07:00
Tim 'mithro' Ansell
b2e1df618c
icebox_vlog: Better information about drivers for nets.
2018-07-03 11:21:07 -07:00
Tim 'mithro' Ansell
a3ae94cbeb
icebox_hlc2asc: Allow io_X/GLOBAL_OUTPUT_BUFFER
2018-06-22 21:44:48 -07:00
Tim 'mithro' Ansell
e2adc23681
icebox_hlc2asc: Fix spelling in error message.
2018-06-22 21:44:39 -07:00
Elms
ac47e8e13c
icebox_hlc2asc: update to support device by family
2018-06-20 07:31:19 -07:00
Elms
2c8539a90d
icebox_hlc2asc: Adding more descriptive errors messages
2018-06-20 07:30:59 -07:00
Tim 'mithro' Ansell
f1f9da2d5b
icebox_hlc2asc: Set LUT bits to zero by default.
2018-06-15 17:04:25 -07:00
Clifford Wolf
492a337202
Merge pull request #160 from mithro/hlc-sort
...
icebox_hlcsort: Adding a tool for canonicalizing HLC files.
2018-06-15 17:58:58 +02:00
Tim 'mithro' Ansell
bb025493aa
icebox_hlcsort: Adding a tool for canonicalizing HLC files.
...
This is done by sorting all the commands inside a block. Doing so makes
it much easier to diff two files.
2018-06-14 17:54:25 -07:00
Tim 'mithro' Ansell
fdc6f1a1b1
icebox: Fix issue introduced by f7e9fec63a
...
Current code fails with the following;
```
Parse error in line 94:
span4_y3_g15_6 -> local_g0_3 -> D_OUT_0
```
2018-06-14 17:23:15 -07:00
Clifford Wolf
25cda32bb8
Merge pull request #151 from mithro/hlc-lut-init
...
icebox_hlc2asc: Allow truth tables to be specified as init string.
2018-06-13 13:44:04 +02:00
Clifford Wolf
73e2ddb7c7
Merge pull request #158 from mithro/remove-bidir-hlc
...
Remove bidir stuff in HLC
2018-06-13 13:43:24 +02:00
Clifford Wolf
90d3725119
Merge pull request #156 from mithro/hlc-devices
...
icebox_hlc2asc: Accept device types such as HX1K
2018-06-13 13:42:18 +02:00
Clifford Wolf
0cf4a21209
Merge pull request #153 from mithro/lout-driver
...
icebox: Fix driver detection for LUT cascade.
2018-06-13 13:37:43 +02:00
Tim 'mithro' Ansell
82f2f3d278
HLC: Use '~>' instead of '<->' for routing switches.
...
As mentioned in ca6b2d9ebd , the 'routing'
switches are not actually bidirectional. This makes the '<->' specifier
very misleading.
Instead use '~>' to differentiate it from the 'buffer' switches.
2018-06-12 19:18:50 -07:00
Tim 'mithro' Ansell
d8d30fa630
icebox_hlc2asc: Remove the bidirectional support.
...
See ca6b2d9ebd .
2018-06-12 19:18:45 -07:00
Joel Holdsworth
6c21817732
icebox_hlc2asc: Accept device types such as HX1K
2018-06-11 16:04:57 -07:00
Joel Holdsworth
ee84ee4d1b
icebox_hlc2asc: Allow truth tables to be specified as init string.
...
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-11 15:54:51 -07:00
Tim 'mithro' Ansell
f2b90319f2
icebox: Fix driver detection for LUT cascade.
...
The lutff_X/lout is a driver signal.
2018-06-11 15:45:15 -07:00
Tim 'mithro' Ansell
f9c1f2e5b2
icebox: Fix LUT output code.
...
sig values where "1'b0" and "1'b1" not "0" or "1".
2018-06-11 13:46:52 -07:00
Clifford Wolf
92751d505a
Fix icebox_html -8 mode
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-10 17:57:52 +02:00
Clifford Wolf
d0c7fe5bfb
Fix routing description in icebox_html output
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-10 17:54:03 +02:00
Tim 'mithro' Ansell
eb9947d3da
Improve error message.
...
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-04 23:57:36 -07:00
Clifford Wolf
3021d8c1fb
Merge pull request #147 from mithro/hlc-fixes
...
Allow routing (bidir) entries to be looked up in either direction.
2018-06-01 17:02:25 +02:00
Tim 'mithro' Ansell
5965f4d1ab
Allow routing (bidir) entries to be looked up in either direction.
2018-06-01 07:56:29 -07:00
Clifford Wolf
d00a8578f0
Merge pull request #146 from mithro/hlc-fixes
...
Support both `abc/123` and `123` forms of specifying tracks.
2018-05-31 15:56:34 +02:00
Tim 'mithro' Ansell
dd55658266
Better error message when bit pattern is missing.
...
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-30 13:21:48 -07:00
Tim 'mithro' Ansell
f7e9fec63a
Allow prefixes in multiple chained statements.
...
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-30 13:05:20 -07:00
Tim 'mithro' Ansell
353a338505
Support both `abc/123` and `123` forms of specifying tracks.
...
Kind of fixes #145 .
2018-05-30 12:42:57 -07:00
David Shah
eee9aac2e1
icebox: Allow selecting package in icebox_vlog
...
Signed-off-by: David Shah <davey1576@gmail.com>
2018-05-30 11:24:40 +02:00
Clifford Wolf
51ae9e64f0
Merge pull request #139 from awygle/lm_icebox
...
Icebox support for ice40 LM
2018-05-13 20:55:43 +02:00
Clifford Wolf
1b22af089e
Extact reproducable chipdb-5k.txt
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-05-13 20:52:09 +02:00
Andrew Wygle
f967b53fe9
Add chipdb-lm4k.txt to .gitignore
2018-05-13 11:06:00 -07:00
Andrew Wygle
704348f563
Correct internal global buffers for lm4k
2018-05-13 11:00:40 -07:00
Andrew Wygle
a34ef88b8e
Added missing ieren entries for lm4k.
...
Config SPI pins weren't present in ioctrl_lm4k.sh
2018-05-13 11:00:26 -07:00
Andrew Wygle
6791402b08
Add lm4k chipdb to icebox Makefile.
2018-05-13 11:00:26 -07:00