VHDL: various questions and issues...

N

Neil Zanella

Guest
Hello,

I would like to ask some general questions pertaining to VHDL which
I hope are appropriate for this list. I am somewhat new to VHDL and
am still trying to get a feel for what VHDL is used for and whether
I can really make good use of it to do various things or not (e.g.
get involved in some cool VHDL projects or do some cool VHDL stuff
etc...) I posted earlier but it seems my news server is down so I
am going to try and post again...

TIA for shedding some light over the following...

--- Issue One --------------------------------------------------------------

In VHDL, there always seem to be zillions of ways if doing the same
thing. Perhaps this is because VHDL is a modelling language. When it
comes to synthesis though, the same components present in the
hardware end up being the ones used, so it seems almost like it is to
some extent irrelevant how some particular functionality is modeled,
so long as the model can be synthesized on the target device, which
in most cases, AFAIK, consists of an FPGA or CPLD.

For instance, it is not clear to me when integer should be
used, and when vector should be used. It seems that one
advantage of using integers is to be able to address arrays. It
is also not clear to me when the dataflow model of VHDL
programming is to be preferred over the sequential one, and
vice versa.

Furthermore, it is not clear whether VHDL is a truly useful
tool in a programmer's toolbox. For instance many embedded
devices can be programmed in conventional programming languages
such as C. I would like to see some practical applications of
VHDL.

Where exactly is VHDL used? And is much designing whith VHDL
required in the real world? Who are the main users of VHDL? Who
is the community of VHDL users and what are most VHDL users'
goals when learning VHDL?

Are there any significanltly complex free VHDL designs out
there, in the same way several free software packages written
in other languages can be found complete with source code on
the web?

Basically, I am sort of curious to learn about what people are
really doing with VHDL and whether VHDL programming plays a
major or minor role in it.

--- Issue Two --------------------------------------------------------

I would like to design a digital circuit for a digital device with LCD
and sound output and data input. The data input connects to a PC from
where the data is loaded. The data consists of a small program written
on the PC using a custom compiler. Once the program is downloaded the
FPGA interprets it. I would like to use VHDL to program the
interpreter so that it displays the current time and other
stuffand output sound.

Is this reasonable or is VHDL not the right technology for the task at
hand? Also, how does one go from prototyping some device on some board
to manufacturing an actual gadget with plastic on the outside and of
the right dimensions (e.g. a digital wrist watch or similar)? Is VHDL
suitale for this task and what components would I need to purchase for
prototyping? How do I carry it from there to the manufacturing
process?

Would the above qualify for an application of VHDL or are there better
ways? Would I be nuts to use VHDL in the above process? Has anyone
tried doing anything similar, by any chance?


--- Issue Three ------------------------------------------------------------

I would like to know, how hard would it be to program an FPGA so
that it can communicate with a Linux kernel, and/or write a Linux
driver for the corresponding VHDL-programmed FPGA. Has anyone done
anything similar?

----------------------------------------------------------------------------

Thank you very much for your replies,

Kind Regards,

Neil
 
"Neil Zanella" <nzanella@cs.mun.ca> wrote in message
news:b68d2f19.0311161744.47d97112@posting.google.com...

Wow Neil, you really want all the works, don't you :)

--- Issue One -------------------------------

In VHDL, there always seem to be zillions of ways if doing the same
thing. Perhaps this is because VHDL is a modelling language. When it
comes to synthesis though, the same components present in the
hardware end up being the ones used, so it seems almost like it is to
some extent irrelevant how some particular functionality is modeled,
so long as the model can be synthesized on the target device, which
in most cases, AFAIK, consists of an FPGA or CPLD.
I can't argue with any of that, except that I don't really
see why you feel so strongly about "zillions of ways". Some
other languages I could name give you far, far more ways...

For instance, it is not clear to me when integer should be
used, and when vector should be used. It seems that one
advantage of using integers is to be able to address arrays.
Yes. But with vector arithmetic you can specify bit widths
(integer gives you 32 bits by default, and the synthesis
tool must work out for itself whether fewer bits is OK; it
can't always get this right). And in vector arithmetic
you retain the ability (inherited from std_logic) to
represent unknown, uninitialised and high-Z values.
Conversion from vector to integer and vice versa is
pretty cheap; in fact it's entirely free in synthesised
hardware.

is also not clear to me when the dataflow model of VHDL
programming is to be preferred over the sequential one, and
vice versa.
Bah, humbug. Despite what some jobs-worth textbooks may
have told you, VHDL has exactly one "model of computation",
and it ain't dataflow. The fundamental basis of VHDL is
signals and processes; everything else can be reduced to
a network of signals and processes, and is simply a
more or less important "shorthand" for a particular
special case. Which formulation you choose is entirely
a matter of style and convenience.

Furthermore, it is not clear whether VHDL is a truly useful
tool in a programmer's toolbox. For instance many embedded
devices can be programmed in conventional programming languages
such as C. I would like to see some practical applications of
VHDL.
I really don't understand what you are driving at here.
You can, if you are desperate, use VHDL as a "conventional
programming language" but you are an optimist if you
expect to get cross-compilers from VHDL to a microcontroller.
VHDL was designed for specifying and simulating electronic
systems, and VHDL "programs" are usually executed by a
VHDL simulator. Synthesis tools process a subset of
VHDL and create a netlist of the hardware that's modelled
by that VHDL.

Where exactly is VHDL used? And is much designing whith VHDL
required in the real world? Who are the main users of VHDL? Who
is the community of VHDL users and what are most VHDL users'
goals when learning VHDL?
See above. Primarily, the community that designs, specifies
and verifies digital ICs and FPGAs. To those people, it's
a vitally important tool. To the rest of the world, it's
irrelevant.

Are there any significanltly complex free VHDL designs out
there, in the same way several free software packages written
in other languages can be found complete with source code on
the web?
See www.opencores.org for some examples; I can't vouch for
their quality. See our website (details below). See the
FAQ of this group.


--- Issue Two --------------------------------------------------------

I would like to design a digital circuit for a digital device with LCD
and sound output and data input. The data input connects to a PC from
where the data is loaded. The data consists of a small program written
on the PC using a custom compiler. Once the program is downloaded the
FPGA interprets it. I would like to use VHDL to program the
interpreter so that it displays the current time and other
stuffand output sound.
Think in terms of using VHDL to help you design the HARDWARE.
If you then intend your hardware to be programmable, you will need
to find some way to create the programs that will run on it.
VHDL won't help you there.

Is this reasonable or is VHDL not the right technology for the task at
hand? Also, how does one go from prototyping some device on some board
to manufacturing an actual gadget with plastic on the outside and of
the right dimensions (e.g. a digital wrist watch or similar)?
Is VHDL suitale for this task
Is this a troll?

[snip more]
Now you're descending into fully-qualified troll land.
From what you've written before, I don't believe you are
as clueless about the electronics manufacturing process
as this post suggests. Please be a bit more specific
about *your* objectives so that I and others don't waste
too much more time.

--

Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * Perl * Tcl/Tk * Verification * Project Services

Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, Hampshire, BH24 1AW, UK
Tel: +44 (0)1425 471223 mail: jonathan.bromley@doulos.com
Fax: +44 (0)1425 471573 Web: http://www.doulos.com

The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.
 
nzanella@cs.mun.ca (Neil Zanella) wrote in message news:<b68d2f19.0311161744.47d97112@posting.google.com>...
Hello,

I would like to ask some general questions pertaining to VHDL which
I hope are appropriate for this list. I am somewhat new to VHDL and
am still trying to get a feel for what VHDL is used for and whether
I can really make good use of it to do various things or not (e.g.
get involved in some cool VHDL projects or do some cool VHDL stuff
etc...) I posted earlier but it seems my news server is down so I
am going to try and post again...

TIA for shedding some light over the following...

--- Issue One --------------------------------------------------------------

In VHDL, there always seem to be zillions of ways if doing the same
thing. Perhaps this is because VHDL is a modelling language. When it
comes to synthesis though, the same components present in the
hardware end up being the ones used, so it seems almost like it is to
some extent irrelevant how some particular functionality is modeled,
so long as the model can be synthesized on the target device, which
in most cases, AFAIK, consists of an FPGA or CPLD.
Almost correct--there are sometimes several ways to write code for
synthesizable hardware, but there may be only one or two ways that
will produce the the desired implementation. This often depends on
the synthesis software and how it will interpret the code. Part of
the beauty of VHDL to me is that one can write the code to simulate a
design in the same languaqe as the synthesis source code.
For instance, it is not clear to me when integer should be
used, and when vector should be used. It seems that one
advantage of using integers is to be able to address arrays. It
is also not clear to me when the dataflow model of VHDL
programming is to be preferred over the sequential one, and
vice versa.

If your code is addressing an array then an integer must be used.
Otherwise, I try to use a representation that most closely models the
actual data. This is most often standard logic or standard logic
vector.

Furthermore, it is not clear whether VHDL is a truly useful
tool in a programmer's toolbox. For instance many embedded
devices can be programmed in conventional programming languages
such as C. I would like to see some practical applications of
VHDL.

VHDL is not a computer programming language so programming an embedded
computer in VHDL is not an option. However, the computer itself could
be designed using VHDL and the designer can choose the instruction
set. I argue that if there were not many practical applications of
VHDL this forum would not exist.

Where exactly is VHDL used? And is much designing whith VHDL
required in the real world? Who are the main users of VHDL? Who
is the community of VHDL users and what are most VHDL users'
goals when learning VHDL?
In my case, I use VHDL for the design and simulation of CPLDs (Complex
Programmable Logic Devices) that are used in the digital subsystems of
electronic warfare simulators. In using CPLDs as opposed to FPGAs I
am in the minority of VHDL designers. But the basic idea is the same:
VHDL is used to design real digital hardware. If you read the posts
to this group for a while you will begin to get an idea of the
diversity of VHDL design projects being undertaken.

Are there any significanltly complex free VHDL designs out
there, in the same way several free software packages written
in other languages can be found complete with source code on
the web?

Basically, I am sort of curious to learn about what people are
really doing with VHDL and whether VHDL programming plays a
major or minor role in it.

--- Issue Two --------------------------------------------------------

I would like to design a digital circuit for a digital device with LCD
and sound output and data input. The data input connects to a PC from
where the data is loaded. The data consists of a small program written
on the PC using a custom compiler. Once the program is downloaded the
FPGA interprets it. I would like to use VHDL to program the
interpreter so that it displays the current time and other
stuffand output sound.

Is this reasonable or is VHDL not the right technology for the task at
hand? Also, how does one go from prototyping some device on some board
to manufacturing an actual gadget with plastic on the outside and of
the right dimensions (e.g. a digital wrist watch or similar)? Is VHDL
suitale for this task and what components would I need to purchase for
prototyping? How do I carry it from there to the manufacturing
process?

VHDL is used for the design and simulation of digital hardware devices
and will not help you with the mechanical design aspects of a project.
How you go from prototyping a device to manufacturing it is a vast
subject and beyond the scope of what I could write. However, I do
know you could use schematic capture/PCB design software, VHDL
synthesis and simulation software, software to facilitate make
mechanical design drawings and a lot of design knowledge and
experience.

Would the above qualify for an application of VHDL or are there better
ways? Would I be nuts to use VHDL in the above process? Has anyone
tried doing anything similar, by any chance?


--- Issue Three ------------------------------------------------------------

I would like to know, how hard would it be to program an FPGA so
that it can communicate with a Linux kernel, and/or write a Linux
driver for the corresponding VHDL-programmed FPGA. Has anyone done
anything similar?

I have not done anything like this.
----------------------------------------------------------------------------

Thank you very much for your replies,

Kind Regards,

Neil
 

Welcome to EDABoard.com

Sponsor

Back
Top