Comments (4)
I have thought a lot about this too, and I don't think it's feasible to do it totally generic. The goal has instead been to make the system as light-weight as possible. Unfortunately we aren't really there yet. Some systems have a lot of `ifdef code to make it slightly configurable, but I'm working on removing this as it makes the systems pretty messy instead. It gets increasingly more complicated as there currently isn't any way to bring in just a subset of the constraints, which means that all constraints has to be valid for all combinations.
In the future, I hope to push some of the boring tasks, such as connecting the top-level cores into the IP-XACT domain. That will make it a bit faster to create new variants of a SoC for a board. For the OpenRISC systems also, I have thought of making a basic core containing CPU+UART+GPIO+and possibly something more such as a SPI controller, and just having board-specific cores depend on this. From what I understand, this is quite similar to your approach.
For now, I quite like the method used here https://github.com/andrzej-r/orpsoc-cores/tree/nexys4ddr/systems/nexys4ddr to have a collection of board-specific cores, that can be used by several systems using this board.
from fusesoc.
Yes, I have picked this style up now and extended it a bit to encapsulate everything board-specific in one core that is then sourced by the system.
from fusesoc.
Okay, I drafted it a bit here: https://github.com/wallento/fusesoc_cores
The "board abstraction module" arty
contains all core-specific stuff, there will be a mor1kx-soc
as the SoC toplevel (wip). In mor1kx-arty
it is more or less just some wires and tie-offs. I will play this through for a few board.
Note: Testing this requires #93 and #92
from fusesoc.
This is something that can be done with fusesoc, I would not address it for now by some special types or so.
from fusesoc.
Related Issues (20)
- Builtin fusesoc parsing cores tree command HOT 1
- Feature request: ability to control arguments to Generators HOT 2
- Modelsim with Cocotb [new flow] HOT 2
- Question: Different cores from the same provider HOT 1
- Question: `env` section problem. HOT 3
- Invalid choice: 'migrate-capi1-to-capi2' HOT 1
- Setting vivado parameters using core file HOT 1
- Generator instance that depends on other cores HOT 8
- Bugs of flags only with numeric
- Librarys from git
- fusesoc is not working for tool=QuestaSim in Linux RedHat. HOT 2
- Reseting cache HOT 2
- script order with conditional statements
- Using multiple revisions of the same library in a project
- Is there any way to pass a *value* to an `Edatool`'s`tool_options` attribute via the command line HOT 2
- Fusesoc yosys target creates fusesoc error and a partially complete Makefile
- Variables in script arguments HOT 1
- Dependencies and target-specific files HOT 2
- provide schema as json
- What is the file_type for SDF file HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fusesoc.