( Post 103 Item 1 ) ------------------------------------------------------
From: landman@hal.com (Howard Landman)
Subject: 3.0a library compiler chokes depending on whitespace
3.0a was released Dec. 14th. Not everyone has it yet. We got it the 29th.
Using the 3.0a library compiler, a library which begins:
library(foo) {
compiles fine, but a library which begins:
library(foo)
{
dies with errors:
Error: Undefined operator on or near line 1 at or near 'library'. (EQN-2)
Error: Syntax error found before `library` group, compilation aborted. (LBDB-153)
The bug doesn't just affect "library" lines, but also "cell" lines and
"timing" lines. Any of them cause Library Compiler to fail unless the
lefy curly bracket is on the same line as the keyword.
This seems a little fragile and unforgiving, to say the least. Of course,
the workaround is obvious.
By the way, I don't know that this particular bug doesn't also affect 2.2.
I'll check that out later.
Howard A. Landman
HaL Computer Systems, Inc.
(408) 379-7000 x1342
( Post 103 Item 2 ) ------------------------------------------------------
From: ddodd@corona.AuE.com (L. Donovan Dodd)
Subject: passing parameters
Hi,
I'm having a little trouble when simulating a model, and I am hoping
you might be able to shed a little light on the subject, or at least
let me know if the problem is related to the Synopsys software or not.
The problem occurs when I try to pass a variable of type "line" as a
parameter to a procedure. The procedure's parameter is of type "in
string". I am using vhdldbx, and stepping through the code to isolate
the problem.
The model being simulated consists of the actual model, and a
testbench. The testbench reads vectors from a text file, and applies
them to the model. The vectors are read in one line at a time into a
buffer of type "line", and the line is parsed by a subroutine to
extract the time, the actual vector, and whether it is stimulus or
response from the line buffer. The first time a line is read and
passed to the parsing subroutine it passes fine. When the next line
is read, the line buffer variable contains the correct information,
but when I step into the parsing subroutine and display the value of
the input parameter, it is displayed as a series of single quoted
characters, with the first few characters being "NUL" characters. Any
idea why the string is not being passed correctly?
Here are some relevant lines of code:
VARIABLE buff: LINE;
READLINE (tabfile, buff);
#evaluate (buff.all) -- this from within vhdldbx
(buff.all) " 10000 PS s 111; >> 10000 PS"
-- the parsing procedure is declared like this:
PROCEDURE parse( buff : IN STRING ) IS ...
-- and called like this:
parse( buff.all);
when I step into parse, however, buff does not now have same value
#evaluate (buff)
(buff) (NUL, NUL, NUL, NUL, NUL, ' ', ' ', ' ', ' ', '1', '0', '0', '0', '0', ' ', 'P', 'S', <and some more of the same...>)
Please note that this occurs after the procedure has already correctly
been passed the previous vector. Any clues would be greatly
appreciated. One of our non-VHDL programmers here suggested that it
may be due to poor management of the stack by the simulator, and that
the stack may be getting trashed.
L. Donovan Dodd
Advanced Microelectronics
Jackson, Mississippi 39296-5729 "lex makes me yacc"
( Post 103 Item 3 ) ------------------------------------------------------
From: grun@intellistor.com (Paul Grun)
Subject: Re: ESNUG Post 100 & Partitioning Rules of Thumb
John;
I just wanted to let you know that I appreciate your efforts with ESNUG.
I've gleaned some useful stuff from the 8 or so posts I've received.
I found the story from Peter Sinander to be interesting. We're trying
to do something similar to what he tried, only on a much larger scale.
We've written Verilog primarily intended for an ASIC application and are
now attempting to re-target it toward FPGAs. The difference between our
experience and Peter's is primarily the size of the effort. Our design
requires us to address the area problem to which Peter referred by
partitioning the design across multiple FPGAs. This has been a painful
task indeed. Again, thanks for the ESNUG posts. Keep it up.
Regards,
-Paul Grun
grun@intellistor.com
- - - - - - - - - - - - - - - - - - - - -
Paul, partitioning is one skill that seems to be aquired only through
years of painful experience. My question to the ESNUG readers is does
anyone know any handy rules of thumb that can help the partitioning
novice? Or, better yet, a list of rules of thumb! (As always, if I get
worthwhile info, I'll share it immediately with ESNUG. That's it's sole
purpose.)
- John Cooley
ESNUG Moderator
|
|