Home    Bloggers    Messages    Webinars    Resources   
Tw  |  Fb  |  In  |  Rss
Duane Benson

Discovering FPGAs: Returning to VHDL

Duane Benson
Page 1 / 6   >   >>
imac
imac
2/1/2013 7:18:34 PM
User Rank
Expert
Cola
Coke isn't a technology, silly  :-)

But seriously, there are a number of things I dislike about VHDL, but I've had real problems accomplishing certain things in Verilog (though I didn't try in VHDL). Guess I should!

50%
50%
thrakkor
thrakkor
2/1/2013 1:53:26 PM
User Rank
Blogger
qsys
QSYS might be OK for real quick prototyping, but it definitely promotes vendor lock in, which in the long run, is never a good thing.

the interfaces is also far from intuititve.  it also requires a separate generate step in the design flow if changes are made (if I remember correctly).

most things done in qsys can be done directly in HDL I believe.

50%
50%
devel@latke.net
devel@latke.net
2/1/2013 1:26:14 PM
User Rank
Guru
Re: VHDL - where to start?
josyb: Once you have all the building blocks in place you can go real quick tying it all together in a graphical manner.

And this is somehow better than instantiating entities in VHDL in the usual way?

How does this graphical part get put into the source-code respository? Can it be diffed?

With any reasonable editor (emacs, of course, and Sigasi), instantiating entities is easy and immediate. Emacs: put cursor in the entity's port list. From the menu, choose VHDL->Port->Copy. Switch to buffer containing source in which to instantiate entity. Put cursor somewhere useful. From the menu choose VHDL->Port->Paste As Instance. Congratuatlons, entity now instantiated. Oh, yeah, the signals: VHDL->Port->Paste As Signals. Now all signals used in that entity instantiation have declarations. Edit as necessary.

I know that it takes me less time to instantiate an entity in code using emacs than it does to add an entity to a module done in Actel's SmartDesign. Add entity, add bus interface, instantiate, wire it up by clicking and mousing two or three dozen times, regenerate, etc etc.

And while I'm sure that a lot of people say, "Well, the graphical interface gives me a schematic, and it's easier to understand a schematic," every such interface makes a mess of the schematics so there's no benefit.

 

50%
50%
josyb
josyb
2/1/2013 1:05:41 PM
User Rank
Guru
Re: VHDL - where to start?
devel: Xilinx was founded the year I started college. I didn't know about programmable logic until my first job after graduation. And that was with 22V10s and later Altera CPLDs.


I started off with MMI's PALs and remember the first LCA presentation by Xilinx, around 1984 or so The manual Routing tool was US$ 10,000,-! You understand that a small firm just couldn't afford that.

So, I don't get it ... what advantage does a proprietary scheme for packaging and interconnecting in-house logic have over just putting the code into a source-code repository, external-ing (in the svn parlance) it into a design and wiring it all up in the usual way?

Once you have all the building blocks in place you can go real quick tying it all together in a graphical manner. When you press generate the tool adds the necesarry interconnect fabric. You should read a bit about Qsys to understand this better. Qsys comes with Quartus, unlike Xilinx' EDK. You still need to buy a NIOS II license, but I don't use NIOS II (yet, probably will look for another smaller softcore processor when that need arises)


I was talking with one of the guys here earlier today about Xilinx' scheme for doing that. And again, it came up: why package your code using a vendor-proprietary scheme that is likely to change with every revision of the tools? 

Altera have a reasonably good track record of not breaking things (that often). And as I said before my interconnect scheme works well with Qsys. (it would also work well with the EDK scheme). And I don't have plans to switch vendors - but never say never.


50%
50%
devel@latke.net
devel@latke.net
2/1/2013 12:18:11 PM
User Rank
Guru
Re: VHDL - where to start?
josyb: You see, I never went to university and got spared from Xilinx and other academic stuff :)

Xilinx was founded the year I started college. I didn't know about programmable logic until my first job after graduation. And that was with 22V10s and later Altera CPLDs.

But use Qsys to interconnect in-house generated IP, connecting e.g. image sensors to camera link outputs. 

So, I don't get it ... what advantage does a proprietary scheme for packaging and interconnecting in-house logic have over just putting the code into a source-code repository, external-ing (in the svn parlance) it into a design and wiring it all up in the usual way?

I was talking with one of the guys here earlier today about Xilinx' scheme for doing that. And again, it came up: why package your code using a vendor-proprietary scheme that is likely to change with every revision of the tools? 

It really makes no sense at all.

50%
50%
josyb
josyb
1/31/2013 4:12:28 PM
User Rank
Guru
Re: VHDL - where to start?
@devel: "I'd rather not wait. Not if something has to get out the door."

Like I said I rarely simulate a top level system, maybe twice a year. And I have told my colleagues before: faster tools only lead to faster errors.

That's all in the Altera world; I live in Xilinx and Actel. And honestly, we don't do designs that would benefit from Qsys, such as using canned IP and a system integration tool.

And yes, we've done the Xilinx EDK thing and found it to be a disaster."


You see, I never went to university and got spared from Xilinx and other academic stuff :)

Actually we use very little of Altera's 'canned IP'. But use Qsys to interconnect in-house generated IP, connecting e.g. image sensors to camera link outputs.  It may look that Qsys is also centered around Altera's soft-core NIOS II CPU, but you can perfectly build systems without that NIOS II.  I had devised my own 'module connection fabric' and  connected those blocks within a  top-file, lot's of typing and now and then a wrong connection ...  Turned out that the Avalon ST-fabric is a superset of what I had, so I had an easy transition. Again I won't go back ...

50%
50%
devel@latke.net
devel@latke.net
1/31/2013 1:30:44 PM
User Rank
Guru
Re: VHDL - where to start?
josyb: But I rarely simulate full FPGA designs, and if I have to I just wait ...

I'd rather not wait. Not if something has to get out the door. 

Nowadays we build systems with Qsys. Once the sub-modules have been thoroughly tested you connect them up in Qsys and things tend to run fine. I built a few 'peeking' modules for in-system-debugging and statistics and that usually show where something goes wrong. If that doesn't help enough we dig out the Signaltap ... as you mentioned, the external hardware sometimes behaves differently than expected / simulated

That's all in the Altera world; I live in Xilinx and Actel. And honestly, we don't do designs that would benefit from Qsys, such as using canned IP and a system integration tool. 

And yes, we've done the Xilinx EDK thing and found it to be a disaster.

50%
50%
josyb
josyb
1/31/2013 1:12:21 PM
User Rank
Guru
Re: VHDL - where to start?
@devel: "Sigasi do a comparison to Emacs-VHDL mode.

I've seen that, but it's not clear whether everything in that list applies to the paid-for or the free version."


The list applies for the paid-for (of course) and for the starter version too, until you hit the 200 statements limit, and even then it will be at least as good (Jan's claim).

But don't hold back, ask them for an evaluation license, they are happy to give one :)

50%
50%
josyb
josyb
1/31/2013 1:07:44 PM
User Rank
Guru
Re: VHDL - where to start?
@devel: "I presume the starter that comes with the Altera tools is similarly crippled."

Yes, it is. But I rarely simulate full FPGA designs, and if I have to I just wait ... Nowadays we build systems with Qsys. Once the sub-modules have been thoroughly tested you connect them up in Qsys and things tend to run fine. I built a few 'peeking' modules for in-system-debugging and statistics and that usually show where something goes wrong. If that doesn't help enough we dig out the Signaltap ... as you mentioned, the external hardware sometimes behaves differently than expected / simulated

50%
50%
Hendrik
Hendrik
1/31/2013 11:49:02 AM
User Rank
Clever Clogs
Re: VHDL - where to start?
If you use an existing Eclipse installation, make sure it is properly configured http://www.sigasi.com/faq/how-do-i-increase-heap-size-eclipsesigasi

You can also use Sigasi in 'single file' mode. But than you can not use all features, such as a project wide search or rename refactoring. The 'workspace' is the mechanism to manage this project information.

50%
50%
Page 1 / 6   >   >>
More Blogs from Duane Benson
Now it's time to delve deeper into the state machine I'm using to control my I2C interface.
The three states associated with bi-directional "inout" pins can cause confusion for the unwary.
It's time to jump into unexplored territory -- the state machine that will control Duane Benson's I2C interface.
We're now ready for the I2C master to transmit a command set to a remote device.
Duane Benson has his SPI interface working. At some point, he'll want to rewrite the Verilog code, but first he wants to get the I2C interface up and running.
flash poll
follow us on twitter
follow Xilinx on twitter
like us on facebook
like Xilinx on facebook
All Programmable Planet     About Us     Contact Us     Help     Register     Twitter     Facebook     RSS