| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | | |
The function now checks how long the extended JEDEC ID field is for the
particular FLASH chip and only reads the amount provided by the chip.
|
| | |
| | |
| | |
| | | |
I missed those the first time around.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Just calling a gpio function with two numbers was not very self
explanatory. The functions now refer to the actual indended action, chip
(de)select for flash, reset and chip (de)select for sram. Reading the
code and understanding what steps are taken should be easier now.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Main point was to group the code into three logical segments:
* MPSSE/FTDI defines and functions
* FLASH defines and functions
* iceprog implementation core
While I was at it I also added a few comments for stuff that was not
immediately obvious what it does.
|
|\ \
| | |
| | | |
Add 5k support to hlc2asc.
|
|/ /
| |
| |
| | |
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
|
|/
|
|
| |
Signed-off-by: Clifford Wolf <clifford@clifford.at>
|
|\
| |
| | |
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.
|
|\ \
| |/
|/| |
icetime: Remove non-existent paths from ce/sr to ltout
|
|/
|
|
| |
Signed-off-by: David Shah <davey1576@gmail.com>
|
| |
|
|\
| |
| | |
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
|
| |
| |
| | |
The example doesn't work out of the box with the iCEblink40-lp1k board.
|
|\ \
| | |
| | | |
icebox_hlc2asc: Allow data of ram to use verilog literal format
|
| |/ |
|
|\ \
| | |
| | | |
icebox_vlog: Better information about drivers for nets.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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']
```
|
| |/ |
|
|\ \
| | |
| | | |
Fix spelling and io_X/GLOBAL_OUTPUT_NETWORK
|
| | | |
|
| |/ |
|
|\ \
| |/
|/| |
icebox_vlog: Fix constant LUT output.
|
|/ |
|
|\
| |
| | |
icebox_hcl2asc: select device class
|
| | |
|
|/ |
|
|\
| |
| | |
icebox_hlc2asc: Set LUT bits to zero by default.
|
|/ |
|
|\
| |
| | |
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.
|
|\ \
| | |
| | | |
icetime: Output where the chipdb should be found.
|
| |/
| |
| |
| | |
Makes it easier to know where it can't be.
|
|\ \
| |/
|/| |
icebox: Fix issue introduced by f7e9fec63a3f88bee8c27e858da319ea03d68d14
|
|/
|
|
|
|
|
|
| |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
}
```
|
|\ \ \
| | | |
| | | | |
Remove bidir stuff in HLC
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \
| | | |
| | | | |
icebox_hlc2asc: Accept device types such as HX1K
|