Vhdl

Status
Not open for further replies.

shermaine

New Member
If i am given a question , how should i start off planning doing the vhdl program?
Please advise if there is any useful links for reading off online for a vhdl starter?
 
Not a lot of people here have experiance with VHDL, you might want to look for a VHDL forum as it's really more along the lines of a programming language than something directly involving electronics. Many users have trouble with PIC code and VHDL puts that to shame many times over.
 
hi,
you get application notes at xilinx.com also try searching vhdl tutorials in google
 

For a given function, dedicated hardware running will ALWAYS outperform PIC / software code (i.e. instructions in an MPU) - even assembler.

However, higher level languages are easier to write code for so that generally take less time and software debugging tools are a lot easier to use than for example FPGA debugging tools.

However, FPGA & ASICs have accurate simulation tools whereas higher level complilers like PIC etc.. have none (?) if they did, they could not be time-accurate.


Remember, VHDL describes hardware - that means logic gates & flipflops. The only level lower than that is at the transistor level.
 
Optikon said:
Remember, VHDL describes hardware - that means logic gates & flipflops. The only level lower than that is at the transistor level.

kind of. It provides a language slightly higher then assembler to realise boolean very easily, How it actually gets implemented is different. only very basic CPLD's actually get the VHDL synth downto a bitcode that describes actual logic layout (w.r.t. NAND/NOR grid). FPGA's are different and have micro-cells, you may code a up-down counter made out of flip-flops but what actually gets put down is some complex lookup table that clocks at a certain rate.
 
Optikon, Both PIC's and AVR's can have their code tweaked down to the clock rate of the chip, I can't speak for other architectures. There are caveats though where with an FPGA you just tell it what your timing is and it synthesizes around that. A good ASM programmer can do some really low level control of the timing on a micro controller. On a price per pound sort of scale micro controllers win, also for ease of implementation, especially to a novice micro controllers are significantly simpler.
 

Thats true but only a minor detail of the synthesis engine. At the end of the day, what is described is hardware.
 

Tweaked code to the clock rate doesnt guarantee timing. Think about the scenario of using an interrupt routine. By the very nature, the code gets "interrupted" so well,, that kind of delays the other tasks. There is no way for guaranteed time control. In an FPGA however, one can design functions os they truly run concurrently with other processes and timing control is back in the users hands.

I understand the situation gets better by coding ASM. I understand that micro's are cheaper (whats the point?) There are some jobs that just can't be done well with a micro. That being said, I love PIC & AVR - I'm not against them but I dont try and use one in every design I do (think Nigel! LOL). They have their place.
 
Out of curiosity, what specifically do you use FPGA's for Optikon? I've always been interested in them because they're basically the ultimate in flexibility. Been playing around with Xilinx free tools but don't have any plans to buy a board or write any real code anytime soon, as there's really nothing I want to do right now that I can't do with a micro controller.
 

I've used FPGA's for direct digital synthesis (DDS), PCI bus interfaces, digital feeback loops for high speed analog circuits and many more.. in each case, timing uncertainty in a microprocessor (let alone an MC) was not up to the task.

I have also used Xilinx Spartan 3's with the microblaze microcontroller I.P. dropped in them - this gets you the best of both worlds.

I have also done analog circuit designs that require simple state machines and communications interfaces to run them. I have found those applications to be perfectly suitable for microcontrollers.
 
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…