• 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. Mixed-Signal Design
  3. how to connect signal to a real_vector

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 64
  • Views 14063
  • 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

how to connect signal to a real_vector

sebgimi
sebgimi over 11 years ago

Hi,

 I have some issues with a vhdl code. When I connect signals on an element of a real_vector I have these errors:

 ncvhdl -work st_lib -ams -message ../sources/systeme_comparateur_ent.vhdl ../sources/systeme_comparateur_arch.vhdl ../sources/systeme_comparateur_tb.vhdl
ncvhdl: 13.20-p002: (c) Copyright 1995-2014 Cadence Design Systems, Inc.
../sources/systeme_comparateur_ent.vhdl:
        errors: 0, warnings: 0
../sources/systeme_comparateur_arch.vhdl:
                          S_mux1(0) => int1,
                                |
ncvhdl_p: *E,FMLBAD (../sources/systeme_comparateur_arch.vhdl,251|11): poorly formed formal part of element association 87[4.3.3.2] 93[4.3.2.2].
                          S_mux2(0) => int5,
                                |
ncvhdl_p: *E,FMLBAD (../sources/systeme_comparateur_arch.vhdl,274|11): poorly formed formal part of element association 87[4.3.3.2] 93[4.3.2.2].
                          S_mux3(0) => int13,
                                |
ncvhdl_p: *E,FMLBAD (../sources/systeme_comparateur_arch.vhdl,312|11): poorly formed formal part of element association 87[4.3.3.2] 93[4.3.2.2].
                          S_mux4(0) => int17,
                                |
ncvhdl_p: *E,FMLBAD (../sources/systeme_comparateur_arch.vhdl,335|11): poorly formed formal part of element association 87[4.3.3.2] 93[4.3.2.2].
        errors: 4, warnings: 0
../sources/systeme_comparateur_tb.vhdl:
        errors: 0, warnings: 0

My code is in attachment. In fact I want to connect real signals on each element of the real_vector in my code.

If you see something wrong, or if there is an other way to do this tell me please. 

  • cde.txt
  • View
  • Hide
  • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    You only provided part of the code (architecture, and no entity, plus none of the components being instantiated).

    It's hard to debug without seeing more - so probably going to customer support is your best bet. There's nothing particularly "AMS" about what you've shown, so I'm slightly tempted to move this to the functional verification forum, but I think customer support is better unless you can supply more of the example (if not all).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sebgimi
    sebgimi over 11 years ago

    My bad!

     I can provide you all the code you need.

    Sorry again for my post in the wrong forum

    vhdl.zip
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    OK, I'm not really a VHDL expert, but a little bit of experimentation and reading up gave me this. You need to do:

     signal S_mux1: real_vector (3 downto 0);

    and then:

        S_mux1 <= int1 & int2 & int3 & int4;
        mux1: analog_ADG704    
        
            generic map (INPUTS_SEL => 2)
        
            port map (En => enable_mux1,
                  A => A_mux1,
                  S => S_mux1,
    --              S_mux1(0) => int1,
    --              S_mux1(1) => int2,
    --              S_mux1(2) => int3,
    --              S_mux1(3) => int4,
                  D => mux1_mux5);

    Note that it doesn't make sense to do that S_mux1(0) stuff - because the interface to analog_ADG704 has ports En,A,S and D. So what is happening here is that I'm defining a signal with a continuous assign (I forget the terminology in VHDL) which concatenates the four reals into a 4 bit real_vector, and then that is port mapped to S.

    I didn't take care to ensure that the order is correct - I'll leave that to you to check and work out.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • sebgimi
    sebgimi over 11 years ago

    Not a VHDL expert but you're totally right! Your solution is the good one!

    Thank you very much and sorry to have wasted your time.

     Regards,

     Sebastien

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    Sebastien,

    Not a waste of time, so no problem - it's always good to practice in something that's not my main area of expertise!

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • 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