(5) what are good ways to learn to get better at digital design_ - quora

Upload: ishansaini

Post on 13-Apr-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 (5) What Are Good Ways to Learn to Get Better at Digital Design_ - Quora

    1/4

    18/10/2015 ( 5) W hat ar e good w ays to lear n to get better at digi tal design? - Quor a

    https://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design 1/4

    7,633

    53

    53 FOLLOWERS

    Last asked: 22 Jul 2013

    QUESTION TOPICS

    QUE STION STATS

    Views

    Followers

    Edits

    Follow 53 Comment Share Downvote

    VLSI: What are good ways to learn to get better at

    digital design?

    5 Answers

    SemiconductorCompanies(Startups)

    VHDL

    Digital Electronics

    Verilog

    Semiconductors

    VLSI

    Edit Topics

    Re-Ask

    Ishan Saini

    Add Bio Make Anonymous

    Write your answer, or answer later

    Upvote Downvote Comment 1 Share 1

    Short answer is by applying what you learned..But I guess this is not what you

    wanted to know when you p osted the qn. Try to participate in opencoresprojects..get anaccount in Page on Upverter , engage in public projects, build

    your own electronic ckts...try it with arduino and then with raspberry pi or

    better raspberry pi with arduino shield...In context of VLSI design, there are

    tons of resources on google..now a days every univ has coursework on digital

    design either at undergrad or at graduate level..I answered few qns on Quora

    itself on the same topic...

    But unless you know how to build and program simple ckts in practice ,

    everything else is useless...

    Written 26 Jul 2013 View Upvotes

    Kiran Bulusu, Semiconductor expert & Technologist

    3.1k Views Kiran has 20+ answers in VLSI.

    18

    Well, I guess I also want to do the same. Its a no easy task to do.

    Digital design(RTL) is not an isolated activityand there are lots of side

    areas that one might need to touch upon while doing so. These could be ability

    to understand algorithms and write code (reference implementation),

    familiarity (or ability to understand) of subjects such as signal processing,

    communication, computer architecture, compilers, Networking, analog

    electronics, cryptography, information theory etc. Most of these other subjects

    are domain areas which require digital design implementations

    Also there are lot of areas in digital d esign that many books simply donotspend time on. Those are the grey areas which are hard to learn and requires

    R&D (or just ask on Quora/stackoverflow) and come with practice/experience

    only. These are the skills which differentiates expert digital designers from

    novice

    Here are my suggestions and the way I am trying to do it.

    Firstyou should commit yourself to read quality material and to practice on

    regular basis. There are many resources( I will suggest some in the end)

    available. But its important to start and stick to one HDL language initially and

    master it.

    Second, you should try to get hands-on on the tools of the trade. Buy a decent

    FPGA board such as Xilinx Zynq SoC based board. Altera also has SoC based

    FPGA boards (Cylone V). Most boards come up with a Modeslim simulator and

    a vendor/device specific HDL(RTL) synthesis tools. I would also like to

    mention SmartFusion2 SoC boards from Microsemi that comes with a free

    Synplify pro license(quality tool for synthesis). When you work in a company,

    you are a lso expected to be comfortable using tools such as oscilloscope, signal

    Varun Nagpal Request Bio

    1.7k Views

    https://www.quora.com/Semiconductor-Companies-Startupshttps://www.quora.com/Santosh-Desirajuhttps://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design/loghttps://www.quora.com/Semiconductorshttp://upverter.com/https://www.quora.com/Kiran-Bulusuhttps://www.quora.com/Kiran-Bulusu/answers/Very-large-scale-integrationhttps://www.quora.com/Very-large-scale-integrationhttps://www.quora.com/Varun-Nagpal-3https://www.quora.com/Varun-Nagpal-3https://www.quora.com/Very-large-scale-integrationhttps://www.quora.com/Kiran-Bulusu/answers/Very-large-scale-integrationhttps://www.quora.com/Kiran-Bulusuhttps://www.quora.com/Kiran-Bulusuhttps://www.quora.com/Kiran-Bulusuhttps://www.quora.com/api/mobile_expanded_voter_list?type=answer&key=XBO5HFjOju8https://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design/answer/Kiran-Bulusuhttp://upverter.com/https://www.quora.com/Ishan-Saini-1https://www.quora.com/Very-large-scale-integrationhttps://www.quora.com/Semiconductorshttps://www.quora.com/Veriloghttps://www.quora.com/Digital-Electronicshttps://www.quora.com/VHDLhttps://www.quora.com/Semiconductor-Companies-Startupshttps://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design/loghttps://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design/followershttps://www.quora.com/Harish-Mg-1https://www.quora.com/Chako-Anetaportahttps://www.quora.com/Mahalakshmi-Subramanian-3https://www.quora.com/Siva-Prasanth-1https://www.quora.com/Pasquale-Ferrarahttps://www.quora.com/Dinesh-Thangavelhttps://www.quora.com/Mikael-Bengtssonhttps://www.quora.com/Manjiri-Katmorehttps://www.quora.com/Skanda-Shridharhttps://www.quora.com/Santosh-Desiraju
  • 7/24/2019 (5) What Are Good Ways to Learn to Get Better at Digital Design_ - Quora

    2/4

    18/10/2015 ( 5) W hat ar e good w ays to lear n to get better at digi tal design? - Quor a

    https://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design 2/4

    generators, logic analyzers, multimeters, etc. Most of these tools can be

    bought(not very expensive except oscilloscope and signal generator). You can

    always go for second hand equipments if things out of budget.

    Third, you should build skills from bottom-up i.e. first build basic digital

    circuits or building blocks, try to cover as many of them. This will make you

    comfortable with basic stuff and give confidence to move up the ladder. Once

    you have d one that, start building something of medium complexity such as

    Peripheral (UART, I2C, SPI), Memory controllers, FIR filter, ALUs, 8-bit ISA

    Microprocessor etc. From there on you can explore bigger designs such as

    Audio/Video Codecs, Pipelined 32-bit mult-cycle processor, Cryptographyalgorithms, Micro-architecture circuits. Going step-by-step is the key.

    Lastly, read less and DIY more and have fun while doing all this. Just dont

    write RTL and simulate in Modelsim, please run/debug on the board in real-

    time.

    Hands-on hands-on..practice practice..fun fun...all that matters.

    Pre-Basic Books

    - Fundamentals of Logic Design by Charles Roth

    Basic RTL Books (VHDL/Verilog)

    - RTL hardware using VHDL - Pong Chu

    - FPGA Prototyping by VHDL Examples - Pong Chu

    - Circuit design and simulation with VHDL - Pedroni

    - FPGA Prototyping by VERILOG Examples Pong Chu

    - Advanced Digital Design with the Verilog HDL - Ciletti

    General Books (Systemverilog/VHDL and for Higher level

    understanding )

    - Digital design and Computer Architecture - Harris & Harris

    - Top-down VLSI design by Hubert Kaeslin which covers FPGA/ASIC front-

    end flow

    - A practical introduction to HW/SW codesign - Patrick Schaumont(2nd ed)

    Topic specific books

    - FSM in Hardware (VHDL/SystemVerilog) by Pedroni- Constraining designs for Synthesis and Timing Analysis

    - Digital Design of Signal Processing Systems - Khan

    - High level synthesis Blue book

    Grey areas

    - Simulation only HDL constructs vs Synthesis only HDL constructs

    - Mixed Hdl coding

    - Reading data-sheets, schematics

    - Timed and Concurrent FSMs

    - Applying Verification concepts to create good Testbenches

    - In-circuit debugging (Chipscope on Xilinx and Signal tap on Altera )

    - Clock domain crossing

    - Deriving clocks(PLL)

    - Handling asynchronous data/control signals

    - Creating and Integrating IPs

    - Creating SoC buses and attaching IPs to them

    - Interaction between FPGA and firmware C code

    - Interfacing FPGA with external components (ADC, DAC or uController

    SDRAM etc)

    - Constraining Designs (SDC) for Synthesis and Timing Closure

    - Writing TCL scripts and Perl scripts for automating tool flow

    - Understanding trade-offs (circuit speed vs area )

    - Logic synthesis concepts and how different synthesis/simulation tool work

    internally

    - High Level Synthesis (Algorithm to RTL mapping) is a great to have skill

    - TLM(Transaction level modeling)

    - HW/SW Co-design: partitioning algorithm implementation effectivelybetween software(micro-controller or a pplication processor) a nd

    hardware(fpga/asic)

    PS: Seems like I wrote this answer more for myself then the guy who asked this

    question.

  • 7/24/2019 (5) What Are Good Ways to Learn to Get Better at Digital Design_ - Quora

    3/4

    18/10/2015 ( 5) W hat ar e good w ays to lear n to get better at digi tal design? - Quor a

    https://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design 3/4

    1 Answer Collapsed (Why?)

    Upvote Downvote Comments 2+ Share

    Updated 18 May View Upvotes

    45

    Upvote Downvote Comment Share 1

    See Pasquale Ferrara's answer to I am not a beginner. How should I proceed in

    digital VLSI design?and Pasquale Ferrara's answer to Embedded systems or

    VLSI design?.

    Do not take up Kiran Bulusu's suggestions.

    If you wanna design embedded systems, use design methodologies like

    application-specific instruction-set processors (ASIP) and contemporary

    techniques for hardware/software co-design and co-verification. The stuff that

    Kiran mentioned won't help you get high-end R&D jobs in digital design.

    Updated 20 Jan View Upvotes

    Pasquale Ferrara, Ph.D. student doing research in Electronic Design

    Automation

    2.3k Views Pasquale has 50+ answers in VLSI.

    13

    Upvote Downvote Comment 1 Share

    I would recommend beginning with the following :1. Reading basic Digital Design Book like Morris Mano

    2. Referring some online course material like MIT Opencourseware

    3. Applying these into simple projects by using projects downloaded from

    simple websites like vlsi-expert, asic world and testbench (Please google these

    websites)

    4. Use a open source simulator and synthesizer to implement.

    Written 2 May 2014 View Upvotes

    Shubham Agarwal, VHDL-coding = NOT (programming)

    1.4k Views

    4

    Upvote Downvote Comment Share

    Doing projects that's a way... You get better and modern exposure compared to

    reading books... For an example, you learn about basic gates, adder's, clocking,

    data holding and a few more when you try out a simple project like a wallace

    tree multiplier, A four-bit ALU of a microprocessor, etc. Projects shorten your

    learning curve.

    Updated 20 Jan View Upvotes

    Arunkumar Mourougappane, Job Seeker.....Enthusiast.....Interested in

    interesting stuff :P

    1.2k Views

    3

    Top Stories from Your Feed

    Ask QuestionSearch Home Write Notifications Ishan5

    https://www.quora.com/writehttps://www.quora.com/https://www.quora.com/https://www.quora.com/https://www.quora.com/Arunkumar-Mourougappanehttps://www.quora.com/Arunkumar-Mourougappanehttps://www.quora.com/api/mobile_expanded_voter_list?type=answer&key=9anvdteYSdmhttps://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design/answer/Arunkumar-Mourougappanehttps://www.quora.com/Shubham-Agarwal-48https://www.quora.com/Shubham-Agarwal-48https://www.quora.com/api/mobile_expanded_voter_list?type=answer&key=LUvLUekPUyxhttps://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design/answer/Shubham-Agarwal-48https://www.quora.com/Very-large-scale-integrationhttps://www.quora.com/Pasquale-Ferrara/answers/Very-large-scale-integrationhttps://www.quora.com/Pasquale-Ferrarahttps://www.quora.com/Pasquale-Ferrarahttps://www.quora.com/Pasquale-Ferrarahttps://www.quora.com/api/mobile_expanded_voter_list?type=answer&key=b2c8JiAy3uHhttps://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design/answer/Pasquale-Ferrarahttps://www.quora.com/Kiran-Bulusuhttps://www.quora.com/Embedded-systems-or-VLSI-design/answers/1724333https://www.quora.com/I-am-not-a-beginner-How-should-I-proceed-in-digital-VLSI-design/answer/Pasquale-Ferrarahttps://www.quora.com/api/mobile_expanded_voter_list?type=answer&key=a5wBozZKSFhhttps://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design/answer/Varun-Nagpal-3https://www.quora.com/Official-Quora-Answers/Why-are-answers-on-Quora-collapsed
  • 7/24/2019 (5) What Are Good Ways to Learn to Get Better at Digital Design_ - Quora

    4/4

    18/10/2015 ( 5) W hat ar e good w ays to lear n to get better at digi tal design? - Quor a

    https://www.quora.com/Very-large-scale-integration/What-are-good-ways-to-learn-to-get-better-at-digital-design 4/4