1. Partitioning the design for synthesis SYNTHESIS = TRANSLA TION + OPTIMIZA TION + MAPPING

Size: px
Start display at page:

Download "1. Partitioning the design for synthesis SYNTHESIS = TRANSLA TION + OPTIMIZA TION + MAPPING"

Transcription

1 8 Applying Synthesis Constraints 8.1 Introduction All synthesis tools must have a method of constraining the output netlist it generates. There are numerous synthesis constraints that need to be applied to ensure the output netlist will work in the final application. It is important to note that most design constraints govern speed and area usually one is at the expense of the other. We'll discuss the important constraints using the world's most widely used 3rd party synthesis tool Synopsys Design Compiler. All examples I discuss will synthesize using Design Compiler. REFERENCE much of this material was created using the Synopsys Chip Synthesis Workshop Student Guide training notes as a guide. 1. Partitioning the design for synthesis SYNTHESIS = TRANSLA TION + OPTIMIZA TION + MAPPING Synthesis tools give the best results when synthesizing registers, not large pools of combinational logic. For this reason, it is best to synthesize to a register boundary and, in fact, this is a logical place to break a circuit anyway. Synopsys Design Compiler will use registers as synthesis boundaries when it synthesizes your VHDL code. Then it logically makes sense to partition our design into synthesizable regions, which being to choose regions targeted for synthesis that terminate on a register boundary. If we have two separate VHDL entities that communicate with each other without registers at the boundaries, then it likely wouldn't make sense to synthesize these entities separately. Combine the.entities into a single synthesizable region. Also, very large architectural bodies don't synthesize well so partition the VHDL code into manageable synthesizable blocks my preference is to use separate entity/architecture pairs, not the BLOCK statement this is cleaner. To keep the VHDL code technology independent, we avoid hand instantiating technology components from the target library as a means of obtaining the desired circuit. Instead, we apply the appropriate synthesis constraints (and tinker with the VHDL code) until we get the desired circuit. Recall the lectures on "Coding for Synthesis". They tie in with this section. 1

2 2. Introduction to Synopsys Synthesis Before we take a closer look at specific synthesis constraints, let's define some Synopsys Design Compiler terminology and commands that we'll need for future lectures, the assignments/labs, and ultimately for synthesizing our design project. There are seven types of design objects: Design: A circuit that performs one or more logical functions. Cell: An instantiation of a design within another design (an instance). Reference: The original design that a cell "points to". Port: The input or output of a design. Pin: The input or output of a cell. Net: The wire that connects ports to pins and/or pins to each other. Clock: Waveform applied to a port or pin identified as a clock source. Looking that these seven types of design objects from a VHDL perspective is as below: ENTITY top_level IS PORT ( clock : IN std_logic; input1 : IN std_logic; input2 : IN std_logic_vector (7 DOWNTO 0); outputl : OUT std-logic); END top_level; ARCHITECTURE struct OF top-level IS COMPONENT encoder PORT ( inl : IN std_logic; in2 : IN std_logic_vector(7 DOWNTO 0); outl : OUT std-logic); 2

3 END COMPONENT; SIGNAL wirel : std_logic; BEGIN encoder_inst : encoder PORT MAP ( inl => wirel, in2 => input2, outl => outputl) ; wirel <= NOT(inputl); END struct; One of the most useful commands is the find command. find type [name-list] [-hierarchy] e.g. find port(outputl) type design, port, reference, cell, clock, net or pin name-list (optional) list of design or library object names. Use brackets ({list}) for multiple names. A name can include a wild card character (*). If no namelist is given, the find command lists ALL the names of the specified object type. -hierarchy (optional) use this option if all objects within an hierarchical design are to be returned. Only works with these object types: design, net, cell or pin. Design Compiler can be run using a menu-driven GUI (design-analyzer) or from a textonly command prompt (dc-shell). With design-analyzer, the user selects menu commands that are, in turn, sent to Design Compiler. With dc-shell, the user inputs commands directly to Design Compiler (text only). Because there are numerous commands that can only be invoked from the command prompt, this is what we will use in this course. Walk through design-analyzer in a lab slot sometime. 3

4 There is a Design Compiler setup file called.synopsys_dc.setup that is read and executed each time design-analyzer or dc-shell is invoked. The.synopsys_dc.setup file specifies the target library to be used for synthesis, the location of the working directory into which synthesized netlists are stored, etc. For this course, assume that this file has already been set up and working this is a reasonable assumption, as most organizations have a CAD department which typically provides a template of this file for you. After invoking dc-shell, the first thing you need to do is read, analyze and elaborate the VHDL file that we are targeting for synthesis. The analyze command automatically reads the VHDL file (so we tend not to invoke separate read commands) and performs basic syntax checks and such to ensure that the VHDL code is synthesizable. The elaborate command builds the design from the analyzed VHDL file it "translates" the VHDL code and maps the logic to "generic" boolean logic cells. Note that analyzing and elaborating the VHDL codes WILL pick-up some problems with the code that are missed by compilation using NC-VHDL. For example, the elaborate command picks up things like missing signals from process sensitivity lists. The syntax of the analyze and elaborate commands are: analyze -format VHDL -library library_name../pathname/filename.vhd elaborate entity_name -library library_name -architecture architecture_name Note that the entity_name should match the filename. At this point, we should probably check the design for problems like connectivity, shorts, opens, multiple instantiations, etc. To do this, use the command check_design. We will go into the many constraints that need to be applied to our design to ensure the resulting netlist will work in our intended application in the lectures following. For now, we're still getting familiar with basic synthesis commands. Once these synthesis constraints are applied, we need to "optimize" and "map" the design to the target technology i.e. take the analyzed and elaborated (and now constrained) VHDL the last mile and convert it into a netlist. We do this using the compile command. Not to be confused with the compile command used by NC-VHDL. A better Synopsys command might have been "synthesize" or "optimize-and-map" nonetheless, we have to deal with "compile". It means optimize and map to the target technology as per the applied constraints. To "optimize-and-map", simply invoke compile at the dc-shell prompt. 4

5 OK that's the basics. Following the compile, we generate multiple reports to ensure that our design met the applied constraints (more on this later) and we write out the netlist (in verilog, VHDL or Synopsys native.db format) also more on this later. Here is a list of the synthesis constraints we'll discuss in the following lectures, in no particular order: MAX AREA, CLOCK FREQUENCY, SETUP TIME, HOLD TIME, PROPAGATION DELAY, OUTPUT LOADING, INPUT DRIVE STRENGTH, MAX TRANSITION TIMES, MAX CAPACITANCE, CLOCK SKEW AND UNCERTAINTY, WIRE LOAD MODELS, MAX FANOUT,OPERATING CONDITIONS. And we'll also discuss generation of reports and how to write out the netlist once we've compiled the design. So let's begin. 3. Tradeoffs between area and speed The main point to make here is that when you aggressively constrain a design to meet tight timing, the price usually paid is increased area. To get an electrical signal to propagate through digital logic faster, we require higher drive standard logic cells between standard logic cells, and we also require shorter nets between standard logic cells. The combination of higher drive standard logic cells and shorter nets results in an increased die area of the resulting synthesized circuit. As you will see later in the course (Physical Design module), physical design (layout) tools today are usually of two flavors congestion driven layout (CDL) and timing driven layout (TDL). The preference in industry is to use CDL where possible, only using TDL when absolutely necessary to meet timing. The reason, quite simply, is CDL usually results in a smaller die, and this, in turn, results in a lower cost ASIC for 2 reasons -less silicon area and higher yield. We get higher yield because the probability of a die being bad is less when the die is smaller. So when we constrain our design during synthesis, we usually prefer to set_max_area to 0, knowing that the synthesis tool will never get there, but to force the synthesis tool to minimize the die area during synthesis. The set_max_area command in dc_shell accepts area constraints in square mils (thousandths of an inch). 5

6 8.2 TIMING CONSTRAINTS 4. Specifying the clock frequency For synchronous designs, we need to (a) specify a clock, and (b) specify the I/O timing relative to that clock. First we specify a clock. When we specify a clock, we need to provide 3 pieces of information the clock source (port or pin), the clock period and the duty cycle. We specify the clock using the following dc_shell command: create_clock -name clock-name -period period-in-ns -waveform (first-edge secondedge) find (port portname) The clock-name is a label for the clock. For example, you may decide to give a label of "write_clock" to a wclk input port. The -waveform parameter is optional, and if excluded, a 50/50 duty cycle will be assumed. This is usually what we want, so we exclude this parameter. The "find (port portname)" could alternately be replaced with "find (pin pinname)". In practice, designers over-constrain the clock period by about 20% during synthesis. There are two reasons for this one, and this is the primary reason, to provide some timing margin in the pre-layout netlist, and two, to avoid having to perform duty cycle checks for both end of the duty cycle range which is usually specified as 60/40 and 40/60. So a 100 MHz clock with a 10ns period would be specified as an 8 ns clock period during synthesis. 5. Specifying setup/hold and propagation delays For synchronous designs, once the clock is specified, then we specify the I/O timing relative to that clock. Let's consider inputs first, then outputs. a. Specifying input timing relative to a clock Rather than specify the actual setup/hold time of the input directly, Synopsys specifies input delays relative to the external source of that input. Put another way, the input delay is specified relative to the launch clock of the upstream source of that input. Consider the following example. Draw picture of clock/data showing required setup and hold time. Let's assume a clock period of 10 ns, and let's assume that all logic is clocked on the rising edge of 6

7 the clock this is the launch edge. We wish to specify a maximum setup time of 4 ns and a minimum hold time of 1 ns. Specifying a maximum setup time of 4 ns is equivalent to saying the following upstream logic may take up to 6 ns ( 10 ns clock period 4 ns setup time of capture FF) to provide a stable input relative to the active edge of the clock clocking the capture FF. Specifying a minimum hold time of 1 ns is equivalent to the following upstream logic must hold the input stable for at least 1 ns following the active edge of the clock clocking the capture FF. The syntax of specifying input delays is as below. set-input-delay -clock clock-name -max time-in-ns find (port portname). set-input-delay -clock clock-name -min time-in-ns find (port portname ) Shows sourcing FF propagation delay, upstream combinational logic delay, and the desired setup time of the capture logic/ff. b. Specifying output timing relative to a clock. Similar to specifying input delays, the user specifies output delays relative to the external sink of that output. Put another way, the output delay is specified relative to the capture clock of the downstream sink of that output. Consider the following example. Let's assume a clock period of 10 ns, and let's assume that all logic is clocked on the rising edge of the clock -this is the capture edge. We wish to specify a maximum output propagation delay of 3 ns and a minimum output propagation delay of 1 ns. Specifying a maximum output propagation delay of 3 ns is equivalent to saying "the sink of that output will have its input valid 7 ns (10-3) before the capture clock 7

8 edge", i.e. the output will be guaranteed to be valid at most 3 ns after the rising edge of the clock. Specifying a minimum output propagation delay of 1 ns is equivalent to saying "the sink of that output is guaranteed that its input will be held valid for at least 1 ns following the rising edge of the clock". The syntax of specifying output delays is as below. set-output-delay -clock clock-name -max time-in-ns find (port portname) set-output-delay -clock clock-name -min time-in-ns find (port portname) Show sourcing FF, external logic feeding downstream capture FF, and associated delays. 8.3 ENVIRONMENTAL CONSTRAINTS Subsections 6 ~ Specifying output loading and input drive strength To help the synthesis tool appropriately size the cells that are connected directly to the inputs and outputs of the design, we need to provide indication as to what the drive strength of our inputs will be, and what the loading on our outputs will be. We do this by using the set_drive and set_load commands. The set_drive command is used to specify the drive resistance of input or bi-directional ports. The drive resistance is specified as the ratio of time/load. For example, a drive resistance of 5 means that the rise and fall ramp times on that input or bi-directional port is 5 ns per pf. It follows that a drive resistance of 0 denotes infinite drive strength this is typically what's used on clock ports to prevent the synthesis tool from creating its own buffer tree (which is usually unbalanced i.e. unbalanced rise/fall times) on the clock net. If no drive resistance is specified, the default is 0 (infinite drive strength). The syntax of the set_drive command is as below. set_drive resistance port-list As an example, to set a drive resistance of 2 on the input port IN1, we would specify the synthesis constraint as set_drive 2 find (port IN1). To set a drive resistance of 1 on all inputs, we would specify the synthesis constraint as set_drive 1 all_inputs(). The set_load command is used to specify the load value on output or bi-directional ports (and sometimes nets). The load is specified in unit loads usually units of pf, as is the case 8

9 for Synopsys Design Compiler, but depends on the synthesis tool used. It follows that a load of 0 denotes no load this is typically what's used to measure minimum propagation delay. If no load is specified, the default is 0 (no load), and the capacitive load on nets is computed using the wire load model. The syntax of the set_load command is as below. set_load load-value object-list As an example, to set a load of 2 pf on the output port OUT1, we would specify the synthesis constraint as set_load 2 find (port OUT1). To set a load of 5 pf on all outputs, we would specify the synthesis constraint as set_load 5 all_outputs(). 7. Selecting operating conditions process, voltage, temperature (PVT) Three factors contribute to how design compiler optimizes your design process, voltage and temperature (PVT). These 3 factors together provide minimum and maximum cell and wire delays that, depending on which combination of PVT is chosen for optimization, will yield a different circuit electrically speaking (not functionally speaking). Most technology libraries characterize to nominal operating conditions and scale the results to provide worst case and best case operating condition corners. This provides 3 choices of operating conditions to designers for optimizing their design worst case, best case or typical case operating conditions. Process is scaled based on the limitations of the foundry that will be manufacturing your silicon circuit. Note two of the world's leaders are Taiwan Semiconductor Manufacturing Company (TSMC) and Chartered Semiconductor Manufacturing Company (CSMC). And some organizations, like Intel, have their own foundry.voltage is scaled somewhere between ±5% and ±10%, depending on the technology. Temperature is scaled somewhere in the -40 C to +125 C range. Typical operating conditions are usually represented as nominal process, nominal voltage and +25 C. For 0.18 micron, nominal voltage is 1.8V. For 0.13 micron, nominal voltage is l.2v. Worst case conditions result in maximum cell and wire delays. Worst case operating conditions exist under worst case process, lowest voltage and highest temperature. Best case operating conditions exist under best case process, highest voltage and lowest temperature. In industry practice, it is typical to synthesize your VHDL code using worst case operating conditions. Both worst case and best case operating conditions are used for verifying whether or not the circuit meets timing. And occasionally, best case operating conditions 9

10 are used to fix hold time violations (usually not a problem in worst case operating conditions, but sometimes are in best case operating conditions). But you must be careful because overly optimizing your circuit using best case operating conditions can cause timing to fail under worst case operating conditions. And your circuit must been timing under both worst case and best case operating conditions before it can be fabricated in silicon. Finding the right balance between when to use best case and worst case operating conditions for optimization is somewhat of an art, and often only trial and error will prove what works best for any given technology. Rule of thumb always work under worst case operating conditions and only use best case operating conditions when absolutely necessary. We specify the operating conditions we want to use with the following design compiler command: set_operating_conditions -library library_name condition By default, no operating conditions are applied to a design being synthesized. You may determine which libraries and operating conditions are available by using the following design compiler commands. list -libraries and report_lib library_name 8. Wire load models As its name implies, wire load models are models of resistive and capacitive loads that exist on the nets or wires interconnecting logic cells. Design compiler uses wire load models to estimate the resistance and capacitance of nets prior to physical layout of the circuit. The wire load model is based upon the characteristics of a statistically average net for a given fanout contained within a given area. The resistance (R) and capacitance (C) is represented as a single lumped RC value for all branches of the net combined. In other words, if a net fans out to 3 different locations, each of the 3 nets will not have a unique RC value. Rather, all 3 nets will share a common RC value that is a statistical average for the wire load model chosen. A wire load model is specified in design compiler using the following command. set_wire_load wire_load_name -mode mode The wire_load_name is the name of the wire load model (unique to technology and library used). If the wire_load_name is numeric rather than text, use double quotes to surround the name. The mode option can specify which wire load model to use for nets that cross 10

11 hierarchical boundaries. The default mode is "top", and this is what we want. In other words, use the same wire load model on nets that cross hierarchical boundaries as that specified for the top level of the design. If no wire load model is specified, and if the technology library permits, design compiler will select its own according to the area of the synthesized circuit. This is not recommended, as larger designs will likely result in significantly long synthesis run times. You should explicitly specify your wire load model. 9. Transition times Loosely defined, transition time is the time it takes for a voltage level to transition from one state to another. For example, for a buffer to drive a net from logic 0 to logic 1, the transition time would be measured as the time required driving the net from 10% to 90% of the voltage rail corresponding to logic 1. Draw a picture of a signal transitioning from logic 0 to logic 1 and show the 10% and 90% points on the waveform. We need to specify a maximum acceptable transition time to help the synthesis tool appropriately size the standard logic cells that drive nets internal to the design. The maximum acceptable transition time is technology dependent. Most technology libraries typically specify a default transition time. However, we should not depend on this and we should explicitly specify the maximum transition time. For 0.18 micron, we specify the maximum acceptable transition time as 1.5 ns on the entire design being synthesized. This means that the time it takes to drive the logic level on any given net or port from 0 to 1, or vice-versa, cannot exceed 1.5 ns. Design rule constraints, such as transition time, cannot be violated at any cost even if it means violating optimization constraints like timing and area. During synthesis, design rule constraints are always given higher priority then timing constraints. The maximum transition time is specified in design compiler using the following command. set_max_transition transition_time object_list Because we want to apply the maximum transition time design rule constraint to the entire design, we specify set_max_transition 1.5 find(design). Note the only exception is nets targeted for clock tree synthesis (CTS) like clock nets, global reset lines, etc. Nets being targeted for CTS will be treated as ideal nets. 11

12 10. Maximum capacitance Similar to transition time, maximum capacitance is also a design rule constraint. This means that during synthesis, it has higher priority then timing constraints. Accordingly, any maximum capacitance design rule constraints will not be violated, no matter what the cost even if it means violating optimization constraints like timing and area. We need to specify an acceptable maximum capacitance to help the synthesis tool appropriately size the standard logic cells that drive nets internal to the design. The maximum capacitance is technology dependent. Most technology libraries typically specify a default capacitance. However, we should not depend on this and we should explicitly specify the maximum capacitance. For 0.18 micron, we specify the maximum capacitance as 1.5 pf on the entire design being synthesized. This means that the capacitance on any net in the design cannot exceed 1.5 pf. Note the only exception is nets targeted for clock tree synthesis (CTS) like clock nets, global reset lines, etc. Nets being targeted for CTS will be treated as ideal nets more on this later. The maximum capacitance is specified in design compiler using the following command. set_max_capacitance capacitance_value object-list Because we want to apply the maximum capacitance design rule constraint to the entire design, we specify set_max_capacitance 1.5 find (design). 11. Fallout The fallout of a net is the physical number of wires that a cell fans out to. To prevent routing congestion, as well as to help the synthesis tool meet maximum transition and capacitance constraints, we need to specify the maximum fallout nets will have in the design. The maximum fanout we specify is technology dependent. For 0.18 micron, we specify the maximum fallout for all designs being synthesized to be 15. As with maximum transition and capacitance constraints, maximum fallout is also a design rule constraint that cannot be violated no matter what the cost. This means that during synthesis, it has higher priority then timing constraints and will not be violated, even if it means violating optimization constraints like timing and area. 12

13 The maximum fallout is specified in design compiler using the following command. set_max_fanout fanout_value object_list Because we want to apply a maximum fanout design rule constraint of 15 to the entire design, we specify set_max_fanout 15 find (design). 12. Clock skew and other ideal nets targeted for clock tree synthesis (CTS) When ASICs were relatively small, the clock latency and clock skew on the clock network was relatively insignificant when compared with the clock frequencies used and the CLK Q delay through a FF. Because of this, clock latency and clock skew was mostly ignored, and the clock network was simple driven by a single clock buffer pad at the device level large enough to drive the current required to clock all the sequential elements in the ASIC. Clock frequencies in the single to low double-digit MHz range with just a few ns of latency on the clock network resulted in very little performance penalty because of latency. For example, for a 10 MHz clock (100ns period) with 2ns of latency on the clock network / spine, the performance penalty as a result of latency was a mere 2% (2/l00). And FF CLK Q delays were in the 2-3+ ns range, so clock skew was of little concern. For example, for a FF CLK Q of 3ns and a clock skew of 2ns, we would be guaranteed that the Q output of a FF never changes on ANY FF until ALL FFs have been clocked. Note also that because ASICs were small, the current drive strength of the clock buffer was relatively low (double digit to low triple digit ma) and quite manageable without any electro-migration or wire reliability problems. However, as ASICs grew in size to modern-day multi-million gate ASICs, al1 3 of these issues created problems with the conventional so-called super-clock-buffer approach to drive a clock network (a) latency, (b) skew, and (c) current drive and electro-migration/ reliability problems. 13

14 Consider a 0.18 micron ASIC that has 100,000 FFs (which would be a relatively small, but realistic ASIC by today's standards). The ASIC has the following specifications: Clock frequency = 200 MHz Core voltage = 1.8 V Device is 20 mm/side Clock network / spine = 200 lines across device Input capacitance of a FF is approximately pf Interconnect capacitance = 5 pf/cm We calculate the clock spine capacitance as: C spine = 200 lines x 2 cm/side x 5 pf/cm = 2000 pf The power consumed by a single clock buffer driving this kind of a load at 200 MHz is: P spine = 200 MHz x 2 cm x 5 pf/cm x 200 lines x (1.8V) 2 = W And the corresponding current is: I spine = W / 1.8 V = 720 ma (which is quite large for a single clock pad) The result of growing ASICs forced us into another approach for distributing the clock network across the chip. And that approach was to create a buffer tree on the clock network, simply because it was impossible to drive increasingly large currents without burning up the wires that constitute the clock spine on the chip. Such a clock tree network, by its very nature, introduced latency. And as technologies increased in density and speed, clock skew started becoming a very significant issue as the CLK Q delay of FFs started approaching hundreds of ps. It must be noted that clock trees are not the most optimal solution from an area and power perspective, and often consume more power than the clock spine approach. Nonetheless, ASIC designers were forced to use clock trees out of physical and electrical necessity. As we have shown above in an example, the power consumed by the super-clock-buffer approach was W. To compute the power consumed by a clock tree in the same ASIC, we need to know how many stages exist in the tree, and the fanout of each stage in effect, how many clock buffers exist in the clock tree. 14

15 It can be shown that the delay through a chain of CMOS gates is minimized when the ratio between the input capacitance and the output load capacitance is about 3. Actually, "e" to be precise, which is approximately 2.7. This means that to minimize latency through the clock tree, we choose the clock tree to satisfy this ratio requirement. Note that this is not the lowest power method, but we are trading off power for latency. Perhaps in a power sensitive ASIC were latency is not a problem, an alternate clock tree may be chosen to minimize power at the expense of latency. The diagram below illustrates the ratio between input and load capacitance for CMOS gates to minimize latency. We want C 1oad / C in to be equal to "e". Roughly speaking, this translates to a fallout of approximately 3 at each stage of the clock tree. The number of stages in the clock tree then becomes: In [2000 pf (total capacitance of clock network spine) # clock tree stages = pf (input capacitance of the CLK input of each FF)] # clock tree stages = 12 (actually 11.2, but we must round up to 12) We have to live with the latency created by the clock tree and design around it to satisfy any device level setup/hold/propagation delay constraints. Note that we will discuss delay lock loops (DLLs) as one method to achieve this later in the course. 15

16 With respect to clock skew and clock trees, we need to ensure that: a. The skew is < the propagation delay of FFs in the regions where FFs are clocked by the same clock edge. b. The rise/fall times of the buffers in the clock tree are balanced and don't change in a destructive way over time, or with voltage fluctuations. Balancing rise/fall times ensures that all buffers "wear out" at the same rate and we don't have skew issues over time. Modern day CAD tools allow us to perform an automated clock tree synthesis (CTS) on the ASIC design. Such a CTS process takes into account the size, power, technology, etc for the ASIC and attempts to: a. minimize skew b. minimize latency c. minimize power probably in that order. In addition, CTS allows us to balance/manage transition times on long nets. The transition time is technology specific (for 0.18 micron, we will constrain the maximum transition time to 1.5 ns on signal nets during synthesis). Note, however, that we won't constrain the transition time on clock nets. Rather, we treat them as ideal nets. This is because we do not want the Synthesis tool to insert its own buffers on the clock network we want a separate CTS tool to perform the buffer insertion on the clock network. This ensures that we get a balanced clock tree with minimal skew, minimal latency, lowest power and transition time that does not violate that specified for the technology of the ASIC. CTS is often performed by a separate department the physical design (or layout) group and not the ASIC designer themselves. Final note: when ASICs get really large (and they are today), we also perform CTS on nonclock nets that have high fanouts. This is not to manage the skew, but rather to deal with what would otherwise be high transition time violations. Such nets often include asynchronous chip level resets. We specify the following design constraints with respect to all clock networks, ports and nets. set_clock_uncertainty uncertainty find( clock, clock-name ) set_dont_touch_network find(port, clock-port) 16

17 set_drive resistance find(port, clock_port) set_resistance resistance_value find(net, clock-net) The set_clock_uncertainty design constraint specifies the clock skew on a clock network. Note that the clock uncertainty design constraint depends on what the physical design (layout) tools are capable of achieving for a particular ASIC size and technology. The set_dont_touch_network design constraint explicitly tells the synthesis tool not to modify or replace any objects in the clock network during optimization. The set_drive design constraint ensures that the synthesis tool doesn't insert buffers on the clock network. The set_resistance design constraint avoids the reporting of maximum capacitance violations resulting from the large capacitive value that exists on the clock network prior to CTS. For the design project, we wish to perform CTS on both the write clock, WCLK, and the read clock, RCLK, so we provide the following design constraints (shown only for WCLK, but will also require identical design constraints for RCLK). Note that we have specified 350 ps of clock uncertainty (skew). set_clock_uncertainty 0.35 find(clock, wclk) set_dont_touch_network find(port, wclk) set_drive 0 find(port, wclk) set_resistance 0 find(net, wclk) At the top level of an ASIC, if we wish to model the clock tree latency pre-layout and CTS, then we may additionally use the design compiler command below. set_clock_latency delay find(port, clock_port) If we are performing CTS on non-clock nets (e.g. rstb), then we do not provide a clock uncertainty constraint, and we additionally provide the design constraint below. set_ideal_net find(net, net_name) The set_ideal_net design constraint avoids the reporting of maximum capacitance and maximum fanout violations resulting from the large capacitive values and large fanouts that 17

18 exist on the associated net prior to CTS. Note that this design constraint is not required for clock nets because the create_clock command implies that the net is treated as ideal. For the design project, we wish to perform CTS on the RSTB network, so we provide the following design constraint. set_ideal_net find(net, rstb ) 13. Miscellaneous useful commands reset_design removes attributes and constraints from the current-design. list -libraries returns the library name and file name of all libraries in Design Analyzer memory. report_lib library_name > file returns a library report for library_name and redirects the output to file. all_inputs() find (port clk) returns a list of all input ports except clk. all_outputs() returns a list of all output ports. report_port -verbose returns all attributes and constraints placed on all input and output ports. report_clock returns the source, waveform and period of all clock objects in current_design. 18

ECE 551: Digital System Design & Synthesis

ECE 551: Digital System Design & Synthesis ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file) 03/30/03 1 ECE 551 - Digital System Design & Synthesis Lecture 9.1 - Constraints

More information

Logic Synthesis. Logic synthesis transforms RTL code into a gate-level netlist. RTL Verilog converted into Structural Verilog

Logic Synthesis. Logic synthesis transforms RTL code into a gate-level netlist. RTL Verilog converted into Structural Verilog Logic Synthesis Logic synthesis transforms RTL code into a gate-level netlist RTL Verilog converted into Structural Verilog Logic Synthesis - The process and steps Translation Check RTL for valid syntax

More information

INF3430 Clock and Synchronization

INF3430 Clock and Synchronization INF3430 Clock and Synchronization P.P.Chu Using VHDL Chapter 16.1-6 INF 3430 - H12 : Chapter 16.1-6 1 Outline 1. Why synchronous? 2. Clock distribution network and skew 3. Multiple-clock system 4. Meta-stability

More information

Lecture 9: Clocking for High Performance Processors

Lecture 9: Clocking for High Performance Processors Lecture 9: Clocking for High Performance Processors Computer Systems Lab Stanford University horowitz@stanford.edu Copyright 2001 Mark Horowitz EE371 Lecture 9-1 Horowitz Overview Reading Bailey Stojanovic

More information

PROCESS-VOLTAGE-TEMPERATURE (PVT) VARIATIONS AND STATIC TIMING ANALYSIS

PROCESS-VOLTAGE-TEMPERATURE (PVT) VARIATIONS AND STATIC TIMING ANALYSIS PROCESS-VOLTAGE-TEMPERATURE (PVT) VARIATIONS AND STATIC TIMING ANALYSIS The major design challenges of ASIC design consist of microscopic issues and macroscopic issues [1]. The microscopic issues are ultra-high

More information

Digital IC-Project and Verification

Digital IC-Project and Verification Digital IC-Project and Verification (STA) Liang Liu & Joachim Rodrigues Outline STA & PrimeTime Overview STA Using PrimeTime Basic Concepts PrimeTime Flow Suggestions What s STA STA is a method of validating

More information

Lecture 11: Clocking

Lecture 11: Clocking High Speed CMOS VLSI Design Lecture 11: Clocking (c) 1997 David Harris 1.0 Introduction We have seen that generating and distributing clocks with little skew is essential to high speed circuit design.

More information

Policy-Based RTL Design

Policy-Based RTL Design Policy-Based RTL Design Bhanu Kapoor and Bernard Murphy bkapoor@atrenta.com Atrenta, Inc., 2001 Gateway Pl. 440W San Jose, CA 95110 Abstract achieving the desired goals. We present a new methodology to

More information

Digital Systems Design

Digital Systems Design Digital Systems Design Clock Networks and Phase Lock Loops on Altera Cyclone V Devices Dr. D. J. Jackson Lecture 9-1 Global Clock Network & Phase-Locked Loops Clock management is important within digital

More information

Lecture 4&5 CMOS Circuits

Lecture 4&5 CMOS Circuits Lecture 4&5 CMOS Circuits Xuan Silvia Zhang Washington University in St. Louis http://classes.engineering.wustl.edu/ese566/ Worst-Case V OL 2 3 Outline Combinational Logic (Delay Analysis) Sequential Circuits

More information

Timing analysis can be done right after synthesis. But it can only be accurately done when layout is available

Timing analysis can be done right after synthesis. But it can only be accurately done when layout is available Timing Analysis Lecture 9 ECE 156A-B 1 General Timing analysis can be done right after synthesis But it can only be accurately done when layout is available Timing analysis at an early stage is not accurate

More information

R Using the Virtex Delay-Locked Loop

R Using the Virtex Delay-Locked Loop Application Note: Virtex Series XAPP132 (v2.4) December 20, 2001 Summary The Virtex FPGA series offers up to eight fully digital dedicated on-chip Delay-Locked Loop (DLL) circuits providing zero propagation

More information

Managing Metastability with the Quartus II Software

Managing Metastability with the Quartus II Software Managing Metastability with the Quartus II Software 13 QII51018 Subscribe You can use the Quartus II software to analyze the average mean time between failures (MTBF) due to metastability caused by synchronization

More information

Lecture #2 Solving the Interconnect Problems in VLSI

Lecture #2 Solving the Interconnect Problems in VLSI Lecture #2 Solving the Interconnect Problems in VLSI C.P. Ravikumar IIT Madras - C.P. Ravikumar 1 Interconnect Problems Interconnect delay has become more important than gate delays after 130nm technology

More information

PE713 FPGA Based System Design

PE713 FPGA Based System Design PE713 FPGA Based System Design Why VLSI? Dept. of EEE, Amrita School of Engineering Why ICs? Dept. of EEE, Amrita School of Engineering IC Classification ANALOG (OR LINEAR) ICs produce, amplify, or respond

More information

CS250 VLSI Systems Design. Lecture 3: Physical Realities: Beneath the Digital Abstraction, Part 1: Timing

CS250 VLSI Systems Design. Lecture 3: Physical Realities: Beneath the Digital Abstraction, Part 1: Timing CS250 VLSI Systems Design Lecture 3: Physical Realities: Beneath the Digital Abstraction, Part 1: Timing Fall 2010 Krste Asanovic, John Wawrzynek with John Lazzaro and Yunsup Lee (TA) What do Computer

More information

EE 434 ASIC and Digital Systems. Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University.

EE 434 ASIC and Digital Systems. Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University. EE 434 ASIC and Digital Systems Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University Preliminaries VLSI Design System Specification Functional Design RTL

More information

Low Power Design Methods: Design Flows and Kits

Low Power Design Methods: Design Flows and Kits JOINT ADVANCED STUDENT SCHOOL 2011, Moscow Low Power Design Methods: Design Flows and Kits Reported by Shushanik Karapetyan Synopsys Armenia Educational Department State Engineering University of Armenia

More information

LSI Design Flow Development for Advanced Technology

LSI Design Flow Development for Advanced Technology LSI Design Flow Development for Advanced Technology Atsushi Tsuchiya LSIs that adopt advanced technologies, as represented by imaging LSIs, now contain 30 million or more logic gates and the scale is beginning

More information

Timing Issues in FPGA Synchronous Circuit Design

Timing Issues in FPGA Synchronous Circuit Design ECE 428 Programmable ASIC Design Timing Issues in FPGA Synchronous Circuit Design Haibo Wang ECE Department Southern Illinois University Carbondale, IL 62901 1-1 FPGA Design Flow Schematic capture HDL

More information

ICCAD 2014 Contest Incremental Timing-driven Placement: Timing Modeling and File Formats v1.1 April 14 th, 2014

ICCAD 2014 Contest Incremental Timing-driven Placement: Timing Modeling and File Formats v1.1 April 14 th, 2014 ICCAD 2014 Contest Incremental Timing-driven Placement: Timing Modeling and File Formats v1.1 April 14 th, 2014 http://cad contest.ee.ncu.edu.tw/cad-contest-at-iccad2014/problem b/ 1 Introduction This

More information

In this lecture, we will first examine practical digital signals. Then we will discuss the timing constraints in digital systems.

In this lecture, we will first examine practical digital signals. Then we will discuss the timing constraints in digital systems. 1 In this lecture, we will first examine practical digital signals. Then we will discuss the timing constraints in digital systems. The important concepts are related to setup and hold times of registers

More information

Managing Cross-talk Noise

Managing Cross-talk Noise Managing Cross-talk Noise Rajendran Panda Motorola Inc., Austin, TX Advanced Tools Organization Central in-house CAD tool development and support organization catering to the needs of all design teams

More information

Lecture 3, Handouts Page 1. Introduction. EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Simulation Techniques.

Lecture 3, Handouts Page 1. Introduction. EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Simulation Techniques. Introduction EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Techniques Cristian Grecu grecuc@ece.ubc.ca Course web site: http://courses.ece.ubc.ca/353/ What have you learned so far?

More information

PO74G2308A FEATURES: DESCRIPTION: Description. 700MHz TTL/CMOS Potato Chip. BUF_IN OUTPUT 1 to OUTPUT 8. Outputs. 1.2V - 3.6V 1:8 CMOS Clock Driver

PO74G2308A FEATURES: DESCRIPTION: Description. 700MHz TTL/CMOS Potato Chip. BUF_IN OUTPUT 1 to OUTPUT 8. Outputs. 1.2V - 3.6V 1:8 CMOS Clock Driver FEATURES:. Patented technology. Operating frequency up to 700MHz with 2pf load. Operating frequency up to 550MHz with 5pf load. Operating frequency up to 350MHz with 15pf load. Operating frequency up to

More information

Low-Power Digital CMOS Design: A Survey

Low-Power Digital CMOS Design: A Survey Low-Power Digital CMOS Design: A Survey Krister Landernäs June 4, 2005 Department of Computer Science and Electronics, Mälardalen University Abstract The aim of this document is to provide the reader with

More information

Lecture 1. Tinoosh Mohsenin

Lecture 1. Tinoosh Mohsenin Lecture 1 Tinoosh Mohsenin Today Administrative items Syllabus and course overview Digital systems and optimization overview 2 Course Communication Email Urgent announcements Web page http://www.csee.umbc.edu/~tinoosh/cmpe650/

More information

EDA Challenges for Low Power Design. Anand Iyer, Cadence Design Systems

EDA Challenges for Low Power Design. Anand Iyer, Cadence Design Systems EDA Challenges for Low Power Design Anand Iyer, Cadence Design Systems Agenda Introduction ti LP techniques in detail Challenges to low power techniques Guidelines for choosing various techniques Why is

More information

Mixed Synchronous/Asynchronous State Memory for Low Power FSM Design

Mixed Synchronous/Asynchronous State Memory for Low Power FSM Design Mixed Synchronous/Asynchronous State Memory for Low Power FSM Design Cao Cao and Bengt Oelmann Department of Information Technology and Media, Mid-Sweden University S-851 70 Sundsvall, Sweden {cao.cao@mh.se}

More information

EE 5327 VLSI Design Laboratory. Lab 7 (1 week) - Power Optimization

EE 5327 VLSI Design Laboratory. Lab 7 (1 week) - Power Optimization EE 5327 VLSI Design Laboratory Lab 7 (1 week) - Power Optimization PURPOSE: The purpose of this lab is to introduce design optimization for power in addition to area and speed. We will be using Design

More information

64/256/512/1K/2K/4K/8K x 9 Synchronous FIFOs

64/256/512/1K/2K/4K/8K x 9 Synchronous FIFOs 241/42 fax id: 549 CY7C4421/421/4211/4221 64/256/512/1K/2K/4K/8K x 9 Synchronous FIFOs Features High-speed, low-power, first-in, first-out (FIFO) memories 64 x 9 (CY7C4421) 256 x 9 (CY7C421) 512 x 9 (CY7C4211)

More information

Lecture 16: Design for Testability. MAH, AEN EE271 Lecture 16 1

Lecture 16: Design for Testability. MAH, AEN EE271 Lecture 16 1 Lecture 16: Testing, Design for Testability MAH, AEN EE271 Lecture 16 1 Overview Reading W&E 7.1-7.3 - Testing Introduction Up to this place in the class we have spent all of time trying to figure out

More information

2014 Paper E2.1: Digital Electronics II

2014 Paper E2.1: Digital Electronics II 2014 Paper E2.1: Digital Electronics II Answer ALL questions. There are THREE questions on the paper. Question ONE counts for 40% of the marks, other questions 30% Time allowed: 2 hours (Not to be removed

More information

CSE 260 Digital Computers: Organization and Logical Design. Midterm Solutions

CSE 260 Digital Computers: Organization and Logical Design. Midterm Solutions CSE 260 Digital Computers: Organization and Logical Design Midterm Solutions Jon Turner 2/28/2008 1. (10 points). The figure below shows a simulation of the washu-1 processor, with some items blanked out.

More information

UT90nHBD Hardened-by-Design (HBD) Standard Cell Data Sheet February

UT90nHBD Hardened-by-Design (HBD) Standard Cell Data Sheet February Semicustom Products UT90nHBD Hardened-by-Design (HBD) Standard Cell Data Sheet February 2018 www.cobham.com/hirel The most important thing we build is trust FEATURES Up to 50,000,000 2-input NAND equivalent

More information

I hope you have completed Part 2 of the Experiment and is ready for Part 3.

I hope you have completed Part 2 of the Experiment and is ready for Part 3. I hope you have completed Part 2 of the Experiment and is ready for Part 3. In part 3, you are going to use the FPGA to interface with the external world through a DAC and a ADC on the add-on card. You

More information

Guaranteeing Silicon Performance with FPGA Timing Models

Guaranteeing Silicon Performance with FPGA Timing Models white paper Intel FPGA Guaranteeing Silicon Performance with FPGA Timing Models Authors Minh Mac Member of Technical Staff, Technical Services Intel Corporation Chris Wysocki Senior Manager, Software Englineering

More information

Chapter 4. Problems. 1 Chapter 4 Problem Set

Chapter 4. Problems. 1 Chapter 4 Problem Set 1 Chapter 4 Problem Set Chapter 4 Problems 1. [M, None, 4.x] Figure 0.1 shows a clock-distribution network. Each segment of the clock network (between the nodes) is 5 mm long, 3 µm wide, and is implemented

More information

Quartus II Simulation with Verilog Designs

Quartus II Simulation with Verilog Designs Quartus II Simulation with Verilog Designs This tutorial introduces the basic features of the Quartus R II Simulator. It shows how the Simulator can be used to assess the correctness and performance of

More information

UNIT-II LOW POWER VLSI DESIGN APPROACHES

UNIT-II LOW POWER VLSI DESIGN APPROACHES UNIT-II LOW POWER VLSI DESIGN APPROACHES Low power Design through Voltage Scaling: The switching power dissipation in CMOS digital integrated circuits is a strong function of the power supply voltage.

More information

ICS Frequency Generator & Integrated Buffers for PENTIUM/Pro TM. Integrated Circuit Systems, Inc. General Description.

ICS Frequency Generator & Integrated Buffers for PENTIUM/Pro TM. Integrated Circuit Systems, Inc. General Description. Integrated Circuit Systems, Inc. ICS9248-39 Frequency Generator & Integrated Buffers for PENTIUM/Pro TM General Description The ICS9248-39 generates all clocks required for high speed RISC or CISC microprocessor

More information

Overview of Design Methodology. A Few Points Before We Start 11/4/2012. All About Handling The Complexity. Lecture 1. Put things into perspective

Overview of Design Methodology. A Few Points Before We Start 11/4/2012. All About Handling The Complexity. Lecture 1. Put things into perspective Overview of Design Methodology Lecture 1 Put things into perspective ECE 156A 1 A Few Points Before We Start ECE 156A 2 All About Handling The Complexity Design and manufacturing of semiconductor products

More information

DS in-1 Low Voltage Silicon Delay Line

DS in-1 Low Voltage Silicon Delay Line 3-in-1 Low Voltage Silicon Delay Line www.dalsemi.com FEATURES All-silicon timing circuit Three independent buffered delays Initial delay tolerance ±1.5 ns Stable and precise over temperature and voltage

More information

CMOS VLSI IC Design. A decent understanding of all tasks required to design and fabricate a chip takes years of experience

CMOS VLSI IC Design. A decent understanding of all tasks required to design and fabricate a chip takes years of experience CMOS VLSI IC Design A decent understanding of all tasks required to design and fabricate a chip takes years of experience 1 Commonly used keywords INTEGRATED CIRCUIT (IC) many transistors on one chip VERY

More information

EEC 116 Fall 2011 Lab #2: Analog Simulation Tutorial

EEC 116 Fall 2011 Lab #2: Analog Simulation Tutorial EEC 116 Fall 2011 Lab #2: Analog Simulation Tutorial Dept. of Electrical and Computer Engineering University of California, Davis Issued: September 28, 2011 Due: October 12, 2011, 4PM Reading: Rabaey Chapters

More information

Static Timing Overview with intro to FPGAs. Prof. MacDonald

Static Timing Overview with intro to FPGAs. Prof. MacDonald Static Timing Overview with intro to FPGAs Prof. MacDonald Static Timing In the 70 s timing was performed with Spice simulation In the 80 s timing was included in Verilog simulation to determine if design

More information

Towards PVT-Tolerant Glitch-Free Operation in FPGAs

Towards PVT-Tolerant Glitch-Free Operation in FPGAs Towards PVT-Tolerant Glitch-Free Operation in FPGAs Safeen Huda and Jason H. Anderson ECE Department, University of Toronto, Canada 24 th ACM/SIGDA International Symposium on FPGAs February 22, 2016 Motivation

More information

Statistical Timing Analysis of Asynchronous Circuits Using Logic Simulator

Statistical Timing Analysis of Asynchronous Circuits Using Logic Simulator ELECTRONICS, VOL. 13, NO. 1, JUNE 2009 37 Statistical Timing Analysis of Asynchronous Circuits Using Logic Simulator Miljana Lj. Sokolović and Vančo B. Litovski Abstract The lack of methods and tools for

More information

CS/EE Homework 9 Solutions

CS/EE Homework 9 Solutions S/EE 260 - Homework 9 Solutions ue 4/6/2000 1. onsider the synchronous ripple carry counter on page 5-8 of the notes. Assume that the flip flops have a setup time requirement of 2 ns and that the gates

More information

Signal Integrity and Clock System Design

Signal Integrity and Clock System Design Signal Integrity and Clock System Design Allan Liu, Applications Engineer, IDT Introduction Signal integrity is the art of getting a signal from point A to point B with minimum distortion to that signal.

More information

UNIT-III POWER ESTIMATION AND ANALYSIS

UNIT-III POWER ESTIMATION AND ANALYSIS UNIT-III POWER ESTIMATION AND ANALYSIS In VLSI design implementation simulation software operating at various levels of design abstraction. In general simulation at a lower-level design abstraction offers

More information

Accurate Timing and Power Characterization of Static Single-Track Full-Buffers

Accurate Timing and Power Characterization of Static Single-Track Full-Buffers Accurate Timing and Power Characterization of Static Single-Track Full-Buffers By Rahul Rithe Department of Electronics & Electrical Communication Engineering Indian Institute of Technology Kharagpur,

More information

Logic Families. Describes Process used to implement devices Input and output structure of the device. Four general categories.

Logic Families. Describes Process used to implement devices Input and output structure of the device. Four general categories. Logic Families Characterizing Digital ICs Digital ICs characterized several ways Circuit Complexity Gives measure of number of transistors or gates Within single package Four general categories SSI - Small

More information

Lecture 10. Circuit Pitfalls

Lecture 10. Circuit Pitfalls Lecture 10 Circuit Pitfalls Intel Corporation jstinson@stanford.edu 1 Overview Reading Lev Signal and Power Network Integrity Chandrakasen Chapter 7 (Logic Families) and Chapter 8 (Dynamic logic) Gronowski

More information

ENEE 359a Digital VLSI Design

ENEE 359a Digital VLSI Design SLIDE 1 ENEE 359a Digital VLSI Design : Conventions, Problems, Solutions Prof. blj@ece.umd.edu Credit where credit is due: Slides contain original artwork ( Jacob 2004) as well as material taken liberally

More information

Microcontroller Systems. ELET 3232 Topic 13: Load Analysis

Microcontroller Systems. ELET 3232 Topic 13: Load Analysis Microcontroller Systems ELET 3232 Topic 13: Load Analysis 1 Objective To understand hardware constraints on embedded systems Define: Noise Margins Load Currents and Fanout Capacitive Loads Transmission

More information

Amber Path FX SPICE Accurate Statistical Timing for 40nm and Below Traditional Sign-Off Wastes 20% of the Timing Margin at 40nm

Amber Path FX SPICE Accurate Statistical Timing for 40nm and Below Traditional Sign-Off Wastes 20% of the Timing Margin at 40nm Amber Path FX SPICE Accurate Statistical Timing for 40nm and Below Amber Path FX is a trusted analysis solution for designers trying to close on power, performance, yield and area in 40 nanometer processes

More information

AN EFFICIENT APPROACH TO MINIMIZE POWER AND AREA IN CARRY SELECT ADDER USING BINARY TO EXCESS ONE CONVERTER

AN EFFICIENT APPROACH TO MINIMIZE POWER AND AREA IN CARRY SELECT ADDER USING BINARY TO EXCESS ONE CONVERTER AN EFFICIENT APPROACH TO MINIMIZE POWER AND AREA IN CARRY SELECT ADDER USING BINARY TO EXCESS ONE CONVERTER K. RAMAMOORTHY 1 T. CHELLADURAI 2 V. MANIKANDAN 3 1 Department of Electronics and Communication

More information

bus waveforms transport delta and simulation

bus waveforms transport delta and simulation bus waveforms transport delta and simulation Time Modelling and Data Flow Descriptions Modeling time in VHDL Different models of time delay Specify timing requirement Data flow descriptions Signal resolution

More information

Interconnect-Power Dissipation in a Microprocessor

Interconnect-Power Dissipation in a Microprocessor 4/2/2004 Interconnect-Power Dissipation in a Microprocessor N. Magen, A. Kolodny, U. Weiser, N. Shamir Intel corporation Technion - Israel Institute of Technology 4/2/2004 2 Interconnect-Power Definition

More information

Microcircuit Electrical Issues

Microcircuit Electrical Issues Microcircuit Electrical Issues Distortion The frequency at which transmitted power has dropped to 50 percent of the injected power is called the "3 db" point and is used to define the bandwidth of the

More information

A 0.9 V Low-power 16-bit DSP Based on a Top-down Design Methodology

A 0.9 V Low-power 16-bit DSP Based on a Top-down Design Methodology UDC 621.3.049.771.14:621.396.949 A 0.9 V Low-power 16-bit DSP Based on a Top-down Design Methodology VAtsushi Tsuchiya VTetsuyoshi Shiota VShoichiro Kawashima (Manuscript received December 8, 1999) A 0.9

More information

ICS PLL BUILDING BLOCK

ICS PLL BUILDING BLOCK Description The ICS673-01 is a low cost, high performance Phase Locked Loop (PLL) designed for clock synthesis and synchronization. Included on the chip are the phase detector, charge pump, Voltage Controlled

More information

Quartus II Simulation with Verilog Designs

Quartus II Simulation with Verilog Designs Quartus II Simulation with Verilog Designs This tutorial introduces the basic features of the Quartus R II Simulator. It shows how the Simulator can be used to assess the correctness and performance of

More information

Preface to Third Edition Deep Submicron Digital IC Design p. 1 Introduction p. 1 Brief History of IC Industry p. 3 Review of Digital Logic Gate

Preface to Third Edition Deep Submicron Digital IC Design p. 1 Introduction p. 1 Brief History of IC Industry p. 3 Review of Digital Logic Gate Preface to Third Edition p. xiii Deep Submicron Digital IC Design p. 1 Introduction p. 1 Brief History of IC Industry p. 3 Review of Digital Logic Gate Design p. 6 Basic Logic Functions p. 6 Implementation

More information

Using ProASIC PLUS Clock Conditioning Circuits

Using ProASIC PLUS Clock Conditioning Circuits Application Note Using ProASIC PLUS Clock Conditioning Circuits Introduction The ProASIC PLUS devices include two clock-conditioning circuits on opposite sides of the die. Each clock conditioning circuit

More information

EC 1354-Principles of VLSI Design

EC 1354-Principles of VLSI Design EC 1354-Principles of VLSI Design UNIT I MOS TRANSISTOR THEORY AND PROCESS TECHNOLOGY PART-A 1. What are the four generations of integrated circuits? 2. Give the advantages of IC. 3. Give the variety of

More information

Programmable Clock Generator

Programmable Clock Generator Features Clock outputs ranging from 391 khz to 100 MHz (TTL levels) or 90 MHz (CMOS levels) 2-wire serial interface facilitates programmable output frequency Phase-Locked Loop oscillator input derived

More information

Datorstödd Elektronikkonstruktion

Datorstödd Elektronikkonstruktion Datorstödd Elektronikkonstruktion [Computer Aided Design of Electronics] Zebo Peng, Petru Eles and Gert Jervan Embedded Systems Laboratory IDA, Linköping University http://www.ida.liu.se/~tdts80/~tdts80

More information

NOVEMBER 28, 2016 COURSE PROJECT: CMOS SWITCHING POWER SUPPLY EE 421 DIGITAL ELECTRONICS ERIC MONAHAN

NOVEMBER 28, 2016 COURSE PROJECT: CMOS SWITCHING POWER SUPPLY EE 421 DIGITAL ELECTRONICS ERIC MONAHAN NOVEMBER 28, 2016 COURSE PROJECT: CMOS SWITCHING POWER SUPPLY EE 421 DIGITAL ELECTRONICS ERIC MONAHAN 1.Introduction: CMOS Switching Power Supply The course design project for EE 421 Digital Engineering

More information

Delay-Locked Loop Using 4 Cell Delay Line with Extended Inverters

Delay-Locked Loop Using 4 Cell Delay Line with Extended Inverters International Journal of Electronics and Electrical Engineering Vol. 2, No. 4, December, 2014 Delay-Locked Loop Using 4 Cell Delay Line with Extended Inverters Jefferson A. Hora, Vincent Alan Heramiz,

More information

Arria V Timing Optimization Guidelines

Arria V Timing Optimization Guidelines Arria V Timing Optimization Guidelines AN-652-1. Application Note This document presents timing optimization guidelines for a set of identified critical timing path scenarios in Arria V FPGA designs. Timing

More information

ELEC Digital Logic Circuits Fall 2015 Delay and Power

ELEC Digital Logic Circuits Fall 2015 Delay and Power ELEC - Digital Logic Circuits Fall 5 Delay and Power Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 http://www.eng.auburn.edu/~vagrawal

More information

VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 48 Testing of VLSI Circuits So, welcome back. So far in this

More information

ICS2510C. 3.3V Phase-Lock Loop Clock Driver. Integrated Circuit Systems, Inc. General Description. Pin Configuration.

ICS2510C. 3.3V Phase-Lock Loop Clock Driver. Integrated Circuit Systems, Inc. General Description. Pin Configuration. Integrated Circuit Systems, Inc. ICS250C 3.3V Phase-Lock Loop Clock Driver General Description The ICS250C is a high performance, low skew, low jitter clock driver. It uses a phase lock loop (PLL) technology

More information

PI6CL V/1.5V, 200MHz, 1:4 Networking Clock Buffer. Features. Description. Pin Description

PI6CL V/1.5V, 200MHz, 1:4 Networking Clock Buffer. Features. Description. Pin Description Features High-speed, low-noise, non-inverting 1:4 buffer Maximum Frequency up to 200 MHz Low output skew < 100ps Low propagation delay < 3.5ns Optimized duty cycle 3.3 tolerent input 1.2 or 1.5 supply

More information

VLSI Implementation & Design of Complex Multiplier for T Using ASIC-VLSI

VLSI Implementation & Design of Complex Multiplier for T Using ASIC-VLSI International Journal of Electronics Engineering, 1(1), 2009, pp. 103-112 VLSI Implementation & Design of Complex Multiplier for T Using ASIC-VLSI Amrita Rai 1*, Manjeet Singh 1 & S. V. A. V. Prasad 2

More information

We ve looked at timing issues in combinational logic Let s now examine timing issues we must deal with in sequential circuits

We ve looked at timing issues in combinational logic Let s now examine timing issues we must deal with in sequential circuits Basic Timing Issues We ve looked at timing issues in combinational logic Let s now examine timing issues we must deal with in sequential circuits The fundamental timing issues we considered then apply

More information

DS Tap High Speed Silicon Delay Line

DS Tap High Speed Silicon Delay Line www.dalsemi.com FEATURES All-silicon timing circuit Five delayed clock phases per input Precise tap-to-tap nominal delay tolerances of ±0.75 and ±1 ns Input-to-tap 1 delay of 5 ns Nominal Delay tolerances

More information

64-Macrocell MAX EPLD

64-Macrocell MAX EPLD 43B CY7C343B Features 64 MAX macrocells in 4 LABs 8 dedicated inputs, 24 bidirectional pins Programmable interconnect array Advanced 0.65-micron CMOS technology to increase performance Available in 44-pin

More information

Fixing Antenna Problem by Dynamic Diode Dropping and Jumper Insertion

Fixing Antenna Problem by Dynamic Diode Dropping and Jumper Insertion Fixing Antenna Problem by Dynamic Dropping and Jumper Insertion Peter H. Chen and Sunil Malkani Chun-Mou Peng James Lin TeraLogic, Inc. International Tech. Univ. National Semi. Corp. 1240 Villa Street

More information

Machine Learning for Next Generation EDA. Paul Franzon, NCSU (Site Director) Cirrus Logic Distinguished Professor Director of Graduate Programs

Machine Learning for Next Generation EDA. Paul Franzon, NCSU (Site Director) Cirrus Logic Distinguished Professor Director of Graduate Programs Machine Learning for Next Generation EDA Paul Franzon, NCSU (Site Director) Cirrus Logic Distinguished Professor Director of Graduate Programs Outline Introduction Vision Surrogate Modeling Applying Machine

More information

EECS 141: SPRING 98 FINAL

EECS 141: SPRING 98 FINAL University of California College of Engineering Department of Electrical Engineering and Computer Science J. M. Rabaey 511 Cory Hall TuTh3:3-5pm e141@eecs EECS 141: SPRING 98 FINAL For all problems, you

More information

Application Note, V 1.0, Feb AP C16xx. Timing, Reading the AC Characteristics. Microcontrollers. Never stop thinking.

Application Note, V 1.0, Feb AP C16xx. Timing, Reading the AC Characteristics. Microcontrollers. Never stop thinking. Application Note, V 1.0, Feb. 2004 AP16004 C16xx Timing, Reading the AC Characteristics. Microcontrollers Never stop thinking. C16xx Revision History: 2004-02 V 1.0 Previous Version: - Page Subjects (major

More information

Signal Integrity Management in an SoC Physical Design Flow

Signal Integrity Management in an SoC Physical Design Flow Signal Integrity Management in an SoC Physical Design Flow Murat Becer Ravi Vaidyanathan Chanhee Oh Rajendran Panda Motorola, Inc., Austin, TX Presenter: Rajendran Panda Talk Outline Functional and Delay

More information

Introduction. Timing Verification

Introduction. Timing Verification Timing Verification Sungho Kang Yonsei University YONSEI UNIVERSITY Outline Introduction Timing Simulation Static Timing Verification PITA Conclusion 2 1 Introduction Introduction Variations in component

More information

DS in 1 High Speed Silicon Delay Line FEATURES PIN ASSIGNMENT

DS in 1 High Speed Silicon Delay Line FEATURES PIN ASSIGNMENT DS1044 4 in 1 High Speed Silicon Delay Line FEATURES All silicon timing circuit Four independent buffered delays Initial delay tolerance ±1.5 ns Stable and precise over temperature and voltage Leading

More information

Digital Systems Design

Digital Systems Design Digital Systems Design Digital Systems Design and Test Dr. D. J. Jackson Lecture 1-1 Introduction Traditional digital design Manual process of designing and capturing circuits Schematic entry System-level

More information

Low-Power 2.25V to 3.63V DC to 150MHz 1:6 Fanout Buffer IC DESCRIPTION

Low-Power 2.25V to 3.63V DC to 150MHz 1:6 Fanout Buffer IC DESCRIPTION FEATURES 1:6 LVCMOS output fanout buffer for DC to 150MHz 8mA Output Drive Strength Low power consumption for portable applications Low input-output delay Output-Output skew less than 250ps Low Additive

More information

CHAPTER 6 PHASE LOCKED LOOP ARCHITECTURE FOR ADC

CHAPTER 6 PHASE LOCKED LOOP ARCHITECTURE FOR ADC 138 CHAPTER 6 PHASE LOCKED LOOP ARCHITECTURE FOR ADC 6.1 INTRODUCTION The Clock generator is a circuit that produces the timing or the clock signal for the operation in sequential circuits. The circuit

More information

Copyright 2000 N. AYDIN. All rights reserved. 1

Copyright 2000 N. AYDIN. All rights reserved. 1 Introduction to igital Prof Nizamettin IN naydin@yildizedutr naydin@ieeeorg ourse Outline igital omputers, Number Systems, rithmetic Operations, ecimal, lphanumeric, and Gray odes 2 inary, Gates, oolean

More information

DesignCon On-Chip Power Supply Noise and Reliability Analysis for Multi-Gigabit I/O Interfaces

DesignCon On-Chip Power Supply Noise and Reliability Analysis for Multi-Gigabit I/O Interfaces DesignCon 2010 On-Chip Power Supply Noise and Reliability Analysis for Multi-Gigabit I/O Interfaces Ralf Schmitt, Rambus Inc. [Email: rschmitt@rambus.com] Hai Lan, Rambus Inc. Ling Yang, Rambus Inc. Abstract

More information

The Physical Design of Long Time Delay-chip

The Physical Design of Long Time Delay-chip 2011 International Conference on Computer Science and Information Technology (ICCSIT 2011) IPCSIT vol. 51 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V51.137 The Physical Design of Long

More information

DS in-1 Silicon Delay Line

DS in-1 Silicon Delay Line www.dalsemi.com FEATURES All-silicon time delay 3 independent buffered delays Delay tolerance ±2ns for -10 through 60 Stable and precise over temperature and voltage range Leading and trailing edge accuracy

More information

EITF35: Introduction to Structured VLSI Design

EITF35: Introduction to Structured VLSI Design EITF35: Introduction to Structured VLSI Design Part 4.2.1: Learn More Liang Liu liang.liu@eit.lth.se 1 Outline Crossing clock domain Reset, synchronous or asynchronous? 2 Why two DFFs? 3 Crossing clock

More information

Design and Analysis of a Portable High-Speed Clock Generator

Design and Analysis of a Portable High-Speed Clock Generator IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: ANALOG AND DIGITAL SIGNAL PROCESSING, VOL. 48, NO. 4, APRIL 2001 367 Design and Analysis of a Portable High-Speed Clock Generator Terng-Yin Hsu, Chung-Cheng

More information

Advanced FPGA Design. Tinoosh Mohsenin CMPE 491/691 Spring 2012

Advanced FPGA Design. Tinoosh Mohsenin CMPE 491/691 Spring 2012 Advanced FPGA Design Tinoosh Mohsenin CMPE 491/691 Spring 2012 Today Administrative items Syllabus and course overview Digital signal processing overview 2 Course Communication Email Urgent announcements

More information

Timing in ASICs 3.1 INTRODUCTION

Timing in ASICs 3.1 INTRODUCTION TimeVerify.03 Page 45 Tuesday, July 27, 1999 2:03 PM C H A P T E R 3 Timing in ASICs 3.1 INTRODUCTION The number of ASICs designed increases every year. Advances in technology allow more transistors to

More information

Features. Micrel Inc Fortune Drive San Jose, CA USA tel +1 (408) fax + 1 (408)

Features. Micrel Inc Fortune Drive San Jose, CA USA tel +1 (408) fax + 1 (408) 2.5V Low Jitter, Low Skew 1:12 LVDS Fanout Buffer with 2:1 Input MUX and Internal Termination General Description The is a 2.5V low jitter, low skew, 1:12 LVDS fanout buffer optimized for precision telecom

More information

Frequency Generator & Integrated Buffers for PENTIUM II III TM & K6

Frequency Generator & Integrated Buffers for PENTIUM II III TM & K6 Integrated Circuit Systems, Inc. ICS948-195 Frequency Generator & Integrated Buffers for PENTIUM II III TM & K6 Recommended Application: 440BX, MX, VIA PM/PL/PLE 133 style chip set, with Coppermine or

More information