Digital Systems Design Test 1

अब Quizwiz के साथ अपने होमवर्क और परीक्षाओं को एस करें!

signal propagation delays through interconnect

- delays due to physical nature of real wires -always non-zero cause we live in reality -FPGAs have significant routing delays because of programmable routing

Random Access Memory (RAM)

- more efficient than registers for storing large amounts of data -can read and write to RAM -addressable memory -can be with clock or with out (synchronous vs. asynchronous) -dimensions: (depth) x (width)

types of ASIC technologies

- full costume flow -standard cells -gate arrays

Static Timing Analysis

-a method of validating the timing performance of a design by checking all possible path for timing violations -generally performed and MIN and MAX conditions

RAM -width

-amount of data stored in one location -set by user

RAM- depth

-number of locations -set by user

Look Up Table (LUT)

-used to realize any boolean function -quick programable device for a truth table

ASIC or FPGA

ASIC- have non-recurring engineering cost Low production volume= FPGA high production volume=ASIC ASIC generally have higher performance

S'R' Latch

NAND gates used to create a lanch

sequential logic - storage

a feedback loop allows us to store data for an infinite amount of time

Configurable logic blocks (CLBS)

basically 'blocks' in device that contain four 6-input LUTs and eight storage elements

ENTITY in VHDL

declares the input and output signals naming guy

Architecture in VHDL

describes the function, describes what the entity's do.

4-bit ripple carry VHDL with generate

entity adder4 is port (cin : in std_logic; x,y : in std_logic_vector(3 downto 0); s : out std_logic_vector(3 downto 0); cout : out std_logic); end adder4; architecture structure of adder4 is c(0) <= cin; cout <= c(4); g1: for i in 0 to 3 generate stages: fulladd port map (c(i), x(i), y(i), s(i), c(i+1)); end generate; end structure;

D Latch in VHDL

entity latch is port (d,clk : in std_logic; q : out std_logic); end latch; architecture behavior of latch is begin process (d,clk) begin if clk = '1' then q <= d; end if; end process; end behavior;

priority encoder VHDL

entity priority is port (w : in std_logic_vector(3 downto 0); y : out std_logic_vector(1 downto 0); z : out std_logic); end priority; architecture behavior of priority is begin y <= "11" when w(3) = '1' else "10" when w(2) = '1' else "01" when w(1) = '1' else "00"; z <= '0' when w = "0000" else '1'; end behavior; //////can also use process statements and IF-else statements to write this

frequency equation

f=1/ ~fancy t~ ~fancy t~ is period

true of false : VHDL is a programming language

false : hardware description language

FIFO

first in, first out uhhh i don't get why we learned there

inverse of period is ..... (tricky one ! )

frequency (come on, we should know this by now)

pin to pin combinational delay

input pin to output pin with no intervening registers

duty cycle equation

ratio of pulse width to period (in %): duty cycle = P / ~fancy t~ where P= pulse width and ~fancy t~ is period

calculate throughput time

through put = (number of results) / (clock periods it took to get those results)

Mealy Machine

A finite state machine that determines its outputs from the current state and current inputs.

Latch vs Flip Flop

Latch = edge sensitive flip flop = level sensitive

Pros and cons of system on a programmable chip

Pros: reconfigurable nature, short development cycle Cons: higher unit costs in production, relatively high power consumption

Pipelining

Technique that allows the CPU to work on more than one instruction at a time - this will increase latency (youre adding DFF) but decreases miminum clock period

hard core vs soft core processor

hard core = less configurable but have higher performance than soft core hard core has an additional embedded processor, soft core uses existing logic elements on device soft core= allows for more specification of parameters than hardcore

lower Vdd means _______ delays

longer

clock to output delay

longest combinational path from Q DFF output to any output pin

input to register delay

longest combinational path from input pin to D Dff input

sequential logic - latch

makes or breaks the feedback loop where a bit is being stored so that way we can use it ! yay!

Maximum frequency equation

max freq = 1 / (longest delay path)

longest path delay

maximum delay is the longest single-path delay from input to output

standard cells - ASIC technology

pretty much full costume, but gates are already set designer uses a library of standard cells transistor density and performance decreases compared to full costume flow faster design time than full costume flow still involves creation of custom chip, same manufacturing costs/time as full costume flow

SRAM

static random access memory, larger than DRAM, fast boys

Full custom flow - ASIC technology

takes a long time to do but get the best result designer has to be an expert in VLSI high trsnsitor density cause the guy has to hand draw transistors high fabrication costs

White Box Testing

testers use their knowledge of system internals when testing the system • Dependent on implementation

hold time (T hd)

the amount of the time the synchronous input(D) must be stable ~after~ the active edge of the clock

latency

the amount of time between when an input is applied and the corresponding output is produced -latency on all paths needs to be the same to keep operands synchronized (ie make sure all paths have the same number of DFFs)

setup time (T su)

the amount of time the synchronous input (D) must be stable ~before~ the active edge of the clock.

WE on RAM

write enable - must assert WE for write to occur, when de-asserted read occurs

types of programmable technologies

- programmable logic devices(PLDS) -Complex PLDS -Field programmable gate arrays(FPGAs)

FMS have three fundamental blocks

- state memory (flip flops) -next state logic -output logic

Combinational logic propagation delays

- transistors within a date take a finite amount of time to switch -smaller transistors = faster switching times

bottom-up HDL design approach

-good for designing simple components -testing desired functionality can be integrated into larger designs

FPGAs [Field Programmable Gate Arrays]

-not application specific -manufactured by the IC vendor -basically it is made up of primitive logic blocks that are interconnected by a set of programmable switches in matrix form -reprogrammable in the field -embedded memory -can be used for prototype and verify designs before investing in technologies with high start up costs -performance and transistor density is lower than standard cell

Top-down HDL design approach

-rapid time to market requirements -reduced non-recurring engineering costs -design reuse facilitated -flexibility in design changes post-production

hardware description language

-what VHDL is, not a programming language! -statements in HDL are transformed into gates statements can be rearranged and still produce the same result

test-bench approach

1) apply a set of inputs 2) delay a set amount of time 3) check the output against a known results 4) rinse and repeat ;)

Steps to using FSM to design a logic system

1. Form a complete state spanning tree. 2. Form a complete state-output table from the spanning state tree. 3. Using the state-output table, minimize (remove redundant or impossible) states and draw the FSM state diagram (ASM chart). 4. Select your state encoding. 5. From the minimized FSM state diagram, create a FSM state transition table. 6. Select your FF. 7. Create FF excitation table. 8. Derive the excitation (next-state) equations. 9. Derive the output equations. 10. Draw the logic schematic and/or capture it in an HDL

Complex PLD (CPLD)

A digital device consisting of several programmable sections with internal interconnections between the sections. want more chips--> put more PLDs on each chip

moore machine

A finite state machine whose output is determined only by the current state

Flip-Flop

A flip-flop is a single-bit storage unit with two stages (master/slave). • The first stage (master) accepts input (flip). • The second stage (slave) gives output as received by the first stage (flop).

D Flip-Flop

A flip-flop with one data input that stores the value of that input signal in the internal memory when the clock edge occurs

Shift Register

Digital circuit that accepts binary data from some input source and then shifts these data through a chain of flip-flops one bit at a time.

DRAM

Dynamic Random Access Memory. Dynamic RAM. The slowest type of RAM, which requires frequent electrical refreshes to keep contents valid. small boys

Company A is a huge international semiconductor manufacturer. They want to build the fastest chip on the market and can afford to hire the best digital designer. What kind of implementation scheme will they most likely use?

Full Custom Flow

Functional vs. Timing simulation

Functional simulation = user specific input values and the outputs are generated. propagation is negligible. does my circuit do what i want it to do? timing simulation = all placements and routing delays are in place. when i program this on a device, will it behave the way i want it to?

Company B is a start-up with a great idea, but not a lot of money to implement it. They are trying to prove their concept in a simple prototype device to show possible venture capitalists. Their device must operate as fast as possible to impress them. What kind of implementation scheme will they most likely use?

Gate array because still has higher performance than CPLD/FPGA but costly slightly less than full custom/standard cell

what are the library's to use

LIBRARY ieee; use STD_LOGIC_1164.all; and/or use STD_LOGIC_VECTOR;

SR Latch

NOR gates uses feedback to "store" a bit

Simple PLDs

PAL, PLA, PROM idk man mostly just gates , very simple stuff

RAM -single port, dual port, True dual port, ROM

Single Port = one access port capable of read and write Dual Port = one read port, one write port True Dual port= two access ports, each capable of read and write ROM= read only memory, data programmed permanently

Company C has been hit hard by the economy and had to lay off their top VLSI expert. However, they still need fast chips and a lot of them. Their plan is to beat Company A to market with their design to get a foothold. What kind of implementation scheme will they most likely choose?

Standard cell, unit cost for many chips is low, don't need to be a VLSI expert to design them, design time is shorter than full custom flow, still high performance

Black box testing

Testing, either functional or non-functional, without reference to the internal structure of the component or system. test doesn't know what will break it • Independent of implementation we like this one for vhdl :)

calculating external hold times

Thd,sys = Thd,FF + Tpd,clk(max) - Tpd,DIN(min) -worst case hold time for DIN occurs when clock is delayed, requiring DIN to hold its value longer

T plh vs Tphl ~propagation delay stuff ~

Tplh - time between a change in an input and a low-to-high change on the output Tphl- time between a change in an input and a high-to-low change on the output

true or false : the process statement is sequential

True, outside of the process statement though VHDL is not sequential

calculating external setup times

Tsu,sys = Tsu,FF + Tpd,DIN(max) - Tpd,clk(min)

validation vs. verification

Validation: Are we building the right product? -Simulating device functionality -what we do when we (try to) create a test bench Verification: Are we building the product right? - Formally proving properties of the design

how do we satisfy hold time?

add buffers to the shortest lines to "beef" it up....aka make it take long, why did he have to say it like that?

gate arrays - ASIC technology

all gate array devices have identical lower layers which leads to faster production time and cheaper fabrication lowest transistor density -transistors are pre-placed and fixed in size

2-1 mux VHDL with process

architecture behavior of mux2to1 is begin process (w0,w1,s) begin if s = '0' then f <= w0; else f <= w1; end if; end process; end behavior;

D latch with enable

as long as Enable = 1, the latch will change according to the value of D.

behavioral vs. structural VHDL

behavior= describes behavior of the circuit without worrying about specifics of implementation structural = telling system exactly how you want if to be implemented

Combinational vs. sequential systems

combinational = output only depends on the input values sequential = output depends on current inputs and current state of the network via clock signal.

how to find latency of a system

count the number of DFFs between the input and the output

2-4 binary decoder VHDL

entity dec2to4 is port (w : in std_logic_vector(1 downto 0); en : in std_logic; y : out std_logic_vector(0 to 3)); end dec2to4; architecture behavior of dec2to4 is signal enw : std_logic_vector(2 downto 0); begin with enw <= en & w; y <= "1000" when "100", "0100" when "101", "0010" when "110", "0001" when "111", "0000" when others; end behavior;

D flip-flop with enable input

entity flipflop is port (en,d,clk : in std_logic; q : out std_logic); end flipflop; architecture behavior of flipflop is begin process (clk) begin if en = '0' then null; elsif rising_edge(clk) then q <= d; end if; end process; end behavior;

single-bit full adder VHDL

entity fulladd is port (cin,x,y : in std_logic; s,cout : out std_logic); end fulladd; architecture logicfunc of fulladd is begin s <= x xor y xor cin; cout <= (x and y) or (cin and x) or (cin and y); end logicfunc;

4-1 multiplexor VHDL

entity mux4to1 is port (w : in std_logic_vector(3 downto 0); s : in std_logic_vector(1 downto 0); f : out std_logic); end mux4to1; architecture behavior of mux4to1 is begin with s select f <= w(0) when "00", w(1) when "01", w(2) when "10", w(3) when others; end behavior;

system on a programmable chip

includes large number of logic gates, memory on the device, intellectual property (IP) processor core basic premise = have all components on a single chip

what does it mean to be a "transparent" latch? how to fix?

level-sensitive: when the latch is enable, the output will follow the input fix by splitting the input and output so they are independent.

counters --- 4 bit up-counter VHDL example

library ieee; use ieee.std_logic_1164.all; -- use numeric_std to include -- signed and unsigned data types use ieee.numeric_std.all; entity upcount is port (clk,reset_n,en : in std_logic; q : out std_logic); end upcount; architecture behavior of upcount is signal count : unsigned(3 downto 0); begin process (clk,reset_n) begin if reset_n = '0' then count <= "0000"; elsif (clock'event and clock = '1') then if en = '1' then count <= count + 1; else count <= count; end if; end if; end process; q <= count; end behavior;

higher temperatures mean _______ delays

longer

register to register delay

longest combinational path from Q DFF output to D DFF input Delay = Tc2q + Tpd,max + Tsu

Synchronous vs. asynchronous input

• Synchronous: the output will change after an active clock edge, safe • Asynchronous: the output will change independent of the clock, can introduce glitches in your system


संबंधित स्टडी सेट्स

Chapter 8 - Testing Means: One-Sample T Test with Confidence Intervals

View Set

Nurs 211 Chapter 18 : Evaluating

View Set

Cisco Intro to Cybersecurity Chapter 2

View Set

Chapter 16 Organization Change and Change Management

View Set

PrepU Medsurg Chapter 44: Digestive and Gastrointestinal Treatment Modalities

View Set

"My Name is not Easy" Vocabulary

View Set