( ESNUG 269 Item 6 ) -------------------------------------------- [10/24/97]
From: jonathan@ikos.com (Jonathan Liu)
Subject: DC 97.01 & 97.08 Are Inconsistant With Bussed VHDL Ports
John, When I first installed 1997.08, I did experience an inconsistency
(which I reported to Synopsys) in versus 1997.01 with respect to how the VHDL
writer handles bussed ports (with certain combinations of switch settings).
When I read into 1997.08 a source VHDL file containing a vector port in
which the LSB was non-zero, and then wrote out the same design as VHDL
output file, it changed the range of the vector such that the LSB was zero.
My VHDL input file ports, which should & does remain unchanged w/97.01:
entity vector_test is
Port (a: in std_logic_vector(7 downto 1);
b: out std_logic_vector(4 to 7));
end vector_test;
architecture structural of vector_test is
component sub_test
Port (c: in std_logic_vector(7 downto 1);
d: out std_logic_vector(4 to 7));
end component;
Original .synopsys_dc.setup settings:
vhdlout_preserve_hierarchical_types = "VECTOR";
vhdlout_follow_vector_direction = "TRUE";
Original dc_shell script:
analyze -f vhdl vector_test.vhd
elaborate vector_test
report_port
write -f vhdl -o vector_test_out.vhd
quit
Output file in 1997.08 (incorrect, note bus ranges):
entity vector_test is
port( a : in std_logic_vector (6 downto 0);
b : out std_logic_vector (0 to 3));
end vector_test;
architecture SYN_structural of vector_test is
component sub_test
port( c : in std_logic_vector (6 downto 0);
d : out std_logic_vector (0 to 3));
end component;
I originally worked around the problem by reverting to 1997.01 for steps
which needed to write VHDL output files. However, fortunately, our Synopsys
A.C. helped me find a superior solution, which was to change some switch
settings in my .synopsys_dc.setup to be as follows:
vhdlout_preserve_hierarchical_types = "USER";
vhdlout_follow_vector_direction = "FALSE";
(Originally those two settings had been "VECTOR" and "TRUE" respectively.)
With the new settings, I was able to obtain the desired result in 1997.08,
So it wasn't a serious problem. Nonetheless, people might want to be warned
of this inconsistency in behavior between the two versions.
- Jonathan Liu
Ikos Systems, Inc.
|
|