TWiki
>
P1076/Ballots Web
>
Vhdl2019CollectedRequirements
>
ExternalNameTypes
(2020-02-17,
JimLewis
)
(raw view)
E
dit
A
ttach
---+ External Names for Types %TOC% ---++ Proposal Information * Current Owner: JimLewis, ... * Contributors: JimLewis, ... * Date Proposed: 2014-May-26 * Date Last Updated: 2014-May-26 * Priority: * Complexity: * Focus: Testbench * Related Issues: None * Competing Issues: None ---++ Requirement Summary Create external names to types. ---++ Rationale For a testbench to do actions based on the state of a statemachine requires knowledge type. Unfortunately the type is most often defined within the RTL code itself. As a result, there is currently no way to access it. ---++ Proposal Extend external_name to include external_type_name: <pre>external_name ::= external_constant_name | external_signal_name | external_variable_name | external_type_name </pre> Define external_type_name as: <pre>external_type_name ::= <> </pre> ---++ Usage: In some RTL block: <pre>architecture rtl of block1 is type RingType is (S0, S1, S2, S3) ; begin ... </pre> In a testbench block: <pre>architecture Test1 of Testbench is alias RingType is <<type .Testbench.U_RTL_TOP.Block1.RingType>>; ... begin </pre> In a package: <pre>package TbPkg is alias RingType is <<type .Testbench.U_RTL_TOP.Block1.RingType>>; ... end package TbPkg ; </pre> ---++ Alternative Proposal Directly reference into the entity - similar to a package and not similar to an elaborated path. Needs syntax work, example only for concepts:<br /> <pre>package TbPkg is alias RingType is EntityName.ArchName.RingType ; ... end package TbPkg ; </pre> Would create a compile dependency. ---++ Comments -- Main.LievenLemiengre - 2015-06-04 From a compiler POV this is _extremely_ hard. You would have to do elaboration during type resolving. ---++ Supporters Main.JimLewis -- Main.RyanHinton - 2014-06-18 -- [[Main.BrentHahoe][Brent Hayhoe]] - 2014-06-19 -- Main.TorstenMeissner - 2016-05-18
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r8
<
r7
<
r6
<
r5
<
r4
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r8 - 2020-02-17 - 15:34:53 -
JimLewis
P1076/Ballots
Log In
or
Register
P1076/Ballots Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
Main
P1076
Ballots
LCS2016_080
P10761
P1647
P16661
P1685
P1734
P1735
P1778
P1800
P1801
Sandbox
TWiki
VIP
VerilogAMS
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback