[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gEDA-dev: icarus/ivtest/contrib8.2.v
Evan,
I ran it through NCVERILOG, Verilog-XL, and CVER just to check. They all
liked the code to various levels.
What I see below is both an implicit wire named "c" and a module named
"c". The module names conflict -but this is legal verilog. (not
clever - but legal).
Verilog is going to assume an implicit wire of 1 bit.
Further - if you look at the definitions of module a we see a one bit
input, and module d we see input d is also a single bit in width.
I guess I don't see any issues here - can you take what I've pointed out
above and tell me where you think we differ?
Steve Wilson
Evan Lavelle wrote:
> This is a short test which checks named port association and
> concatenation in module declarations and instantiations, from Stefan
> Thiede at Philips. There seems to be an issue with it - has anyone run
> it on any other sims?
>
> Two of the modules are instantiated with an actual of 'c', but 'c'
> isn't declared in 'test' (ie. 'a a1(.a(c));'. ModelSim, ISE and
> iverilog all ignore the identifier ('c') but assume that it's 1-bit.
> It seems to me that all 3 simulators have got it wrong - have I missed
> something?
>
> Evan
> =========================================================================
> /*
> * Copyright (c) 1998 Philips Semiconductors
> (Stefan.Thiede@sv.sc.philips.com)
> *
> * This source code is free software; you can redistribute it
> * and/or modify it in source code form under the terms of the GNU
> * General Public License as published by the Free Software
> * Foundation; either version 2 of the License, or (at your option)
> * any later version.
> *
> * This program is distributed in the hope that it will be useful,
> * but WITHOUT ANY WARRANTY; without even the implied warranty of
> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> * GNU General Public License for more details.
> *
> * You should have received a copy of the GNU General Public License
> * along with this program; if not, write to the Free Software
> * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
> 02111-1307, USA
> */
> // 9/7/99 - SDW - Added a PASSED message - no functional checking needed
>
>
> module test();
> wire [1:0] a;
> wire [9:0] b;
> wire [0:9] d;
> a a1(.a(c));
> b b1(.a(a[0]));
> c ci(.a({a, b}));
> d d1(.a({d[0:9], a[1:0]}), .d(c));
> f f(a);
> a a3(a[1]);
> a a4({a[1]});
> g g({a,b});
> e e();
>
> initial
> $display("PASSED");
> endmodule
>
> module a(a);
> input a;
> endmodule
>
>
> module b(.a(b));
> input b;
> endmodule
>
> module c(.a({b, c}), );
> input [10:0] b;
> input c;
> endmodule
>
> module d(.a({b, c}), d);
> input [10:0] b;
> input c, d;
> endmodule
>
> module e();
> endmodule
>
> module f({a, b});
> input a, b;
> endmodule
> module g(a);
> input [11:0] a;
> endmodule
>
>
> _______________________________________________
> geda-dev mailing list
> geda-dev@moria.seul.org
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev