| Age | Commit message (Collapse) | Author |
|
'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.
|
|
|
|
Allow parallel make all to build each subdir simultaneously
|
|
|
|
hlc: Use glb_network for current device.
|
|
Previously the 1k global networks were hard coded. This now uses the
values from the given part.
|
|
Update README to be clearer
|
|
icebox_hlc2asc: Allow data of ram to use verilog literal format
|
|
icebox_vlog: Better information about drivers for nets.
|
|
Fix spelling and io_X/GLOBAL_OUTPUT_NETWORK
|
|
icebox_vlog: Fix constant LUT output.
|
|
|
|
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']
```
|
|
The example doesn't work out of the box with the iCEblink40-lp1k board.
|
|
|
|
|
|
|
|
|
|
icebox_hcl2asc: select device class
|
|
|
|
|
|
icebox_hlc2asc: Set LUT bits to zero by default.
|
|
|
|
icebox_hlcsort: Adding a tool for canonicalizing HLC files.
|
|
icetime: Output where the chipdb should be found.
|
|
icebox: Fix issue introduced by f7e9fec63a3f88bee8c27e858da319ea03d68d14
|
|
This is done by sorting all the commands inside a block. Doing so makes
it much easier to diff two files.
|
|
Makes it easier to know where it can't be.
|
|
Current code fails with the following;
```
Parse error in line 94:
span4_y3_g15_6 -> local_g0_3 -> D_OUT_0
```
|
|
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
icebram: add option to specify seed for repeatable outcomes.
|
|
icebox_hlc2asc: Allow truth tables to be specified as init string.
|
|
Remove bidir stuff in HLC
|
|
icebox_hlc2asc: Accept device types such as HX1K
|
|
icetime: Lowercase the device type information.
|
|
icebox: Fix driver detection for LUT cascade.
|
|
icebox: Fix LUT output code.
|
|
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.
|
|
See ca6b2d9ebd521ecec58b9b5627c9380355adeab1.
|
|
|
|
Makes `-d HX1K` work as well as `-d hx1k`.
|
|
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
}
```
|
|
The lutff_X/lout is a driver signal.
|
|
sig values where "1'b0" and "1'b1" not "0" or "1".
|
|
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|
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
-----------------
|
|
|