Commit Graph

459 Commits

Author SHA1 Message Date
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
Rick Altherr 2b34fbb35d xc7series: refactor Part()
ConfigurationFrameAddress row-half and row fields translate directly to
the clock region structure used in 7-series parts.  Break these concepts
out into separate classes and encode them as such in Part YAML.

Columns within a row are more complicated. Column indices are relative
to a BlockType. Think of each BlockType as a data bus that terminates at
some particular tile type (e.g. CLB_IO_CLK maps to INT_{L,R} tiles).
Column indices act as addresses of endpoints on the associated BlockType
bus.  As the bus is 1 frame (101 words, 404 bytes) wide, each endpoint
feeds frames into multiple tiles simultaneously.

Minor addresses are frame addresses within a BlockType bus endpoint.
These can refer to frames either stored within the endpoint tiles
or in tiles chained behind them.

Note that a given tile can be connected on multiple BlockType buses.
For example, block RAMs appear to be attached both by being chained
behind an INT_{L,R} on the CLB_IO_CLK bus as well as being a direct
endpoint on the BLOCK_RAM bus.  Due to this, tiles conceptually belong
to the row rather than a single column.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-10 14:28:23 -08:00
Rick Altherr 53d7f1f80b lib: xc7series: shorten accessor names
_address suffix on accessors is unnecessary and somewhat inaccurate.
The returned values are indices rather than frame addresses.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-10 14:28:17 -08:00
Rick Altherr 43e51dd5c1 Reformat existing Python files with yapf
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-09 14:50:06 -08:00
Rick Altherr 820c0a5d78 Use yapf instead of autopep8 for Python formatting
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-09 14:50:05 -08:00
Rick Altherr 67c7914a2c Revert "Autopep8 on all existing sources"
This reverts commit 925885c2cc.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-09 14:49:57 -08:00
Rick Altherr 17985d1934
Merge pull request #41 from kc8apf/code_format
Specify and enforce code style for C++ and Python
2018-01-09 11:40:57 -08:00
Rick Altherr fdea2b256d travis: Check for format errors
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-08 18:20:57 -08:00
Rick Altherr d14fc142df Makefile: target to format source code
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-08 17:23:42 -08:00
Rick Altherr 925885c2cc Autopep8 on all existing sources
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-08 17:23:42 -08:00
Rick Altherr d868317f9e Document Python dependencies
Uses a pip-compatible requirements file.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-08 17:14:27 -08:00
Rick Altherr 50d2521b33 Apply clang-format to all C++ files
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-08 17:14:27 -08:00
Rick Altherr c1676cb0f1 clang-format configuration
Based on Chromium style with the following changes:
- Tabs used for indentation
- Indentation is 8 characters

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-08 17:14:27 -08:00
Tim Ansell 68ac17a78a
Merge pull request #40 from SymbiFlow/tileconn
Add missing blacklist rules to tileconn fuzzer
2018-01-08 00:20:05 +00:00
Clifford Wolf d0c139ae35 Add missing blacklist rules to tileconn fuzzer
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-01-06 16:32:55 +01:00
Clifford Wolf ed8b8a79ef
Merge pull request #34 from SymbiFlow/tileconnloops
Add tileconnloops.py script
2018-01-06 11:51:59 +01:00
Clifford Wolf 365cebfe9d
Merge branch 'master' into tileconnloops 2018-01-06 11:47:59 +01:00
Rick Altherr 5f02bf54e8
Merge pull request #39 from kc8apf/travis_tool_builds
Travis config that builds C++ tools
2018-01-05 17:26:19 -08:00
Rick Altherr 57bb12b1df
Merge branch 'master' into travis_tool_builds 2018-01-05 17:22:55 -08:00
Rick Altherr 80801d2bfc Travis config that builds C++ tools
Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-05 17:14:19 -08:00
Tim Ansell da7758042e
Merge pull request #38 from mcmasterg/bram_makefile
bram minitest: fix broken makefile
2018-01-06 00:17:52 +00:00
John McMaster 9fed1b05d1
Merge branch 'master' into bram_makefile 2018-01-05 16:06:57 -08:00
John McMaster 35d48380cb bram minitest: fix broken makefile
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-05 16:06:28 -08:00
John McMaster c91bd8d6b8
Merge pull request #36 from mcmasterg/roi_harness_arty
roi_harness improvements
2018-01-05 15:35:39 -08:00
John McMaster d1ac9d415f
Merge branch 'master' into roi_harness_arty 2018-01-05 15:35:30 -08:00
Rick Altherr 2f062d1da3
Merge pull request #37 from kc8apf/7series_combined_tests
lib: combine 7series tests into a single target
2018-01-05 15:21:52 -08:00
Rick Altherr 1232caf648 lib: combine 7series tests into a single target
Reduces repitition in CMakeLists.txt.  Individiual tests can be selected
via gtest flags.

Signed-off-by: Rick Altherr <kc8apf@kc8apf.net>
2018-01-05 14:01:44 -08:00
John McMaster 83cb39d351 roi_harness: support Arty A7 switch, button, LED
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-05 13:38:54 -08:00
John McMaster b662f72bc3 roi_harness: parameter to spread out nets
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-05 13:38:54 -08:00
John McMaster df125e1b99 roi_harness: add CLK route to output metadata
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-05 13:38:54 -08:00
John McMaster dd8c326dcb roi_harness: write IOB pin names
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-05 13:38:54 -08:00
Clifford Wolf a93800c4d1
Merge pull request #35 from SymbiFlow/makerun
Fixes in fuzzers top-level Makefile, Update README
2018-01-05 22:35:35 +01:00
Clifford Wolf 89854a55e6
Merge branch 'master' into tileconnloops 2018-01-05 22:32:40 +01:00
Clifford Wolf a80b80c63d Fixes in fuzzers top-level Makefile, Update README
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-01-05 22:16:12 +01:00
Rick Altherr 00817c5319
Merge pull request #32 from kc8apf/test_bitreader_across_formats
Ensure parsing of normal, debug, and per-frame CRC bitstreams are equivalent
2018-01-05 09:40:26 -08:00
Rick Altherr 31203aaaa8
Merge branch 'master' into test_bitreader_across_formats 2018-01-05 09:40:19 -08:00
John McMaster f302671920
Merge pull request #33 from mcmasterg/roi_harness
roi_harness: I/O partial reconfiguration test harness
2018-01-05 09:38:04 -08:00
John McMaster 0d31795ef2
Merge branch 'master' into roi_harness 2018-01-05 09:37:54 -08:00
Clifford Wolf 5e66675c12 Add tileconnloops.py script
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-01-05 14:04:32 +01:00
Tim Ansell 7752bd6034
Merge pull request #30 from SymbiFlow/makerun
Add fuzzers "make run"
2018-01-05 10:33:03 +00:00
Clifford Wolf c6e97999b4
Merge branch 'master' into makerun 2018-01-05 11:25:40 +01:00
Clifford Wolf 409f4410c3
Merge pull request #31 from SymbiFlow/tileconn
Add tileconnwire.py utils script
2018-01-05 11:25:23 +01:00
John McMaster e148d2ac14 roi_harness: I/O partial reconfiguration test harness
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
2018-01-04 18:48:01 -08:00