-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Import background & philosophy information into the documentation. #39
base: main
Are you sure you want to change the base?
Conversation
To make sure everyone is on the same page, I would like to make sure this work gets reviewed and eventually approved by;
|
@duck2 - You might find this interesting. |
@vaughnbetz - You might find this interesting. |
@nelsobe - You might find this interesting. |
@andrewb1999 - You might find this interesting. |
A lot of this is based on the initial stuff documented in the Google Doc at https://interchange.vtr.tools Signed-off-by: Tim 'mithro' Ansell <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. discovered some possible typos below.
The preferred on disk formats for the interchange format are; | ||
|
||
* (a) Binary Machine readable format - **Cap'n'Proto** | ||
* (b) Text based human readable format - **XML** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's worth noting that we don't actually have any XML support at all atm, and seem to be preferring YAML for human readable/writeable stuff like the constraint/LUT patches for xc7, so far
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps it is worth mentioning that one of the original motivations of having both a binary and text based format were to provide the need for speed/space efficiency and debuggability. Binary has much better speed and data compaction properties whereas text enables powerful checks (such as diff).
The most readable/debugging-useful text format would probably be something custom, however that introduces additional overhead of building custom parsers/deparsers for each language. The ecosystem of tooling that already exists around YAML, XML and JSON is I think one of the primary motivators for their selection.
Co-authored-by: Alessandro Comodi <[email protected]> Co-authored-by: gatecat <[email protected]>
This pull request aims to pull a lot of the "higher level" background information around the interchange format.
This was discussed by myself, @litghost and @clavin-xlnx a long time ago and a bunch of it written down in places like the Google Doc at https://interchange.vtr.tools (however some stuff in that document is obsolete / out of date).
As @litghost has moved onto other projects and other people are now working on more low level stuff like the timing annotation, it is a good time to get this stuff written down before it gets forgotten or lost.
My goal is that after all the useful content from the Google Doc is imported, we can delete that document.