Sequential Signal Declarations
Is your capability/feature request related to a problem?
Declare signals in sequential code and use attributes such as 'transaction in subprograms.
Using 'transaction in subprograms seems to be important.
Describe the solution you'd like
Need to complete examples
Example 1: Encapsulating an entire feature. In clocked process.
A) Parallel in serial out shift register
B) Variable delay element
Encapsulating subprograms with signal outputs. Application testbench procedures in which the delay is there already. Limitations: Signals need to be updated before read - hence, the procedure Will have a wait statement that allows the signal to update
Original Proposal
See http://www.eda-twiki.org/cgi-bin/view.cgi/P1076/SequentialSignal.
Copied here:
Proposal Editing Information Who Updates: JimLewis, , ... Date Proposed: 2012-08-19 Date Last Updated: 2012-08-19 Priority: Complexity: Focus: Testbench
Requirement Summary
Declarations of signals in subprograms and processes.
Chaining together transaction based subprograms that have signal IO. Signal as a local in a clocked process - flip-flop example.
Use Model:
Old use model here was incorrect and was removed
Questions
General Comments
14.7 Dynamic elaboration
...
NOTE 1—It is a consequence of these rules that declarative items appearing within the declarative part of a subprogram body are elaborated each time the corresponding subprogram is called; thus, successive elaborations of a given declarative item appearing in such a place may create items with different characteristics. For example, successive elaborations of the same subtype declaration appearing in a subprogram body may create subtypes with different constraints.
It doesn't seem possible to dynamically elaborate signals. It would be a terrible simulator complication to be able to add or remove signals and queues from an elaborated design model dynamically. A process statement (a procedure, not a function which is an expression) communicating to the process through signals requires a process statement that implies hierarchy (a block statement) and promotion of a sequential procedure statement to a concurrent procedure statement.. We already have under utilized block statements. This doesn't appear to be something VHDL needs to support and would require devolving such process statements into block statements and process statements for simulation, essentially expressing that level of hierarchy you're trying to imply but avoid.
-- DavidKoontz - 2014-12-04
Supporters
Add your signature here to indicate your support for the proposal
-- JimLewis - 2014-12-04
Against
-- DavidKoontz - 2014-12-04