Commit Graph

149 Commits

Author SHA1 Message Date
Austin Seipp 1c7f51ed60 scripts/icestorm: check circuit @ 62MHz
With arachne-pnr this circuit couldn't hit 60MHz, just barely under it.
OTOH, nextpnr hits about ~68 MHz. So let's set it somewhere inbetween to
make sure this is true over time!

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:49:37 -06:00
Austin Seipp af3b1bb75d scripts/icestorm: dedupe calls to yosys-config
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:49:18 -06:00
Austin Seipp 770b5bd4c6 scripts/icestorm: add readme
Notes about how to build proper simulation vs hardware bitstreams.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp 13a9edf122 scripts/icestorm: remove unneeded -lgcc
This freestanding firmware doesn't need anything from the supporting
toolchain.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp 2944564ba8 scripts/icestorm: move SHIFT_COUNTER_BITS into Makefile
This makes it easier to build separate bitstreams for simulation targets
vs the real bitstream for hardware, without editing any source code.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp 752790a4d7 scripts/icestorm: comments only
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp d711ce527e scripts/icestorm: add 'timing' target
This dumps a simple IceTime report for the bitstream; we fix the device
package to CT256, corresponding to the HX8K.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp 4900ebb693 scripts/icestorm: force -march=rv32i
The IceStorm example core doesn't include compressed instructions or the
MULT extension; it is an rv32i core, not rv32i[m|c]. If the given
riscv32 toolchain is not explicitly told to generate rv32i code for the
firmware, it may generate invalid instructions which cause a trap during
simulation or on the hardware itself (although CATCH_ILLINSN is set to
zero in this case, too).

Luckily, any rv32i* toolchain (rv32imc for example) can fit the bill
here -- there's no use of libgcc or anything (which might introduce
illegal instructions generated previously) so just forcing the compiler
to generate the right code works nicely.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp fc71cadda4 scripts/icestorm: switch to nextpnr-ice40
nextpnr-ice40 gives a better fMAX for this design (by about ~9Mhz for
me: ~59MHz -> ~68MHz) and is The Way Of The Future.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 16:09:07 -06:00
Austin Seipp 070367c88d scripts/icestorm: touch up Makefile a bit
This touches up the Makefile so that it:

  - uses $@, $< and $^ in more places for brevity and robustness (typo
    guards, etc)
  - tracks dependencies slightly better (e.g. .pcf file changes weren't
    tracked before)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-01-11 15:59:56 -06:00
Emilio Rojas d7daf9b2cd use 32 bit toolchain 2018-11-08 17:52:05 -06:00
Emilio Rojas 451bf030be update to current vivado version 2018-11-08 17:51:45 -06:00
Guy Hutchison 4e766af587 Renamed linker file 2018-10-18 20:52:46 +00:00
Guy Hutchison 5c0e137792 Removed dead code and cleanup before pull request 2018-10-18 20:51:40 +00:00
Guy Hutchison 73318eaeab Removed multiplier/divider 2018-10-18 20:33:40 +00:00
Guy Hutchison f47ac81c89 Passing with custom linker file 2018-10-18 18:47:06 +00:00
Larry Doolittle 8b32bc5bd6 Fix miscellaneous typos in documentation 2018-04-17 17:53:08 +02:00
Clifford Wolf f52f36762e Update riscv-gnu-toolchain to 1b80cbe
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-04-03 20:14:17 +02:00
Austin Seipp 77a6b2dd26 scripts/icestorm: use 'yosys-config' to find data directory
This fixes the icestorm script to query yosys-config itself for the
right data directory. Not only does this fix installs where yosys was
not installed into /usr/local, it also ensures Icarus picks up a data
directory consistent with the version of yosys that you're using.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-02-14 16:54:47 -06:00
Austin Seipp 2260d2ab8a scripts: remove old -m32 argument to riscv-gcc
See also 55da6c7cd1

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-02-14 16:54:47 -06:00
Clifford Wolf 31588b871e Update evaluation results to Vivado 2017.3 2017-10-21 02:54:19 +02:00
Clifford Wolf 9dbc96e330 Update vivado evaluations 2017-07-20 09:56:30 +02:00
Clifford Wolf 2bc93eb8d0 Fix scripts/torture gcc calls 2017-07-10 11:52:10 +02:00
Larry Doolittle c9de8001fe Remove some trailing whitespace 2017-06-13 13:22:25 +02:00
Clifford Wolf 42b4397390 Add scripts/presyn/ example 2017-02-09 15:15:46 +01:00
Clifford Wolf 4e6cad88bc Added riscv.ld linker script (static entry point at 0x10000) 2017-01-13 17:04:22 +01:00
Clifford Wolf ca5702c75f Fixed "make test_synth" 2016-12-15 13:11:26 +01:00
Clifford Wolf 9d6fdda1fa Added cpu?_trap signals to tracecmp3.v 2016-12-03 12:48:00 +01:00
Clifford Wolf 9c494af6e1 Removed old scripts/smt2-bmc/ 2016-12-03 12:28:36 +01:00
Clifford Wolf bc47b91260 Added tracecmp3 smtbmc script 2016-11-16 16:58:51 +01:00
Clifford Wolf 63af54702c Improved tomthumbtestgen 2016-10-24 16:53:34 +02:00
Clifford Wolf f79c8344fe Added scripts/tomthumbtestgen 2016-10-23 14:32:26 +02:00
Clifford Wolf 51b1a88333 Added smtbmc axicheck2, improved axicheck 2016-10-01 17:08:19 +02:00
Clifford Wolf a6f5bc4f05 Added smtbmc axicheck 2016-09-30 18:18:32 +02:00
Clifford Wolf 197b6ffe2b Just COMPRESSED_ISA is enough to trigger the bug 2016-09-14 10:51:09 +02:00
Clifford Wolf 702ce0eb79 tracecmp2 found a bug in this config 2016-09-13 18:36:56 +02:00
Clifford Wolf 096224273c Added scripts/smtbmc/tracecmp2 2016-09-13 13:37:26 +02:00
Clifford Wolf 0906b1b4b4 Merge pull request #18 from wallclimber21/quartus
./scripts/quartus
2016-08-31 17:21:23 +02:00
Tom Verbeure 35b0a592e2 Delete unusused file 2016-08-31 07:36:32 -07:00
Tom Verbeure 41918ee265 synth_speed 2016-08-30 23:02:31 -07:00
Tom Verbeure 91deccd3a1 Don't delete non-existing files 2016-08-30 22:56:31 -07:00
Tom Verbeure e7f5d640ca synth_system 2016-08-30 22:54:14 -07:00
Tom Verbeure 209456a6c8 synth_area_large and synth_area_regular 2016-08-30 22:36:06 -07:00
Tom Verbeure 36152a5688 Make synth_area_small work 2016-08-30 22:24:48 -07:00
Tom Verbeure 29e90e4dff Add QUARTUS_BIN prefix 2016-08-30 22:23:50 -07:00
Tom Verbeure 413a65e39a Increase countdown by 1 2016-08-30 08:08:10 -07:00
Clifford Wolf 8710809978 Using new yosys write_smt2 cmdline 2016-08-30 12:44:03 +02:00
Clifford Wolf cefe09b8d4 Minor fixes/cleanups in mul reset logic 2016-08-30 11:12:16 +02:00
Tom Verbeure 248560c18d table.txt generation works 2016-08-29 23:22:53 -07:00
Tom Verbeure 71a46afa79 Checkpoint: map, fit 2016-08-29 22:14:39 -07:00