[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Verilog netlist problems



Hi,

    I don't think you want to have things like Gain[7:0] and RcvMsg[11:0] in your module declaration:

module RCVCNTRL(
	StrtAlg,
	Gain[7:0],
	TrnsfrMsg,
	RcvMsg[11:0],
	StrtTmr,
	StrtDly,
	AlgClk,
	CyclDn,
	DlyDn,
	Hit,
	BfrMt,
	TrnsfrDn,
	ClkX64
         );

Modelsim's error is (only) slightly more informative than Icarus':
------------
[mjarabek@scotty verilog]$ vlog -work work *.v
Model Technology ModelSim SE vlog 6.0d Compiler 2005.04 Apr 25 2005
-- Compiling module APSChip
-- Compiling module RCVALG
-- Compiling module RCVCNTRL
-- Compiling module RCVDLYCNTRL
-- Compiling module RCVPLSTMR
-- Compiling module testfixture

Top level modules:
        testfixture
[mjarabek@scotty verilog]$ vsim -c testfixture           
Reading /net/galactica/home/public/tools/modeltech/6.0d/modeltech/tcl/vsim/pref.tcl 

# 6.0d

# vsim -c testfixture 
# //  ModelSim SE 6.0d Apr 25 2005 SunOS 5.8
# //
# //  Copyright Mentor Graphics Corporation 2005
# //              All Rights Reserved.
# //
# //  THIS WORK CONTAINS TRADE SECRET AND 
# //  PROPRIETARY INFORMATION WHICH IS THE PROPERTY
# //  OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS
# //  AND IS SUBJECT TO LICENSE TERMS.
# //
# Loading work.testfixture
# Loading work.APSChip
# ** Warning: (vsim-3009) [TSCALE] - Module 'APSChip' does not have a `timescale directive in effect, but previous modules do.
#         Region: /testfixture/dut
# Loading work.RCVCNTRL
# Loading work.RCVALG
# Loading work.RCVPLSTMR
# Loading work.RCVDLYCNTRL
# ** Fatal: (vsim-3366) APSChip.v(63): Ports cannot be connected by name when a module contains unnamed ports.
#    Time: 0 ps  Iteration: 0  Instance: /testfixture/dut/U23 File: RCVCNTRL.v
# FATAL ERROR while loading design
# Error loading design
Error loading design
[mjarabek@scotty verilog]$
------------

After removing the []'s from RCVCNTL's port list, things compile in Icarus as well.  When you include a range selection in a module declaration, this forces the use of `implicit' ports, that is, you are creating a module that has effectively a single vector as it's input that is the concatenation of all the parameters.  In your case, you should only be able to instantiate your module with positional parameters.  I don't think that is what you intended.

Steve, does icarus support implicit declarations like this?  (Not that they are common, intentionally.)


Mike
Harold D. Skank wrote:
People,

I have created a gEDA schematic comprised of 4 Verilog submodules, each
having its own (hand generated) netlist, along with the attendant IPAD's
and OPAD's.  Each submodule has passed verilog testing using it's own
testfixture file.

I generated a netlist for the schematic using the gEDA command:

gnetlist -g verilog -o APSChip.v APSChip-2.sch

Said netlist (APSChip.v) file is attached below.  From anything I can
see, it seems to have generated just fine, yet when I attempt to perform
a verilog compilation, I get a 2 errors (vlogTST.sav) that I simply
don't understand.  I am attaching the following files:
	RCVALG.v
	RCVCNTRL.v
	RCVDLYCNTRL.v
	RCVPLSTMR.v
	vlogTST.sav
	APSChip.v
	testfixture.v
I would appreciate your reviewing this information and suggesting just
what it is that I'm doing wrong.

	Harold Skank
  

  

-- 
--------------------------------------------------
                              Mike Jarabek
                                FPGA/ASIC Designer
 http://www.istop.com/~mjarabek
--------------------------------------------------