Commit Graph

638 Commits

Author SHA1 Message Date
Larry Doolittle e0eaaf5b91 Spelling fixes in messages 2018-07-19 13:59:42 +02:00
Clifford Wolf 6528b96bec
Merge pull request #173 from osresearch/parallel-make
Allow parallel make all to build each subdir simultaneously
2018-07-17 13:44:04 +02:00
Trammell Hudson 1b1538deb4
Allow parallel make all to build each subdir simultaneously 2018-07-17 07:40:28 -04:00
Clifford Wolf 5aeb5c9b4d
Merge pull request #172 from mithro/hlc-glb
hlc: Use glb_network for current device.
2018-07-17 10:51:55 +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 6a1bd78687
Merge pull request #169 from mithro/patch-1
Update README to be clearer
2018-07-10 21:21:58 +02: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
Clifford Wolf 28d9f2f1ac
Merge pull request #170 from mithro/const-lut-out
icebox_vlog: Fix constant LUT output.
2018-07-10 21:19:38 +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
Tim Ansell 69d32b129b
Update README to be clearer
The example doesn't work out of the box with the iCEblink40-lp1k board.
2018-07-03 13:19:58 -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
Clifford Wolf 16a9962fb1
Merge pull request #162 from elmsfu/hcl2asc/error_messages_and_device_class
icebox_hcl2asc: select device class
2018-06-20 20:03:12 +02: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
Clifford Wolf f029975152
Merge pull request #161 from mithro/lut-bit-defaults
icebox_hlc2asc: Set LUT bits to zero by default.
2018-06-16 20:24:55 +02: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
Clifford Wolf 6596f00ae1
Merge pull request #155 from mithro/icetime-error
icetime: Output where the chipdb should be found.
2018-06-15 17:58:20 +02:00
Clifford Wolf 5c24da3d68
Merge pull request #159 from mithro/fix-fix
icebox: Fix issue introduced by f7e9fec63a
2018-06-15 17:57:27 +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 b1d0af7edd icetime: Output where the chipdb should be found.
Makes it easier to know where it can't be.
2018-06-14 17:31:32 -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 f23b1f212a Fix icetime for .asc files that do not contain all tiles
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-13 14:32:52 +02:00
Clifford Wolf bb0307a5ab
Merge pull request #149 from tomverbeure/seed
icebram: add option to specify seed for repeatable outcomes.
2018-06-13 13:46:18 +02: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 15e98223f4
Merge pull request #154 from mithro/icetime-args
icetime: Lowercase the device type information.
2018-06-13 13:38:24 +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
Clifford Wolf dd77a918da
Merge pull request #152 from mithro/vlog-fix
icebox: Fix LUT output code.
2018-06-13 13:36:55 +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
Tim 'mithro' Ansell dc5a4d9934 icetime: Lowercase the device type information.
Makes `-d HX1K` work as well as `-d hx1k`.
2018-06-11 15:59:19 -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
Clifford Wolf ca6b2d9ebd Fix "routing" vs "buffer" documentation
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-10 17:14:04 +02:00
Clifford Wolf 7bb3a5c565
Merge pull request #150 from mithro/better-error
Improve error message.
2018-06-05 17:10:00 +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
Tom Verbeure 4943748512 Remove rogue space 2018-06-02 19:10:51 -07:00
Tom Verbeure 8b32b75d56 Fix indentation 2018-06-02 19:07:16 -07:00