Reply by Espen Tallaksen●December 29, 20152015-12-29
'Making a simple, structured and efficient VHDL testbench - Step-by-step'
is a powerpoint presentation and free webinar that shows novices how to get started making good testbenches, *and* experienced designers how to properly structure your testbenches.
The example DUT is a very simple interrupt controller, and the testbench itself uses the free and open source Bitvis Utility Library (compatible with VHDL 93, 2002 and 2008).
http://bitvis.no/resources/bitvis-utility-library-download
This library has a very low user threshold, so you're up and running directly after watching the presentation.
For simplicity reasons Bitvis Utility Library hides the more advanced options for novices, making it easy to get started, and at the same time allowing more advanced use when needed.
Bitvis Utility Library is being replaced by UVVM Utility Library (also free and open source) to allow even more advanced options. UVVM Utility Library requires VHDL 2008.
http://bitvis.no/resources/uvvm-utility-library-download/
> On 12/25/2015 5:34 AM, Hamid Kavianathar wrote:
> >
> > Thanks Brian, your comment is very helpful. after choosing the language, I should learn how to use FPGAs. could you please help me? I need your experience.
>
> The tools have their own peculiarities. I am no longer familiar with
> the Xilinx tools. The parts all the tools have in common is that you
> have to specify your pin out with attention to the location of special
> purpose signals like clocks or differential I/Os. You will also need to
> set up timing constraints to help placement and routing to meet your
> needs for speed.
>
> If you have a design that will be hard to meet timing, you may need to
> specify placement of critical components. That is very unique to each
> brand of tool.
>
> --
>
> Rick
Reply by rickman●December 27, 20152015-12-27
On 12/25/2015 5:34 AM, Hamid Kavianathar wrote:
>
> Thanks Brian, your comment is very helpful. after choosing the language, I should learn how to use FPGAs. could you please help me? I need your experience.
The tools have their own peculiarities. I am no longer familiar with
the Xilinx tools. The parts all the tools have in common is that you
have to specify your pin out with attention to the location of special
purpose signals like clocks or differential I/Os. You will also need to
set up timing constraints to help placement and routing to meet your
needs for speed.
If you have a design that will be hard to meet timing, you may need to
specify placement of critical components. That is very unique to each
brand of tool.
--
Rick
Reply by Hamid Kavianathar●December 25, 20152015-12-25
On Thursday, December 24, 2015 at 6:54:50 AM UTC-8, Brian Drummond wrote:
> On Wed, 23 Dec 2015 12:53:07 -0600, Jon Elson wrote:
>
> > Hamid Kavianathar wrote:
> >
>
> Jon's post is pretty much spot on, I'd only add a slighly different
> perspective...
>
> > I also
> > prefer VHDL, it may be a hair more verbose and requires you to specify
> > many type conversions, but I think that latter bit is a plus!
>
> I see it differently : if you find yourself writing many type
> conversions, it usually shows a problem with the design. Something has
> been declared with the wrong type : step back, look at the design again.
>
> When you see it, use the right type in the first place. Most of the
> conversions will disappear, leaving a cleaner, simpler design.
>
> One of VHDL's strengths is the way the type system can help you, if you
> let it instead of fighting it.
>
> > Second, you need to learn how to run the simulator, and how to build
> > test benches of stimuli for the VHDL logic to respond to. Not real
> > hard, but REALLY gets verbose to flip bits on and off, delay a while,
> > flip some more bits, etc.
>
> But if you write the same flipping code more than twice, it's time to
> move it into a procedure.
>
> Using VHDL at a higher level, it can become less verbose, more reusable,
> and certainly easier to understand.
>
> Once you have grasped the basics, and move on to more complex projects,
> you'll want to look at advanced verification tools, such as OSVVM, and
> the VUnit testing framework.
>
> Another strength of VHDL is that these tools are pure VHDL, free, and
> open-source, where alternatives might require you to move from Verilog to
> System Verilog and expensive closed source tools.
>
> OSVVM:
> www.osvvm.org
>
> VUnit
> https://github.com/LarsAsplund/vunit
> https://www.linkedin.com/pulse/free-open-source-verification-vunit-ghdl-
> lars-asplund?trk=prof-post
>
> -- Brian
Thanks Brian, your comment is very helpful. after choosing the language, I should learn how to use FPGAs. could you please help me? I need your experience.
Reply by Brian Drummond●December 24, 20152015-12-24
On Wed, 23 Dec 2015 12:53:07 -0600, Jon Elson wrote:
> Hamid Kavianathar wrote:
>
Jon's post is pretty much spot on, I'd only add a slighly different
perspective...
> I also
> prefer VHDL, it may be a hair more verbose and requires you to specify
> many type conversions, but I think that latter bit is a plus!
I see it differently : if you find yourself writing many type
conversions, it usually shows a problem with the design. Something has
been declared with the wrong type : step back, look at the design again.
When you see it, use the right type in the first place. Most of the
conversions will disappear, leaving a cleaner, simpler design.
One of VHDL's strengths is the way the type system can help you, if you
let it instead of fighting it.
> Second, you need to learn how to run the simulator, and how to build
> test benches of stimuli for the VHDL logic to respond to. Not real
> hard, but REALLY gets verbose to flip bits on and off, delay a while,
> flip some more bits, etc.
But if you write the same flipping code more than twice, it's time to
move it into a procedure.
Using VHDL at a higher level, it can become less verbose, more reusable,
and certainly easier to understand.
Once you have grasped the basics, and move on to more complex projects,
you'll want to look at advanced verification tools, such as OSVVM, and
the VUnit testing framework.
Another strength of VHDL is that these tools are pure VHDL, free, and
open-source, where alternatives might require you to move from Verilog to
System Verilog and expensive closed source tools.
OSVVM:
www.osvvm.org
VUnit
https://github.com/LarsAsplund/vunithttps://www.linkedin.com/pulse/free-open-source-verification-vunit-ghdl-
lars-asplund?trk=prof-post
-- Brian
Reply by Hamid Kavianathar●December 23, 20152015-12-23
On Wednesday, December 23, 2015 at 10:53:13 AM UTC-8, Jon Elson wrote:
> Hamid Kavianathar wrote:
>
>
> >
> > thanks for your attention. Excuse me, I've studied VHDL. I want to learn
> > how to use ISE, ... .
> Sure. Download Ise and get the webpack license - free, but you have to
> register and go through some hassle filling out a few forms.
>
> I do all my work on smaller FPGAs and CPLDs, so the webpack license supports
> all the devices I need.
>
> Really, there are only a few major parts of Ise you need to be concerned
> with. First, of course, is the HDL language of your choice. I also prefer
> VHDL, it may be a hair more verbose and requires you to specify many type
> conversions, but I think that latter bit is a plus!
>
> Second, you need to learn how to run the simulator, and how to build test
> benches of stimuli for the VHDL logic to respond to. Not real hard, but
> REALLY gets verbose to flip bits on and off, delay a while, flip some more
> bits, etc.
>
> The last parts are the constraints file and Impact to download the config to
> real hardware.
>
> Xilinx' docs are not bad. If you can't find it there, they have forums that
> can give a lot of help.
>
> Jon
thanks Jon. You helped me a lot.
Reply by Jon Elson●December 23, 20152015-12-23
Hamid Kavianathar wrote:
>
> thanks for your attention. Excuse me, I've studied VHDL. I want to learn
> how to use ISE, ... .
Sure. Download Ise and get the webpack license - free, but you have to
register and go through some hassle filling out a few forms.
I do all my work on smaller FPGAs and CPLDs, so the webpack license supports
all the devices I need.
Really, there are only a few major parts of Ise you need to be concerned
with. First, of course, is the HDL language of your choice. I also prefer
VHDL, it may be a hair more verbose and requires you to specify many type
conversions, but I think that latter bit is a plus!
Second, you need to learn how to run the simulator, and how to build test
benches of stimuli for the VHDL logic to respond to. Not real hard, but
REALLY gets verbose to flip bits on and off, delay a while, flip some more
bits, etc.
The last parts are the constraints file and Impact to download the config to
real hardware.
Xilinx' docs are not bad. If you can't find it there, they have forums that
can give a lot of help.
Jon
Reply by Hamid Kavianathar●December 23, 20152015-12-23
On Wednesday, December 23, 2015 at 7:04:50 AM UTC-8, Nicholas Collin Paul de Gloucester wrote:
> On December 23rd, 2015, Hamid Kavianathar posted:
> |--------------------------------------------------------------------|
> |"I know this subject is very repetitive, but It's very confusing to |
> |me. I'm familiar to verilog coding and digital circuit designing but|
> |I haven't work with FPGAs. I want to learn it. could you please help|
> |me? Thanks." |
> |--------------------------------------------------------------------|
>
>
> Dear Hamid Kavianathar:
>
> This is repetitive and well worth repeating - use VHDL. A good author
> is Dr. Peter Ashenden. He is the author of "The Student's Guide to
> VHDL" -
> WWW.Ashenden.com.Au
>
> Regards,
> Nicholas Collin Paul de Gloucester
thanks for your attention. Excuse me, I've studied VHDL. I want to learn how to use ISE, ... .
Reply by Nicholas Collin Paul de Gloucester●December 23, 20152015-12-23
On December 23rd, 2015, Hamid Kavianathar posted:
|--------------------------------------------------------------------|
|"I know this subject is very repetitive, but It's very confusing to |
|me. I'm familiar to verilog coding and digital circuit designing but|
|I haven't work with FPGAs. I want to learn it. could you please help|
|me? Thanks." |
|--------------------------------------------------------------------|
Dear Hamid Kavianathar:
This is repetitive and well worth repeating - use VHDL. A good author
is Dr. Peter Ashenden. He is the author of "The Student's Guide to
VHDL" -
WWW.Ashenden.com.Au
Regards,
Nicholas Collin Paul de Gloucester