Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Array Permutations in VHDL

198 views
Skip to first unread message

Star Wars Gypsy

unread,
Feb 25, 2016, 9:01:41 PM2/25/16
to
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




Rob Gaddi

unread,
Feb 26, 2016, 12:13:37 PM2/26/16
to
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.
0 new messages