Home    Bloggers    Messages    Webinars    Resources   
Tw  |  Fb  |  In  |  Rss
Chris Taylor

Respect for the Professor: Building an FPGA Curriculum

Chris Taylor
Page 1 / 2   >   >>
Max Maxfield
Max Maxfield
7/30/2012 9:34:55 AM
User Rank
Blogger
Re: The Scope of FPGA Knowledge is very large
@halherta: I really do appreciate your saying so -- I must admit that I wish I had had this book when I was at college. In fact when I'm writing a book like "Bebop to the Boolean Boogie" I typically write with myself in mind -- that is, I write the sort of book I would like to have read when I was starting out (I know it's silly, but at the back of my mind there's always a little thought about sending the book back through time :-)

50%
50%
William Murray
William Murray
7/28/2012 5:19:37 PM
User Rank
Blogger
You never stop learning --
Have had to educate myself on FPGA's through self study -- many good books on the subject out there -- But many just present "design a CPU core as the central project"  so one has to ferrit out the others that cover other topics as well like Synchronous networks/ FIFO's , Networking , DSP, Wireless, etc to get more rounded.

50%
50%
halherta
halherta
7/28/2012 4:03:14 PM
User Rank
Beginner
Re: The Scope of FPGA Knowledge is very large
Max,

Thank you for writing such an awesome book that is fun to read and jam packed with digital design knowledge at the same time. I found this book to be a great refresher on digital circuits while working on my PhD and I only wished that it was around when I was studying digital circuits in my undergraduate years!

50%
50%
Myplanet
Myplanet
7/26/2012 3:02:35 AM
User Rank
Guru
Elective subjects
Chris, I think in most of the colleges, such subjects are given to students as elective subjects. Based on their choice and apt, they can select the desired subjects. But I know in most of the schools or colleges there are not enough knowledgeable persons to guide students in elective subjects, which are hot to the industry/ market.

100%
0%
Brian
Brian
7/25/2012 7:10:19 PM
User Rank
Guru
Re: A lively EE Times thread!
 

@hw_fw_engr: thank you very much for the summary!  Interesting...

 

50%
50%
Max Maxfield
Max Maxfield
7/25/2012 6:04:53 PM
User Rank
Blogger
Re: The Scope of FPGA Knowledge is very large
@halherta: Why, thank you so much for referencing my book "Bebop" -- that is really very kind of you -- I must admit that I really am rather proud of that one, because it was my first book (of course it's not in its third edition, so it's reasonably up to date).

50%
50%
hw_fw_engr
hw_fw_engr
7/25/2012 4:07:51 PM
User Rank
Intermediate
Re: A lively EE Times thread!
I am on a lot of FPGA blogs including 2 on Linked In. This discussion is kicked around there often. The consensus is as follows:


us comapnies: verilog

european companies: vhdl

aerospace: vhdl (defense industry invented vhdl as did they ada when vhdl is derived)

 

I prefer verilog myself being also a long time C programmer. Syntax is similar, however the mindset is totally different. When writing Verilog you must think circuits and write to fit accordingly. If you try to write as a programmer, you will find yourself quickley in a quagmire.

 

50%
50%
halherta
halherta
7/25/2012 2:33:53 PM
User Rank
Beginner
The Scope of FPGA Knowledge is very large
The reason why FPGA's may not be taught properly in a Bachelors of Electrical Engineering is that the breadth of knowledge required to understand FPGAs is huge.

You need to know the following:
  • Basic Digital Logic Theory
  • Advanced Digital Logic Theory - state Machines
  • Register Transfer level based design techniques
  • FPGA Architecture
  • FPGA Design Flow
  • Desiging basic digital circuits in VHDL/Verilog
  • Using FSM and RT methodologies to design more complicated Digital circuits using VHDL/Verilog
  • Designing/programming softcore microprocessors on an FPGA

You can't teach all of this stuff in the usual 2-3 courses usually allocated to Digital Circuits and FPGA's in an EE curriculum. you need at least 5-6 course slots to deliver all of this material.

I also agree with Duane that hands on prototyping of digital circuits from discrete logic gates is absolutely invaluable and will help develop the student's understanding of logic circuitry as well as their debugging capability.

I really like Pong P. Chu's books on FPGA design. They played a big role in helping me manage the FPGA/VHDL/Verilog parts of the necessary FPGA knowledge.

For the basics of Digital Logic Theory I recommend Morris Mano's book on Digital Design and Clive's book "Bebop to the boolean Boogie"

 

 

 

50%
50%
Duane Benson
Duane Benson
7/25/2012 2:10:18 PM
User Rank
Blogger
Where I'd start
I'm still in the very earliest stages of my FPGA journey. From my perspective, though it may seem an anachronism, I would get out some 7400 series logic chips first. My line of thinking indicates that seeing the chips and actually plugging wires is a very helpful foundation.

Once you are into the FPGA, I'd go with the simpler approach to start with. First get the basic concepts down and then things like implementing digital clock managers will make mores sense and be easier to learn.

50%
50%
Karl
Karl
7/25/2012 10:51:40 AM
User Rank
Guru
Beginning with fundamentals/generics
The easiet way for me to learn is to establish a base and build from there.  Building on a base re-enforces so the basics become instinctive.

Here is a first cut example that I think could be usable to establish the pre-reqs.

By reviewing basics the focus cans be sharpened and the starting level can be identified.  It should not take much time to cover that an FPGA interfaces to the world via "pins" that have high and low voltage levels and that a high level is a binary '1' and low is '0' and for Boolean logic a high level is 'true' while low is 'false'

Further, a group of binary values can be ordered by exponents of two to represent numerical values.

Now the objective is to take input control signals and binary input values and manipulate the data to generate new output values.  

The inputs arrive at different times from various places and there are generally several steps required to generate the output.  Clocks are used to synchronize and sequence the operations.

The synchronization and intermediate results need storage elements to hold data and sequencing controls.

The FPGA logic design is separate from the board physical design, however the correct pins must be identified for the logic design based on the board wiring.

There are various tool chains/programs involved to generate the configuration data to establish the FPGA functions.  The design input defines the storage elements, the interconnections among them and the control logic that sequences the flow of data.

The most popular are VHDL and Verilog hardware description languages.  They are the inputs used to define the bit stream to configure/"program" the FPGA.

Usually either or both can be used for synthesis, but have different non-synthesizable constructs and different syntax.

The FPGA has registers and memories for storage and LUTS (look up tables) for logic and arithmetic expression evaluation.

The main difference between FPGAs vs ASICs are LUTs vs gates and a key factor for FPGA design is efficient utilization of LUTS.

A six input LUT can be extremely powerful but if only 2 or 3 inputs are used a long slow path can result with a lot more LUTs used.

 

50%
50%
Page 1 / 2   >   >>
More Blogs from Chris Taylor
As versatile and accessible as home fabrication has become, there remains an enormous hurdle: DIY semiconductor chip fabrication.
FPGAs are becoming increasingly common in the hobbyist world based on the merits of customization and speed and the advantages associated with the concept of open-source.
Using a Papilio FPGA Development Board, the team built an AVR8-based soft-controller, running on the Papilio, that could handle the kind of data processing and buffering required for the project, while still being able to write code in the Arduino domain.
When learning any hardware for the first time, one always runs into peculiarities that are so foreign and frustrating that they discourage the learner (especially the self-taught learner) from progressing further.
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