Advice on Learning Digital Design On Your Own

Thread Starter

lewis12

Joined May 11, 2021
1
For background, the majority of my experience as a student has been in analog electronics. My overall goal is to become an excellent mixed-signal circuit/system designer. To do that, this summer I want to put focus on digital circuit design. I plan on reading a lot into the topic, but are there other effective ways I could get some experience in this field? I’ve considered getting an FPGA to practice digital design, but I’m not sure if it applies to what I want to learn.

Thanks.

**EDIT: It seems that FPGA is the way to go. Digilent has some good FPGA options an I'm specifically looking at the Nexys A7. It costs $265, but with academic discount you can get it for $200. It seems like a board with a lot of potential and capabilities. Also, I've read that the documentation is pretty good. Will definitely look into this more. Thanks for the help.
 

andrewmm

Joined Feb 25, 2011
1,466
Advice, which i was given, but generally failed at.

never be afraid to ask,
and remember you have two ears one mouth , so listen twice as much as you speak..

Digital circuit design,
you have the software way ( as in FPGA's ) and the hardware way, as in IO pins / circuits.

Digilent are a great company , especially to learn with, the boards are reasonably priced, and they have good forums for support.

If your going down the FPGA route,
you have a number of choices.

a) Language . you have RTL ( Verilog or VHDL ) , or you have the "high level abstractions such as HLS

b) vendor. You have the big two, Xilinx, soon to be AMD, and intel , used to be Altera.
each have separate tool chains, which are similar but different,
Each have FPGAs that are similar, but have limited compatibility.
( there are others, but suggest you stick to one of the big two )


IMHO, and I am very biased,
Learn a RTL like VHDL, and use Xilinx parts.
Other views are available.


Other points,
Get yourself a good book in the chosen language you want to use.
Get yourself registered on the forums of the board / tool chain your using before yo need to ask questions.
Try to get the simple project s done,
flash a led, then try to change the led speed / mark space ratio
learn to use the simulators, you will spend most of your time in simulation
read switches
 

FlyingDutch

Joined Mar 16, 2021
49
...
Other points,
Get yourself a good book in the chosen language you want to use.
Get yourself registered on the forums of the board / tool chain your using before yo need to ask questions.
Try to get the simple project s done,
flash a led, then try to change the led speed / mark space ratio
learn to use the simulators, you will spend most of your time in simulation
read switches
Hello,

regarding good books - I like very much "FPGA Prototyping by Verilog Examples" and "FPGA Prototyping by VHDL Examples" (these books are free to download and use). See links:

http://blog.aku.edu.tr/ismailkoyuncu/files/2017/04/02_ebook.pdf
https://faculty.kfupm.edu.sa/COE/aimane/coe405/FPGA Prototyping with Verilog examples.pdf

Both are written by Pong P. Chu. The only issue with this book is that all examples are related to Xilinx Spartan3 FPGA which is a bit outdated now. But there is still available FPGA board with Spartan3 at "Numato Labs":

https://numato.com/product/elbert-v2-spartan-3a-fpga-development-board/

This board is good equipped and costs 40$ - it is worth to buy and make exercised from mentioned books.

BTW: on opencores.org website there is many interesting projects in HDL languages (Verilog, VHDL) - see link:
https://opencores.org/

Best Regards
 
Last edited:

BobTPH

Joined Jun 5, 2013
3,308
I agree with your decision to learn FPGAs. There is not much call for discrete digital design now, and I don’t know how you could learn IC design on your own.


Bob
 

BobaMosfet

Joined Jul 1, 2009
1,772
For background, the majority of my experience as a student has been in analog electronics. My overall goal is to become an excellent mixed-signal circuit/system designer. To do that, this summer I want to put focus on digital circuit design. I plan on reading a lot into the topic, but are there other effective ways I could get some experience in this field? I’ve considered getting an FPGA to practice digital design, but I’m not sure if it applies to what I want to learn.

Thanks.

**EDIT: It seems that FPGA is the way to go. Digilent has some good FPGA options an I'm specifically looking at the Nexys A7. It costs $265, but with academic discount you can get it for $200. It seems like a board with a lot of potential and capabilities. Also, I've read that the documentation is pretty good. Will definitely look into this more. Thanks for the help.
You're looking at Analog .v. Digital in a broad way. In a another way, for the most part, Digital is -on pcb-. Whatever logic is being done via embedded MCUs, FPGAs, etc, is usually digital (ie. square-wave 1 or 0) realm. Analog is -off pcb-. Meaning, analog is transducer stuff- the real world, anything beyond the PCB that the logic has to analyze, deal with, transform, etc.

So I'd look at
  1. the data sheet
  2. the available vendor educational materials/support
  3. the expense of flash programmer
  4. the number of internet help sites about that MCU

for a given top 3 MCUs and pick the one you can afford, like the information about, and find the most useful information freely about, with good or excellent vendor support.
 

andrewmm

Joined Feb 25, 2011
1,466
Hello,

regarding good books - I like very much "FPGA Prototyping by Verilog Examples" and "FPGA Prototyping by VHDL Examples" (these books are free to download and use). See links:

http://blog.aku.edu.tr/ismailkoyuncu/files/2017/04/02_ebook.pdf
https://faculty.kfupm.edu.sa/COE/aimane/coe405/FPGA Prototyping with Verilog examples.pdf

Both are written by Pong P. Chu. The only issue with this book is that all examples are related to Xilinx Spartan3 FPGA which is a bit outdated now. But there is still available FPGA board with Spartan3 at "Numato Labs":

https://numato.com/product/elbert-v2-spartan-3a-fpga-development-board/

This board is good equipped and costs 40$ - it is worth to buy and make exercised from mentioned books.

Best Regards
Down side of spartan 3, is the tools are also old, and do not run on W10 .
the "solution" is to use the Virtual machine with Linux on it and the old tools installed on that
The old ISE also has a proprietary timing syntax / system, which is not compatible to the now "universal" SDC, which is in the new tools ( Vivado ).

Ive just had look at that book for VHDL,
Suggest not to use it, VERY old code structures that are just not used now days

such as ( if (clk’event and clk=’l’) )
instead of if rising_edge( clk )

Very old state machine designs,
its liable to guide you into a dead end
 

FlyingDutch

Joined Mar 16, 2021
49
Down side of spartan 3, is the tools are also old, and do not run on W10 .
the "solution" is to use the Virtual machine with Linux on it and the old tools installed on that
The old ISE also has a proprietary timing syntax / system, which is not compatible to the now "universal" SDC, which is in the new tools ( Vivado ).
Hello,

ISE 14.7 is running fine on Windows 10 (64-bit) - there is only need to replace one DLL library - here is link to download:

https://www.xilinx.com/support/down...nloadNav/vivado-design-tools/archive-ise.html

You can download version 14.7 for Windows (not virtual machine).
In order to ISE 14.7 work properly on Windows 10 (64-bit) there is need to replace file libPortability.dll from
...\Xilinx\14.7\ISE_DS\ISE\lib\nt64 (where ... is ISE instal dir)
with file libPortabilityNOSH.dll, from folder: ...\Xilinx\14.7\ISE_DS\ISE\lib\nt64

IMHO - these books are good for me, only after reading them I had understood in details many raised subjects (I read few different other books before).

BTW: here is screenshot from my Windows10 (64-bit) running ISE 14.7 (Webpack) 64-bit.
1620754298375.png
There are also many tutorials on nandland.com (Youtube) page - see link:
https://www.youtube.com/results?search_query=nandland.com+fpga+course

Best Regards
 
Last edited:

Papabravo

Joined Feb 24, 2006
16,111
I actually have an alternate suggestion.

Learn digital design by learning to program microcontrollers and all of their peripherals. Then branch out into interfacing those internal peripherals to external interfaces. All the basics are there from Boolean operations to sequential machines. As has already been pointed out there is not much discrete design going on. It's just a suggestion. I learned programming first, digital second, and analog last. Hopefully you will end up in the same place as I did after a suitable period of time.
 

andrewmm

Joined Feb 25, 2011
1,466
Hello,

ISE 14.7 is running fine on Windows 10 (64-bit) - there is only need to replace one DLL library - here is link to download:

https://www.xilinx.com/support/down...nloadNav/vivado-design-tools/archive-ise.html

You can download version 14.7 for Windows (not virtual machine).
In order to ISE 14.7 work properly on Windows 10 (64-bit) there is need to replace file libPortability.dll from
...\Xilinx\14.7\ISE_DS\ISE\lib\nt64 (where ... is ISE instal dir)
with file libPortabilityNOSH.dll, from folder: ...\Xilinx\14.7\ISE_DS\ISE\lib\nt64

IMHO - these books are good for me, only after reading them I had understood in details many raised subjects (I read few different other books before).

BTW: here is screenshot from my Windows10 (64-bit) running ISE 14.7 (Webpack) 64-bit.
View attachment 238019
There are also many tutorials on nandland.com (Youtube) page - see link:
https://www.youtube.com/results?search_query=nandland.com+fpga+course

Best Regards
I will put one thought out here,

this route of "just" changing files around is not supported by Xilinx nor any one else,
Its been like this for around 10 years now I think, may be 7 ! but.

I have seen multiple times, people saying "we just do this" and its fine,
then one W10 update comes along and hey presto, it falls over,
I've had one student that just before final submission had this ,

Also look at the number of "this is how you can" sites there are, with many different changes, to make ISE "work" on W10,
that's how many times its failed and had to be updated.

I've also had users who had a working system, moved to a new PC, new W10 install, and the same changes did not work

at end of day, Its up to you,

if you want to take the risk that the next W10 update leaves you with a system that does not work, possibly in subtle ways,
its your choice,

Please, @FlyingDutch

your view is valid, but please put in the caveat,
 

FlyingDutch

Joined Mar 16, 2021
49
I will put one thought out here,

this route of "just" changing files around is not supported by Xilinx nor any one else,
Its been like this for around 10 years now I think, may be 7 ! but.

I have seen multiple times, people saying "we just do this" and its fine,
then one W10 update comes along and hey presto, it falls over,
I've had one student that just before final submission had this ,

if you want to take the risk that the next W10 update leaves you with a system that does not work, possibly in subtle ways,
its your choice,

Please, @FlyingDutch

your view is valid, but please put in the caveat,
Hello,

this solution had been given on official Xilinx forum. I had this solution working for four years now and it is still working.
One can always use Linux which is much more stable and better OS then Windows10.

Best Regards
 

andrewmm

Joined Feb 25, 2011
1,466
Hello,

this solution had been given on official Xilinx forum. I had this solution working for four years now and it is still working.
One can always use Linux which is much more stable and better OS then Windows10.

Best Regards
All I'm saying is please put in the cavate that it is not supported by Xilinx, then let people make up there own mind,
 
Top