UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
6,668 Views
Registered: ‎02-10-2016

Is there a splitter IP [reverse to concat]?

Jump to solution

Hi,

 

Is there a splitter IP for vector outputs? Searched the IP catalog, but couldn't find anything suitable:(

 

TIA

Nikos

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Scholar ronnywebers
Scholar
11,959 Views
Registered: ‎10-10-2014

Re: Is there a splitter IP [reverse to concat]?

Jump to solution

yes there is, it's called 'Slice' and can be found under 'Basic Elements', where you found 'Concat'

 

 

 

 

** kudo if the answer was helpful. Accept as solution if your question is answered **
5 Replies
Highlighted
Scholar ronnywebers
Scholar
11,960 Views
Registered: ‎10-10-2014

Re: Is there a splitter IP [reverse to concat]?

Jump to solution

yes there is, it's called 'Slice' and can be found under 'Basic Elements', where you found 'Concat'

 

 

 

 

** kudo if the answer was helpful. Accept as solution if your question is answered **
Explorer
Explorer
6,662 Views
Registered: ‎02-10-2016

Re: Is there a splitter IP [reverse to concat]?

Jump to solution

@ronnywebers,

 

Thank you so much :)

 

Nikos

0 Kudos
Visitor bldrinst
Visitor
1,464 Views
Registered: ‎05-10-2010

Re: Is there a splitter IP [reverse to concat]?

Jump to solution

Apologies but I'm new to IP integrator.

 

I had the same question as the topic but I don't understand why SLICE is the answer.  Concat takes multiple individual signals and combines them in a way that they can be presented as an array of objects on a signal or at a port.  For instance, four signals of width 1 can be concatenated to be presented as a single signal or port of width 3 downto 0.

 

I want to bring an array of width 4 and break it up into 4 individual signals.  I've looked at slice.  My understanding is that slice lets you "clip off" some signals to convert a wider array to a shorter bus.  I'm not seeing how to break up a four bit array to four individual signals, the opposite of concat.

 

What am I missing?  Is it that I would connect the bus to 4 instances of SLICE and use slice to break out the bits one at a time?  If I have a 32-bit array that I want to break out to 32 single signals then I would need to implement 32 instances of slice?

 

Thanks!

0 Kudos
Scholar ronnywebers
Scholar
1,057 Views
Registered: ‎10-10-2014

Re: Is there a splitter IP [reverse to concat]?

Jump to solution

@bldrinst I missed your reply somehow in my mails. Indeed, you'll need 4 slice instances in the BD, it's a bit impractical, would be piece of cake in code of course. If you start writing custom IP's you can generally avoid a lot of concat and split IP's in the main diagram where you hook-up all your custom IP's.

a 4-bit bus concat and slice that you describe would look like this in a block diagram :

slice_bit2.jpg

 

I opened the customization dialog for the slice of bit 2.

Elaborated schematic shows you a bit better what's happening :

slice_concat_elab.jpg

 

for some reason the block diagram only wants to use 'std_logic_vectors' of 1 bit wide, hence the [0:0] on each single bit signal.

** kudo if the answer was helpful. Accept as solution if your question is answered **
Visitor bldrinst
Visitor
1,040 Views
Registered: ‎05-10-2010

Re: Is there a splitter IP [reverse to concat]?

Jump to solution

ronnywebers......Thanks for your extremely detailed and well layed out explanation.  That fully confirms my understanding of the issue.  Have a great day!

0 Kudos