Commit Graph

501 Commits

Author SHA1 Message Date
John McMaster 7110a67c55
Merge pull request #60 from mcmasterg/slice_x01
fasm: slice site name as 0/1 instead of global coordinate. Test cleanup
2018-01-23 15:27:21 -08:00
John McMaster e892576560 fasm: slice site name as 0/1 instead of global coordinate. Test cleanup
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-22 17:49:51 -08:00
Rick Altherr 79fa80c737
Merge pull request #55 from kc8apf/xc7patch
FASM and xc7patch proof of concept using partial reconfig flow
2018-01-22 16:10:49 -08:00
Rick Altherr b6f754dae7 Document how init_sequence and final_sequence offsets were determined.
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-22 15:26:17 -08:00
Rick Altherr 554cf549c4 Use .bit and .bin consistently
Xilinx uses .bit for bitstreams that include an additional header that
appears to carry some build information (tool version, date built, etc).
For bitstreams without that header, they use .bin.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-22 15:23:48 -08:00
Rick Altherr e139b98aca Ignore source files under .git/ during 'make format'
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-22 14:18:02 -08:00
Rick Altherr 425c96c10d minitest: FASM and xc7patch proof of concept using partial reconfig flow
Harness is implemented using Vivado's Partial Reconfiguration flow.  ROI
designs are generated from FASM and patched into the harness to create a
programmable bitstream.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-22 14:15:31 -08:00
Rick Altherr 86db6b6724 Tool to patch a 7-series bitstream
Applies a .frm file (lines of frame address: frame words) to a bitstream
and writes the result as a new bitstream.  Note that the new bitstream
will not include the initialization and finalization sequences required
for programming.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-22 14:15:31 -08:00
Rick Altherr 87d9538af9 Return zero-fill packets when reading bitstreams
Zero-fill packets are required in certain conditions to create valid
bitstreams.  When reading a bitstream, make sure they are yielded and
printed.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-22 14:15:30 -08:00
Rick Altherr c894e1f123 tools: support CLBLL_L in segprint2fasm and fasm2frame
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-22 14:15:27 -08:00
Rick Altherr b0604362e0 lib: xc7series: const all the Span<>s
Span<T> can be converted to a Span<const T> but the reverse is not true.
Since most of the uses of spans do not allow modification of the data,
taking a Span<const T> is more versatile and importantly allows them to
be used in const methods.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-22 14:15:13 -08:00
Clifford Wolf 84d09c833e
Merge pull request #54 from SymbiFlow/simpleroute.py
Add simpleroute.py tool for routing signals through ROI
2018-01-22 19:50:54 +01:00
Clifford Wolf b0b7ec0c06 Run "make format"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-01-22 19:46:45 +01:00
Clifford Wolf 98d2cd0945 Improve simpleroute debug output
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-01-20 20:52:11 +01:00
Clifford Wolf b98a4abf1e Add simpleroute.py tool for routing signals through ROI
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-01-20 18:15:56 +01:00
Rick Altherr 19b73fe296
Merge pull request #53 from mcmasterg/roi_xdc
Roi xdc
2018-01-19 14:25:10 -08:00
John McMaster 2015f4cb62 roi_harness: remove top.v test
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-19 14:09:24 -08:00
John McMaster 5b0a1f7cb5 roi_harness: example clk hack
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-19 14:03:31 -08:00
John McMaster b6ae50b718 roi_harness: preserve contraints between harness and sub-project
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-19 14:03:13 -08:00
Rick Altherr c38907cd73
Merge pull request #52 from mcmasterg/roi_harness
Roi harness
2018-01-18 20:33:07 -08:00
John McMaster 4237ed0898 roi_harness: generate .frm file
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-18 20:25:42 -08:00
John McMaster 7ae7b0c16c roi_harness: misc fixes
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-18 20:14:33 -08:00
John McMaster 169a822865 roi_harness: basys3 pins to allow partgen
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-18 20:07:42 -08:00
John McMaster 4657677aad roi_harness: inverted LED/switch example
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-18 19:12:38 -08:00
John McMaster 4b2c424e97 roi_harness: output dir per configuration
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-18 19:07:03 -08:00
John McMaster a39e1bca78 roi_harness: basys3 support, separate top.v into harness and ROI .v files
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-18 18:05:36 -08:00
Rick Altherr d587030ea5
Merge pull request #51 from mcmasterg/segprint2fasm
Segprint2fasm
2018-01-18 16:56:51 -08:00
Rick Altherr 6732bccec0
Merge pull request #50 from mcmasterg/fasm2frame
Fasm2frame
2018-01-18 16:56:39 -08:00
John McMaster 8c2e8ad1ea segprint2fasm: test suite
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-18 13:06:24 -08:00
John McMaster 58e84a20d2 segprint2fasm: baseline utility
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-18 13:05:36 -08:00
John McMaster 764ff74100 fasm2frame: stdin/stdout files by default
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-18 13:05:30 -08:00
John McMaster e995034158 fasm2frame FPGA assembler tool. Remove minitest rel path
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-18 10:58:19 -08:00
John McMaster b5960c9b55
Merge pull request #47 from mcmasterg/bit_write
Bitstream writer utility class
2018-01-17 15:56:16 -08:00
John McMaster 68d98f929c
Merge branch 'master' into bit_write 2018-01-17 15:21:51 -08:00
John McMaster e5df3ca564
Merge pull request #49 from mcmasterg/minitest_flatten_h
minitests: flatten hiearchy
2018-01-17 15:21:38 -08:00
John McMaster dab52e90ba
Merge branch 'master' into bit_write 2018-01-17 15:07:04 -08:00
John McMaster fe49ac6cee bitstream writer utility class
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-17 15:06:12 -08:00
John McMaster e7b14ecca7
Merge branch 'master' into minitest_flatten_h 2018-01-17 14:59:01 -08:00
Rick Altherr 90fdd44e08
Merge pull request #48 from kc8apf/packet_generator
lib: xc7series: generate packets from a Configuration
2018-01-17 14:54:36 -08:00
John McMaster 8c9659f197 minitests: flatten hiearchy
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-17 14:42:08 -08:00
Rick Altherr 012494552d lib: xc7series: generate packets from a Configuration
ConfigurationPacketizer translates a Configuration's frame data to a
sequence of ConfigurationPackets that will write that configuration to
the configuration's Part.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-17 11:20:06 -08:00
Rick Altherr 5749352937 lib: xc7series: convience constructor for Configuration
Configuration's original constructor expects Span<uint32_t>s as part of
the map to avoid copying the actual frame data.  In tests or any other
place that needs to directly construct a Configuration, the caller will
already have a map with vector<uint32_t> to hold the actual frame data.
This new constructor just wraps those vectors in Spans.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-16 16:11:08 -08:00
Rick Altherr 850539927f
Merge pull request #42 from kc8apf/disable_tests_by_default
Fix default build settings
2018-01-12 12:09:53 -08:00
Rick Altherr 02d28f2920 Document how to enable test and build with debug info
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-12 11:48:11 -08:00
Rick Altherr 0910ac07a2 Use CMake build types to set optimization level
CMake has reasonable defaults for Debug and Release builds but the build
type isn't specified by default. That led to me adding explicit flags.
Remove those flags and default to using Release builds.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-12 11:48:11 -08:00
Rick Altherr f413656912 Disable tests by default
No need to spend time building all the tests unless you specifically
want them.  To build them, run 'cmake -DPRJXRAY_BUILD_TESTING=ON ..' in
the build directory.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-12 11:48:11 -08:00
Rick Altherr 908c32adaf
Merge pull request #44 from kc8apf/part_refactor
xc7series: refactor Part()
2018-01-12 10:57:43 -08:00
Rick Altherr 9cec0d5832
Merge branch 'master' into part_refactor 2018-01-12 10:49:19 -08:00
Rick Altherr 667ba2f5ea
Merge pull request #43 from kc8apf/use_yapf
Use yapf instead of autopep8 for Python formatting
2018-01-12 10:18:20 -08:00
Rick Altherr 2da520bea3 Remove unused ConfigurationFrameRange
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-10 14:28:30 -08:00