Array Permutations in VHDL

S

Star Wars Gypsy

Guest
Hello,

Long time reader, first time poster....

I'm working with a Basys 2 board. My background is in desktop/software programming. I'm thinking of using these boards in a stem camp. Right now I'm working on simple tasks. Are there any built in functions that will accept an array and then output all permutations of said array? Is this even possible in VHDL without creating hundreds of lines of code? The younger attendees of stem tend to have short attention spans.

Could someone kindly point me towards a resource of all the built in functions of VHDL?


Thanks in advance,
Gypsy
 
Star Wars Gypsy wrote:

Hello,

Long time reader, first time poster....

I'm working with a Basys 2 board. My background is in desktop/software programming. I'm thinking of using these boards in a stem camp. Right now I'm working on simple tasks. Are there any built in functions that will accept an array and then output all permutations of said array? Is this even possible in VHDL without creating hundreds of lines of code? The younger attendees of stem tend to have short attention spans.

Could someone kindly point me towards a resource of all the built in functions of VHDL?

You're thinking about VHDL all wrong, because VHDL is a hardware
description language. Not only doesn't the function you ask for exist
as a standard part of the language, the concept barely maps onto
hardware. You haven't described how the data would get in, or how the
data would get out. In software, those are just parameters. In
hardware you need to construct the physical busses that move that data.
Is the data in an "array" coming in sequentially, one data element per
cycle, or broadside? If sequentially, does the packet have a fixed
length, or just a maximum one? Are you using any standard streaming
interface (AXI, Avalon-ST, etc), or making one up ad-hoc?

Hardware doesn't do software, hardware does hardware. That statement is
only true insofar as it is, but the closest analogue to what you're
talking about would be something like a hardware accelerator for
permutations, where you'd write the array in over PCI Express, and the
FPGA would DMA back all permutations to a memory block previously agreed
upon in the driver, which you'd also have to write. All so that you can
manipulate boring data.

So, don't do that. Certainly not for a camp. Light LEDs. Play sounds
on speakers. Start with the basics:

A) While I push the button, the LED is on.

B) When I push the button, the LED comes on. It stays on for a full
second after I release it.

C) When I push the button, the LED toggles state. (Be sure to
debounce the button).

D) When I push the button the LED spends a second ramping up in
brightness. It stays at full brightness while I hold the button, then
ramps back down in a second when I let go.

--
Rob Gaddi, Highland Technology -- www.highlandtechnology.com
Email address domain is currently out of order. See above to fix.
 

Welcome to EDABoard.com

Sponsor

Back
Top