ISAC: Minutes from meeting on 23 November 2004

From: Chuck Swart <cswart@model.com>
Date: Wed Dec 01 2004 - 14:47:05 PST

Enclosed are
1. The minutes--Review for action items.
NOTE: please let me know if the next scheduled meeting day/time is OK

2. Active IR list.

3. IR 2004.

Please vote on this IR. The proposal is that it be ISAC approved.
No one seems too excited about the proposed solution ("no change")
but it seems to be the most practical. If you have other suggestions,
let me know, and we'll reopen the discussion.

I should mention that I tried to look up shift instructions for several
architectures. Many do not have SLA instructions.
Intel and AMD 32 bit architectures state that SLA is identical to SLL
One local expert claims that a SLA should overflow if and of the shifted
left bits
change value from the final left bit.

Chuck Swart

Minutes of ISAC meeting held via telecom on
23 November 2004.

Present: Peter Ashenden, Jim Lewis, Larry Soule, Chuck Swart
Absent: Deepak Pant, Ajay Varikat

Next Meeting: Thursday 09 December 2004 7pm Pacific Time.
Note: Please let me (Chuck) know if this day is OK.

TOPIC: IR2047 Backslash in extended identifiers

Peter's analysis is accepted. ISAC-Approved

ACTION: Chuck to forward to VASG chair.

TOPIC: IR2000 Where may/must deferred constant declaration appear

Ajay's suggestion to add the word "anywhere" to the suggested wording
was accepted. ISAC-Approved.

ACTION: Chuck to forward to VASG chair.

TOPIC: IR2008 Source value of undriven, non-sourced INOUT, OUT or BUFFER port

It was agreed that appropriate comments should be added to both
sections 4.3.2 and 12.6.2.

ACTION: Peter to update (done)
Chuck: submit for electronic vote.
ALL: Vote electronically on this issue.

TOPIC: IR2040 Problems with OTHERS in aggregates

Ajay's analysis was discussed. An outside reviewer commented that
and aggregate doesn't have an "index subtype" but, instead, and
"index range." This misnaming occurs in many places in the LRM, particularly
in section 7.3.2.2. Other sections which should be examined include
3.2.1 array types
3.2.1.1 index constraints

ACTION: Chuck to update IR to reflect this. Chuck to consult with
Ajay on this.

TOPIC: IR2004 Definition of SLA doesn't make sense

The example which was submitted will be clearer if
  1 sla 1 == 3
is replaced by bit vector equivalents.

There was discussion about how other representations were overloading
SLA. The general consensus (Chuck believes) is that the current LRM
wording is as good as any, so backward compatibility issues dictate that
no changes be made.

ACTION: Chuck to update IR and to submit for electronic vote.
ALL: vote on this IR.

TOPIC: IR2009 New std package, containing compiler and target identification information

This topic need to be addressed by the VHDL200x environment group.

ACTION: Chuck to forward to VASG chair.

TOPIC: IR2010 The description of type/subtype relationship could be better

Peter's analysis was accepted.

ACTION: Chuck to submit for electronic vote.
ALL: Vote on this IR.

TOPIC: IR2011 A package body should be able to consist of several files

The submitter's issue is unclear, but the request itself should be forwarded
to the Modeling and Productivity group.

ACTION: Chuck to submit for electronic vote.
ALL: Vote on this IR.

TOPIC: IR2012 VHDL lacks inherent statements to describe the most basic hardware design equations

This request should be forwarded to the Modeling and Productivity group.

ACTION: Chuck to submit for electronic vote.
ALL: Vote on this IR.

TOPIC: IR2013 Exact subtype "matching" for port associations

This IR touches on a very difficult issue--that of signals as subprogram
parameters. Chuck will collect information relevant to this topic.

ACTION: Chuck to gather "pre-analysis" information.

TOPIC: IR2014 Allowance of the keyword "all" in place of a sensitivity list is desirable

This is FT-19.

ACTION: Chuck to submit for electronic vote.
ALL: Vote on this IR.

Active IRs:

No Status Responsible Description Notes
Summary
2004 Analyzed Chuck Definition of SLA doesn't make sense
2008 Analyzed Peter Source value of undriven, non-sourced INOUT, OUT or BUFFER port
2010 Analyzed Peter The description of type/subtype relationship could be better
2011 Analyzed Peter A package body should be able to consist of several files
2012 Analyzed Peter VHDL lacks inherent statements to describe the most basic hardware design equations
2013 Submitted Exact subtype "matching" for port associations
2014 Analyzed Peter Allowance of the keyword "all" in place of a sensitivity list is desirable
2015 Analyzed Peter Generics should be able to incorporate other generics
2018 Analyzed Peter Variable IN parameter should be no different than constant
2019 Analyzed Peter Reading outputs from within architecture
2020 Analyzed Peter keyword REPORT is over-used
2021 Analyzed Peter Dynamic hardware construct
2022 Submitted Elements of constant composite to be locally static
2023 Analyzed Peter Add predefined array types for integer, boolean, real and time
2024 Analyzed Peter VHDL needs encryption support
2025 Analyzed Peter "Generate" for sequential code
2026 Analyzed Peter Upward propagating parameters
2028 Analyzed Peter Clarify simulation cycle.
2038 Submitted Minor semantic errors
2040 Analyzed Ajay Problems with OTHERS in aggregates
2041 Analyzed Chuck Association of members is too restricted
2042 Analyzed Peter Architecture as a block causes problems
2043 Submitted Deepak? Numeric VALUE attribute parameter can't have sign
2044 Analyzed Chuck Deprecation of linkage ports affects boundary scan description language

Recent Inactive IRs
1044 ISAC-Approved Definition of 'HIGH and 'LOW in a null range
2000 ISAC-Approved Where may/must deferred constant declaration appear
2001 ISAC-Approved Resize not working in numeric_std.vhd (1076.3
2002 ISAC-Approved Resize(R.2) function in numeric_std.vhd does improper array length check
2003 Forwarded Specification of multi-cycle paths
2005 Duplicate sla operator behavior does not match typical hardware behavior
2006 Forwarded "else" in "if generate"?
2007 Forwarded VHDL needs to be enhanced to allow the modeling of switches.
2009 Forwarded New std package, containing compiler and target identification information
2016 Duplicate Allowance of the keyword "all" in place of a sensitivity list is desirable
2017 Duplicate Generics should be able to incorporate other generics
2027 Forwarded When loop index is static, drivers are created for each element of array
2029 ISAC-Approved Non-relevant words and paragraph.
2030 ISAC-Approved What signature does a method have
2031 ISAC-Approved "mod" function needed for TIME
2032 ISAC-Approved Function "now" is not pure
2033 Forwarded Incremental operator and auto subtype boundary wrap
2034 Forwarded Introduce history attribute on signals to auto infer registers
2035 Forwarded new function "stages" automates pipelining
2036 ISAC-Approved protected_type_declarative_item includes subprogram_specification
2037 ISAC-Approved Typo wrt now in the index
2039 ISAC-Approved Minor typos
2045 ISAC-Approved Add the ability to comment an entire block of code
2046 Forwarded Type independent ports and subprogram parameters
2047 ISAC-Approved Backslash in extended identifiers

VHDL Issue Number: 2004

Language_Version: VHDL-2002
Classification: Language Definition Problem
Summary: Definition of SLA doesn't make sense
Relevant_LRM_Sections: 7.2.3
Related_Issues:
Key_Words_and_Phrases: SLA
Authors_Name: Paul Graham
Authors_Phone_Number:
Authors_Fax_Number:
Authors_Email_Address: pgraham@cadence.com
Authors_Affiliation:
Authors_Address1:
Authors_Address2:
Authors_Address3:

Current Status: Submitted

Superseded By:

------------------------
Date Submitted: 04 August 2000
Date Analyzed: 28 October 2004
Author of Analysis: Chuck Swart
Revision Number: 2
Date Last Revised: 05 November 2004

Description of Problem
----------------------

The definition of sla in the 1993 LRM is kind of weird. It basically
preserves the parity bit of the left input, so that, for bit vectors:

    "001" sla 1 evaluates to "011"

which might be interpreted as

    1 sla 1 == 3

etc. I have never seen a computer opcode which implements this
function, though sll, srl, and sra opcodes are ubiquitous. ?

Proposed Resolution
-------------------

Why not just define sla to be the same as sll (as in Verilog)

VASG-ISAC Analysis & Rationale
------------------------------

The SLA operator was added to provide a symmetric set of left and
right shift operators. As currently defined, these operators make no
assumptions about whether the left bit of a bit vector or the right
bit is signed. Notice that these operators are only defined for
vectors of type bit or of type boolean. The intent is that all shift
operators can be overloaded to achieve any desired semantic
interpretation.

VASG-ISAC Recommendation for IEEE Std 1076-2002
-----------------------------------------------

No change is needed for the current version.

VASG-ISAC Recommendation for Future Revisions
---------------------------------------------

No change is needed for future versions. However, there are currently
attempts to extend the shift operators to a larger class of types. If
these extended definitions treat the predefined SLA operator for these
types in a different way than the existing LRM states, then there will
be a conflict between the need for uniform semantics for the
predefined operators and the requirement for backward compatibility.
Received on Wed Dec 1 14:47:39 2004

This archive was generated by hypermail 2.1.8 : Wed Dec 01 2004 - 14:47:40 PST