BTF - $readmem args incorrect

From: Tom Fitzpatrick (tfitz@cadence.com)
Date: Wed Nov 11 1998 - 06:41:03 PST


BAD MSG:
<x-rich><bigger>Hi All,
ontent-Type: multipart/mixed; boundary="=_AAAF0wAAIgg3glcI"
X-Lines: 95
Content-Length: 4117
X-Status: $$$$
X-UID: 0000000710
Status: RO

--=_AAAF0wAAIgg3glcI
Content-Type: text/enriched; charset="us-ascii"
>From ???@??? Wed Nov 11 08:10:27 1998
Return-Path: <owner-btf@boyd.com>
Received: from pc-tfitz.cadence.com (d15814010531 [158.140.105.31])
        by rowlf.Cadence.COM (8.8.8/8.8.5) with SMTP id JAA08827;
        Wed, 11 Nov 1998 09:44:06 -0500 (EST)
X-Authentication-Warning: gw.boyd.com: majordomo set sender to owner-btf@boyd.com using -f
Message-Id: <3.0.5.32.19981111094103.009b0500@rowlf.cadence.com>
X-Sender: tfitz@rowlf.cadence.com
X-Mailer: QUALCOMM Windows Eudora Pro Version 3.0.5 (32)
Date: Wed, 11 Nov 1998 09:41:03 -0500
To: btf@boyd.com
From: Tom Fitzpatrick <tfitz@cadence.com>
Subject: BTF - $readmem args incorrect
Cc: chas@rowlf.Cadence.COM, sharp@rowlf.Cadence.COM, leet@rowlf.Cadence.COM
Mime-Version: 1.0
Sender: owner-btf@boyd.com
Precedence: bulk
Status: RO
<x-rich><bigger>Hi All,
X-Sun-Content-Length: 3202

<p>The current spec and the first draft of the new spec both contain an
inconsistency with Verilog-XL's behavior with regard to the $readmemb and
$readmemh system tasks. In a nutshell, the spec claims that when using
$readmem,

<p>$readmemh("file_name", memory_name, [start_addr, finish_addr]);

<p>then unless both start_addr and finish_addr are specified, the memory is
loaded from "left-to-right". That is, the default start_addr is the
left-hand address of the memory declaration, and the data is loaded
towards the direction of the right-hand address of the declaration.

<p>In fact, in Verilog-XL the default start_addr is the lowest address in
the declaration, regardless of which order the memory is declared, and
the data is loaded towards the higher address in the declaration. In
other words, the address is always incremented between loads.

<p>If both start_addr and finish_addr are specified, then the spec matches
Verilog-XL in that data is loaded from start_addr to finish_addr,
regardless of how the memory was declared.

<p><p>The specific proposal follows:

<p>Page 182, last paragraph - Change the first sentence from

"If no addressing information is specified within the system task, and
not address specifications appear within the data file, then the default
start address is the left-hand address given in the declaration of the
memory."

        to

"If no addressing information is specified within the system task, then
the default start address is the lowest address in the memory."

<p>Page 182, last paragraph - Change the last sentence (which actually
continues on p. 183) from

"If the start address is specified in the task without the finish
address, then loading starts at the specified start address and continues
towards the right-hand address given in the declaration of the memory."

        to

"If the start address is specified in the task without the finish
address, then loading starts at the specified start address and continues
upward towards the highest address in the memory."

<p>Page 183, first full paragraph - Change the sentence from

"If both start and finish addresses are specified as parameters to the
task, then loading begins at the start address and continues toward the
finish address, regardless of how the addresses are specified in the
memory declaration."

        to

"If both start and finish addresses are specified as parameters to the
task, then loading begins at the start address and continues toward the
finish address. Note that if the start address is greater than the finish
address, then the address will be decremented between consecutive loads
rather than being incremented. Loading will continue to follow this
direction even after an address specification in the data file."

<p>Page 183, third full paragraph - Add the following to the end of the
sentence:

"and no address specifications appear within the data file."

</bigger>

---------------

Tom Fitzpatrick

<p>Senior Technical Marketing Manager Cadence Design Systems, Inc.

Cycle Simulation Products 270 Billerica Rd.

Logic Design and Verification Business Unit Chelmsford, MA 01824

x6438 (978)446-6438
</x-rich>
--=_AAAF0wAAIgg3glcI--



This archive was generated by hypermail 2.1.4 : Mon Jul 08 2002 - 12:53:01 PDT and
sponsored by Boyd Technology, Inc.