WIP: code generation for minion SoC#8
Conversation
|
Well, this is interesting and potentially can be very useful. Would it be possible that you can adopt the device tree like format in this jason file? See the jason file generated by github.com/freechipsproject/rocket-chip |
|
Thanks for prototyping this Nik. Hi Wei, could you please paste an example rocket-generated JSON file to gist.github.com or similar? |
|
I cant think of any issues with adopting a different format. As Alex said if you can share an example JSON file so I would take a closer look. One of the configuration options I would like to have is to generate a minion SoC with multiple different cores. It would be possible to define the different cores from the device tree? |
|
The jason file generated is a little bit ugly but for machine to read, who cares. A more readable format is the device tree: |
|
The minion generator either read a specific part of this jason or the Chisel can generate a partial jason for minions. Device tree definitely can express heterogeneous multicore systems. However, express the configuration to the Rocket-chip and produce the right json and hardware interface need magic. |
|
A pretty-printed form of the above JSON is included below. Ensuring we can represent the information needed by Rocket-chip is definitely a design goal. We have flexibility to use a different JSON format if desired, as long as this information can be extracted. The JSON format used in this pull request is somewhat higher level, which had advantages and disadvantages. Nik: documentation on GSoC work and developing the other WIP pull requests is higher priority than experimenting with the JSON format here I think. |
Code generation for the minion SoC. The generator reads the configuration from a json file and creates the minion_soc.sv with the peripherals defined from the configuration.
Using python and jinja2 for the templating engine.
ToDo:
testing
whitespace issue