Top Banner

Click here to load reader

of 33

Intro

May 31, 2015

Download

Education

Mohamed Rayan

Is an introduction for digital design crash course using Verilog,
Those slides are just quick refreshment for most important parts in logic circuits, Brief history about the field and steps we follow to get a chip.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 1. Digital Design Crash Course Mohamed Rayan

2. Overview General discussion. Digital design brief history. Electronic Design Automation. Digital design flow. 3. General Discussion 4. Difference between Sequential and Combinational Circuits? Memory elements are devices capable of storing binary information. The binary information stored in these elements at any given time defines thestate of the sequential circuit at that time. 5. Combinational Circuits?Q = fn ( A,b,c) E.g: Compartors, Muxes, Decoders, Adders, subtractors,multipliers, 6. Signed binary numbers representation Signed magnitude(1-bit for sign only). 1s Complement(Inversion). 2s Complement(Inversion + increment 1).+5 (0 101) +5 (0 101) +5 (0 101)-5(1 101) -5(1 010). -5(1 011) 7. Sequential logic circuits (with storage elements) Synchronous logic circuits : 1- Its behavior can be defined from the knowledge of its signals at discrete instants of time. 2- Storage elements used here will have a change at the same time e.g registers change with clock event Asynchronous logic circuits(Combinational circuits with feed back): 1- Its behavior of an asynchronous sequential circuit depends upon the input signals at any instant of time and the order in which the inputs change. 2- storage elements commonly used in asynchronous sequential circuits are time-delay devices e.g gate propagation delay. 8. Synchronous Sequential logic circuits 9. Latches and Flip-Flops Latches (Level triggered): SR latch (May go to Meta stable state?!!) 10. Latches and Flip-Flops Latches(Level triggered): D-latch is the most commonly used to eliminate the undesirablecondition (Occurrence of Metstability) of the indeterminate state in the SR latch is to ensure that inputs S and R are never equal to 0 at the same time. 11. Latches and Flip-Flops Flip-Flops(Edge triggered): Using Flip-flops as a storage element makes the system more reliable and maintain system robustness. Output changes if and only if with the edge of Clock . 12. Latches and Flip-Flops Flip-Flops(Edge triggered): 13. Why we use Flip-Flops and not to use latches?1- Latches are level triggered but Flip-Flops are edge triggered. Latches are just timing delays in Asynchronous sequential circuit and hence they are used in a circuit to adjusts delays between different paths for the required circuit functionality taking into consideration propagation delays of every single gate that form combinational circuit , So Designing a circuit using latches is so difficult. Flip-Flops are edge triggered so all outputs are changing at the same time with the occurrence of certain event which is the clock edge taking into consideration the frequency of this clock and this is function in longest path in the circuit , So Designing a circuit using flip-flops will be more easier. 14. Why we use Flip-Flops and not to use latches? 2- Using latches lead to un-relaible circuits . A sequential circuit has a feedback path from the outputs of storage element to the input of the combinational circuit. Consequently, the inputs of the storage element are derived in part from the outputs of the same and other storage element. When latches are used for the storage elements, a serious difficulty arises. The state transitions of the latches start as soon as the clock pulse changes to the logic-1 level. The new state of a latch appears at the output while the pulse is still active. This output is connected to the inputs of the latches through the combinational circuit. If the inputs applied to the latches change while the clock pulse is still at the logic-1 level, the latches will respond to new values and a new output state may occur. The result is an unpredictable situation, since the state of the latches may keep changing for as long as the clock pulse stays at the active level. Because of this unreliable operation, the output of a latch cannot be applied directly or through combinational logic to the input of the same or another latch when all the latches are triggered by a common clock source. 3- Simulation tools cant track outputs of Asynchronous circuits i.e Latches 15. Latches and Flip-Flops Comparison between Latches and Flip-flopsParameterLatchesFlip-FlopsAreaLessMoreGlitches proneMoreLessOutput ResponseDoesnt wait to an an event i.e when input changes output will change directlyOutput change according to an input when an an event occursSimulation ToolNot SupportedSupportedConstraintsDont have clock constraint but delays of combinational circuit must be fixed to ensure reliable operationHaving clock constraint From the previous table we conclude that Flip-Flops is more robust than latches so itis commonly used . 16. Registers and Counters Register A register is a group of flipflops, each one of which shares acommon clock. Register with Parallel load and Shift register? 17. Registers and Counters Counter is essentially a register that goes through a predetermined sequence of binary states. The gates is combinational logic used with register to do this sequence. are a special type of register . 18. Synchronous and Asynchronous Reset Reset Is to force the system to a known state. Is required to initialize a hardware design. Simply changes the state of device/design to a user/designer defined state. There are two types of reset : (Synchronous and Asynchronous reset) We cant expect any Sequential Circuit without reset. 19. Synchronous and Asynchronous Reset Synchronous Reset Reset is sampled with respect to clockAsynchronous Reset Reset is sampled with no respect to clockSynchronous reset requires more gates to Asynchronous reset requires less gates to implement (see the example below) implement (see the example below) Synchronous reset requires clock to be active alwaysAsynchronous reset does not require clock to be always activeSynchronous reset does not have metastability problems.Asynchronous reset suffer from metastability problems.Synchronous reset is slowAsynchronous reset is fast 20. Brief History 21. Brief History Digital circuit design has evolved rapidly over the last 25 years . Human always Seeks for Comfort and luxury and try to develop in everything to reach for these . This leads to exponential progress in Specs and Requirements of digital systems lead increasing in area, spead and complexity of designs. E.g: Digital cameras, high-definition TV, wireless phone, smart home, smart cars 22. Brief History 23. Brief History Digital ICs are often categorized according to the complexity of their circuits, as measured by the number of logic gates in a single package. SSI (small scale of integration) The number of gates is usually fewer than 10 and is limited by the number of pins available in the IC. 24. Brief History MSI (medium scale of integration) have a complexity of approximately 10 to 1,000 gates in a single package. 25. Brief History LSI (Large scale of Integration) devices contain thousands of gates in a single package. They include digital systems such as processors and memory chips. 26. Brief History VLSI (Very Large scale of Integration) devices now contain millions of gates within a single package. Examples are large memory arrays and complex microcomputer chips. 27. Electronic Design Automation (EDA) 28. Electronic Design Automation As we said that we may have single chip having hundred thousands of gates, so design processes started getting very complicated, Automated Process is a must. Traditional schematic-based design has no longer enough towards these design complexities. EDA covers all phases of the design of integrated Circuits using computeraided design (CAD) tools, which consist of software programs that support computerbased representations of circuits and aid in the development of digital hardware by automating the design process. 29. Electronic Design Automation Importance of HDLs(Hardware Description/Modeling) Designs can be described at a very abstract level by use of HDLs . To any abstracted level we can design? Ans: (according too the ability of the tool). Difference between Writing code for modeling H/W and S/W e.g C++ ? Designers can write their RTL description without choosing a specific fabrication technology. Logic synthesis tools can automatically convert the design to any fabrication technology. If a new technology emerges, designers do not need to redesign their circuit. 30. Electronic Design Automation Logic Synthesis (Hardware Compiler but not flexible as C/C++ Compiler ) 31. Digital Design Flow 32. Digital Design Flow Design Specs Behavioral Description RTL Description (HDL) Functional Verification and Testinge.g algorithm needs to be implementedDescription for Functionality of the design and the interface of it with the whole system (inputs and outputs) Design The RTL and Write the verilog code that implement this design according Specs and Interface Compile Verilog files and make testbench to verify your design and start verification Usually 50 60% of cycle timeLogic Synthesis (S/W) Place and Route Physical Layout FabricationPlace the gates in the chip and make possible and suitable routing between them 33. thanks