-
Notifications
You must be signed in to change notification settings - Fork 35
[WIP] Implement a VHDL backend #122
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
Draft
rlee287
wants to merge
100
commits into
ghdl:master
Choose a base branch
from
rlee287:vhdl_backend
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 2 commits
Commits
Show all changes
100 commits
Select commit
Hold shift + click to select a range
e8f73b6
Copy the verilog backend as vhdl_backend.cc
rlee287 0bca471
Replace the copyright header with one styled after the ghdl.cc header
rlee287 6bedabe
Initial labelling of functions as needing porting or not, subject to …
rlee287 7346b71
Update Makefiles to build the new backend as well
rlee287 ac43d36
Write VHDL header imports and adjust the autogenerated header comment
rlee287 7b08be4
Remove useless '\n' terminator argument from dump_attributes
rlee287 1c8e4cc
Use log_experimental to log the fact that the VHDL backend is experim…
rlee287 004a03e
Mark dump_attributes as PORTING REQUIRED again
rlee287 698fa75
Implement dump_constant and remove decimal option
rlee287 a4e4c1c
Merge branch 'master' into vhdl_backend
rlee287 14b618c
Port range identifiers in dump_sigchunk
rlee287 cac7e92
Port vector concatenation in dump_sigspec
rlee287 a6c0fdd
Remove #if 0 section of dump_wire
rlee287 3fe06c7
Port dump_memory function
rlee287 4f56439
Port dump_conn
rlee287 d128c86
Replace keyword list in `id` with VHDL keywords
rlee287 6e1b43d
Port dump_cell_expr_uniop and dump_cell_expr_binop
rlee287 826226b
Replace $signed with signed in dump_cell_expr_port
rlee287 29c63ab
Merge branch 'master' into vhdl_backend
rlee287 9e1f859
Port syntax gen of is_reg_wire
rlee287 ee90888
Port dump_reg_init
rlee287 5b7c9e6
Label dump_reg_init as needing testing
rlee287 dad6896
Port range syntax of dump_wire (port dump still need adjusting)
rlee287 ee5c01c
Initial pass of porting dump_cell_expr
rlee287 b3e271f
Wrap uniop and binop operators in casts when doing arithmetic operation
rlee287 38472f6
Adjustments to autogenerated IDs to ensure numbered internal signals …
rlee287 7103321
Avoid wrapping constants with signed/unsigned conversion functions
rlee287 81989ce
Set default autoprefix of 'n' and enforce nonempty prefix
rlee287 6e8b878
Update dump_cell_expr_(uni/bin)op for dump_cell_expr_port changes
rlee287 a14cf54
Adjust dump_const to use single quote STD_LOGIC for 1-wide constants
rlee287 9f79c7d
Add warning about 1-length vectors to help string
rlee287 402c7f9
Initial port of module dumping
rlee287 46626fd
Port bit selection of cellname
rlee287 014f000
Write function to get a sensitivity set given SigSpecs
rlee287 9c31e5b
Address Xiretza's review comment
rlee287 7de3d2b
Copy over $divfloor and $modfloor updates from Yosys
rlee287 474302b
Merge branch 'master' into vhdl_backend
rlee287 af3a5b7
Add get_sensitivity_list signature using initializer_list
rlee287 c31fc4a
Remove extraneous space before operator in dump_cell_expr_uniop
rlee287 78cc811
Adjust warnings about signals being 1 wide
rlee287 83c2768
First pass at porting $pmux
rlee287 8529d14
Fix $pmux dump to use onehot strings instead of aggregates
rlee287 d7c10fc
Escape ivar_ id's that are incoming as well
rlee287 3865d76
Properly port $eq and related
rlee287 a5e59d0
Fix capitalization of X and Z states in constants
rlee287 9cff95b
For hex consts, push '0's and include width when needed
rlee287 ad5bbc7
Adjustments to some UNIOPs
rlee287 6920990
Remove std::set argument version of get_setnsitivity_set
rlee287 e30fb17
Print error if dump_wire is called on a port
rlee287 ff18f66
Remove outdated TODOs and adjust comments
rlee287 9a76111
Split the reg-finding part of dump_process into different function
rlee287 e2259fb
Replace YS_OVERRIDE macros with override keyword
rlee287 6118676
Part 1 of porting new FF changes
rlee287 157e8b3
Misc comments and tidying up
rlee287 6738129
Make memory_array_types a regular (sorted) set
rlee287 1f9b1b6
Ignore dump_wire on port instead of raising error
rlee287 f2575f2
Minor adjustments to PSL cell generation
rlee287 6e90b3d
Dump $assert cells as regular VHDL assert
rlee287 890084e
Apply unary or to $logic_not when required
rlee287 3f9cd3a
Write get_sensitivity_set that takes std::set
rlee287 0d23d58
Copy over new dumping code and port clocked FF portions of it
rlee287 98507ff
When dumping a PSL cover statement, use a Sequence (Braced-SERE)
rlee287 a319f1a
Port latch generation code as well
rlee287 ef2aea4
Remove obsolete commented-out code for dumping FFs
rlee287 793e1ab
Merge branch 'master' into vhdl_backend
rlee287 f6a24ef
Remove defparam option
rlee287 f844b44
Copy a change from the Verilog backend
rlee287 cf1341f
Create std08 command line option
rlee287 1e2dd13
VHDL-93 compliant hex constants when -std08 not specified
rlee287 1cd293d
More updates on dumping FFs
rlee287 e014176
More UNIOP handling
rlee287 95e3d1d
Remove spacing between chunk name and chunk range
rlee287 3b039c3
Replace "unclocked assertions" warning with "unclocked directives"
rlee287 506cc97
Rename dump_memory to dump_memory_types
rlee287 2f9d312
Merge branch 'master' into vhdl_backend
rlee287 61f9b1f
Include GHDL plugin version in generated VHDL output
rlee287 626a4c0
Improve handling of $assert and friends
rlee287 cac3f48
Update various comments in VHDL backend code
rlee287 613f282
Adjust emitting of ?= and write explanatory comments
rlee287 14e9562
Port over Mem helper changes from Verilog backend
rlee287 ea00e7b
Port simple_lhs change from Verilog backend
rlee287 c25d2ab
Replace -simple-lhs with -nosimple-lhs and only allow this in VHDL-20…
rlee287 b7967d4
Put parentheses around output of dump_cell_expr_port in case concaten…
rlee287 fcc110f
Fix lingering assignment = in post-synth cell expr dumping
rlee287 4070425
Propagate LHS concatenation mode to various cell_expr dumps
rlee287 94fec4e
Fix mult18x18d component to match yosys verilog
JulianKemmerer d7a9032
Fix a series of bugs in FF dumping code
rlee287 ff3be34
Write a process_sensitivity_str helper and use it for process sensiti…
rlee287 e13584c
Merge branch 'master' into vhdl_backend
rlee287 6111230
Merge branch 'master' into vhdl_backend
rlee287 0c6ea58
Slight adjustments to formal cell dumping
rlee287 f1b5e3c
Mark dump_memory_types as porting complete
rlee287 ad14b39
Initial (believed working) port of $lut cell dumping
rlee287 52d1a02
Log warning when emitting VHDL-2008 LHS aggregates
rlee287 38763f2
Fix more FF bugs by rewriting synchronous signal portion
rlee287 e6b31e2
Avoid requiring VERSION macro and print "unknown version" if macro is…
rlee287 32251b2
Update some comments, including an archive source for a (now dead) link
rlee287 e60aa70
Merge branch 'master' into vhdl_backend
rlee287 1bd4855
Merge branch 'master' into vhdl_backend
rlee287 5b24da4
Merge branch 'master' into vhdl_backend
rlee287 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.