aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add BaseArchRanges for default ArchRanges typesgatecat2021-02-095-49/+25
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #568 from YosysHQ/dave/arch-overridegatecat2021-02-0820-1145/+1334
|\ | | | | Create a new BaseArch that formally specifies the Arch API and provides some base implementations
| * Make BaseCtx destructor virtualgatecat2021-02-081-1/+1
| | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me>
| * Update docs with API changesD. Shah2021-02-081-21/+160
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * interchange: Base on ArchAPID. Shah2021-02-082-106/+135
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * Use 'T' postfix to disambiguate LHS and RHS of usingD. Shah2021-02-086-147/+153
| | | | | | | | | | | | | | Arches might otherwise have range types named ambigiously with the entry in ArchRanges. Signed-off-by: D. Shah <dave@ds0.me>
| * Add archArgs and archArgsToId to Arch APID. Shah2021-02-057-11/+27
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * gowin: Switch to BaseArchD. Shah2021-02-052-150/+107
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * generic: Base upon ArchAPID. Shah2021-02-051-102/+132
| | | | | | | | | | | | | | As generic is often picked as our 'odd-one-out' we also use it as an example of an Arch that does not build upon BaseArch. Signed-off-by: D. Shah <dave@ds0.me>
| * nexus: Switch to BaseArchD. Shah2021-02-055-301/+103
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * ice40: Switch to BaseArchD. Shah2021-02-055-182/+115
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * Add pure-virtual ArchAPI interfaceD. Shah2021-02-051-104/+198
| | | | | | | | | | | | | | | | | | This splits out the pure-virtual definition of the architecture API into ArchAPI; leaving BaseArch to only provide default implementations (which can now be completely opted out of by deriving from ArchAPI instead of BaseArch). Signed-off-by: D. Shah <dave@ds0.me>
| * Rename ArchBase to BaseArch for consistency with BaseCtxD. Shah2021-02-053-7/+7
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * Add default implementation of bel bucket functionsD. Shah2021-02-055-88/+94
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * Add default implementation of some range-returning functionsD. Shah2021-02-052-17/+27
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * Add a few more functions to ArchBaseD. Shah2021-02-052-11/+18
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * ecp5: Use common wire/pip bindingD. Shah2021-02-052-83/+7
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * Fix now-illegal use of reinterpret_castD. Shah2021-02-051-3/+5
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * nextpnr: Example of shared wire/bel/pip binding codeD. Shah2021-02-051-13/+106
| | | | | | | | | | | | Currently not actually being tested Signed-off-by: D. Shah <dave@ds0.me>
| * nextpnr: Use templates to specify range typesD. Shah2021-02-052-18/+67
| | | | | | | | Signed-off-by: D. Shah <dave@ds0.me>
| * nextpnr: Add base virtual functions for non-range Arch APID. Shah2021-02-052-84/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | This makes the Arch API clearer and also allows a base implementation of functions to reduce the amount of complexity to get a basic Arch up and running. Currently this only implements these for functions that don't return a range. Range-returning functions will require more work in order due to the current 'duck typing' approach (probably a struct that contains the range types combined with templating.) Signed-off-by: D. Shah <dave@ds0.me>
* | Update prjoxide URLD. Shah2021-02-082-4/+4
| | | | | | | | Signed-off-by: D. Shah <gatecat@ds0.me>
* | Merge pull request #572 from YosysHQ/dave/more-ssizeDavid Shah2021-02-084-23/+23
|\ \ | |/ |/| Use RelSlice::ssize instead of cast-to-int throughout
| * Use RelSlice::ssize instead of cast-to-int throughoutD. Shah2021-02-084-23/+23
|/ | | | Signed-off-by: D. Shah <dave@ds0.me>
* Merge pull request #567 from litghost/initial_fpga_interchangeDavid Shah2021-02-0515-2/+2582
|\ | | | | Initial FPGA interchange arch
| * Add RelSlice::ssize and use it when comparing with signed ints.Keith Rothman2021-02-053-27/+29
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Move all string data into BBA file.Keith Rothman2021-02-055-48901/+16
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Use RelSlice instead of RelPtr in cases where sizes are present.Keith Rothman2021-02-042-97/+67
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Update APIs to conform to style guide.Keith Rothman2021-02-045-67/+48939
| | | | | | | | | | | | | | - Change non-Arch methods to snake_case - Adds some utility functions to for accessing bel_data. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Remove unused method getReservedWireNet.Keith Rothman2021-02-041-7/+0
| | | | | | | | | | | | This was a holdover from the nextpnr-xilinx arch. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Update copywrite headers.Keith Rothman2021-02-048-4/+12
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Correct some typos.Keith Rothman2021-02-041-4/+4
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Fix warnings with signed/unsigned.Keith Rothman2021-02-041-1/+1
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Fix fpga_interchange/README.md duplicate patch statement.Keith Rothman2021-02-041-8/+0
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Fix URLs in Markdown.Keith Rothman2021-02-041-2/+2
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Add empty constids.inc for build.Keith Rothman2021-02-041-0/+0
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Run "make clangformat".Keith Rothman2021-02-044-148/+100
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Add README about initial state of FPGA interchange implementation.Keith Rothman2021-02-041-0/+170
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Update FPGA interchange to use IdStringList.Keith Rothman2021-02-042-132/+137
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Add initial GUI files.Keith Rothman2021-02-044-0/+96
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Start adding data for placement constraint solving.Keith Rothman2021-02-042-50/+43
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Debug BEL bucket data.Keith Rothman2021-02-041-11/+14
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Add initial updates to FPGA interchange arch for BEL buckets.Keith Rothman2021-02-045-0/+247
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Address review comments.Keith Rothman2021-02-043-95/+6
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Fix BBA import bugs.Keith Rothman2021-02-042-69/+201
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Assorted fixes to new FPGA interchange based arch.Keith Rothman2021-02-043-5/+13
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Initial compiling version.Keith Rothman2021-02-042-16/+25
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
| * Initial FPGA interchange (which is just a cut-down xilinx arch).Keith Rothman2021-02-0410-2/+2104
| | | | | | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* | Merge pull request #570 from litghost/make_id_string_list_explicitDavid Shah2021-02-0516-84/+91
|\ \ | | | | | | Mark IdString and IdStringList single argument constructors explicit.
| * | generic: Fix pin names accidentally being IdStringList not IdStringD. Shah2021-02-052-4/+4
| |/ | | | | | | Signed-off-by: D. Shah <dave@ds0.me>