• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Logic Design
  3. port array synthesis

Stats

  • Locked Locked
  • Replies 0
  • Subscribers 65
  • Views 14702
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

port array synthesis

olalivier
olalivier over 7 years ago

Dear all,

in my design I use as an input port the following statement

input logic [15:0] d [15:0]

This statement is supposed to be the input of a 16 to 1 / 16
bits wide inputs multiplexer.

Obviously synthesis is going pretty well since I get an output
netlist. Though when I try to simulate using the same testbench I used
for pre-synthesis simulation, using the following statement for
connectio, xcelium throw an error

// ---------------------------------------------------------------------
// internal testbench code sample
// ---------------------------------------------------------------------
logic [n-1:0] data_write [n-1:0];
reg_shift_milpisso rs0 (.d(data_write),.*);


// ---------------------------------------------------------------------
// xcelium error
// ---------------------------------------------------------------------
xrun(64): 17.10-s010: (c) Copyright 1995-2018 Cadence Design Systems, Inc.
xrun: *N,CLEAN: Removing existing directory ./xcelium.d.
Caching library 'worklib' ....... Done
Elaborating the design hierarchy:
reg_shift_milpisso rs0 (.d(data_write),.*);
|
xmelab: *E,CUVPOM (./reg_shift_milpisso_tb.sv,28|28): Port name 'd' is
invalid or has multiple connections.  xrun: *E,ELBERR: Error during
elaboration (status 1), exiting.

the synthesis resulting netlist  is the following

// ---------------------------------------------------------------------
// synthesis netlist sample
// ---------------------------------------------------------------------

// Generated by Cadence Genus(TM) Synthesis Solution 16.23-s049_1
// Generated on: Jul 16 2018 14:49:52 CEST (Jul 16 2018 12:49:52 UTC)

// Verification Directory fv/reg_shift_milpisso

module reg_shift_milpisso(clock, reset, op, sel, \d[0] , \d[1] , \d[2]
, \d[3] , \d[4] , \d[5] , \d[6] , \d[7] , \d[8] , \d[9] , \d[10] ,
\d[11] , \d[12] , \d[13] , \d[14] , \d[15] , q);
input clock, reset;
input [1:0] op;
input [3:0] sel;
input [15:0] \d[0] , \d[1] , \d[2] , \d[3] , \d[4] , \d[5] , \d[6] ,
\d[7] , \d[8] , \d[9] , \d[10] , \d[11] , \d[12] , \d[13] ,
\d[14] , \d[15] ;


My question is then the following one, can I use this kind of ports
without having the escaped ports ?

thank you for your time and consideration.

Olivier

  • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information