Assembling Scan Structures 5

Size: px
Start display at page:

Download "Assembling Scan Structures 5"

Transcription

1 5 Assembling Scan Structures 5 Before assembling the scan structures, you must specify the scan architecture and preview the resulting scan structures. This chapter includes the following sections: Specifying the Scan Architecture Previewing Scan Structures Assembling Scan Structures Figure 5-1 shows the role of these steps in generating scan chains. HOME CONTENTS INEX / 5-1

2 Figure 5-1 Specify-Preview-Assemble Flow Pre-Scan esign Specify Preview Assemble User-Generated dc_shell Script TC-Generated dc_shell Script "What Shall Be" Report Scan esign Use the following command sequence for the basic scan assembly flow: dc_shell> current_design top /* specify the scan architecture */ dc_shell> set_scan_configuration -chain_count 4 /* preview the scan structures */ dc_shell> preview_scan /* assemble the scan structures */ dc_shell> insert_scan /* verify */ dc_shell> check_test dc_shell> report_test -scan_path dc_shell> report_constraints -all_violators Perform the specify, preview, and assemble steps from the same current design. The following sections provide details about these steps. HOME CONTENTS INEX / 5-2

3 Specifying the Scan Architecture Scan configuration is the specification of global scan properties for the current design. Use the set_scan_configuration command to specify global scan properties, such as Scan methodology Scan style Number of scan chains Handling of multiple clocks Using the global properties you define, C Expert Plus automatically generates a complete scan architecture. See the esign Compiler Reference Manual: Optimization and Timing Analysis for details about the set_scan_configuration command, including default behavior. C Expert Plus also supports detailed specification of individual scan paths. Use the following commands for detailed specification of the scan architecture (scan specification): set_scan_element Use this command to specify sequential elements to be excluded (or included) in the scan chains. C Expert Plus supports the following types of sequential elements: leaf cells, hierarchical cells, references, library cells, and designs. Use the set_scan_element command sparingly. For best results, use the command only on instances. HOME CONTENTS INEX / 5-3

4 set_scan_link Use this command to specify connections between scan elements. C Expert Plus supports the use of nets or lock-up latches as connection elements. set_scan_path Use this command to specify properties specific to a scan chain, such as name, membership, and ordering. set_scan_segment Use this command to identify an existing structure, such as a shift register, that can be used as part of a scan chain. set_scan_signal Use this command to specify desired port connections for test signals. You might be unfamiliar with some of the scan path components used in the scan specification commands. Figure 5-2 illustrates the scan path components. HOME CONTENTS INEX / 5-4

5 Figure 5-2 Scan Path Components test_si Scan Element top insta instb instc clk1 ~ clk2 ~ clk2 ~ clk2 ~ clk1 ~ clk2 ~ Scan Segment latch1 clk1 Scan Link test_so Figure 5-2 shows a single scan path that starts at port test_si (which receives the test_scan_in scan signal) and ends at port test_so (which drives the test_scan_out scan signal). Cells insta/, insta/, instb/, and instb/ are examples of scan elements. The shift register in instc is a defined scan segment. In the bottom-up flow, the scan chains in insta and instb are considered subchains or inferred scan segments. The thick lines represent scan links. The latch (instance latch1) is also a scan link. The Using Existing Structures in Your Scan Chain section later in this chapter discusses defined scan segments and subchains. See the esign Compiler Reference Manual: Optimization and Timing Analysis for information about the detailed specification commands. HOME CONTENTS INEX / 5-5

6 The following sections discuss some of the situations you might encounter during scan specification. See the Selecting a Scan Style section in Chapter 2 for scan style selection considerations. Selecting a Scan Methodology C Expert Plus supports the full-scan methodology. This methodology achieves the highest fault coverage results in the shortest period of time. Fault coverage results for full-scan designs are typically higher than those for partial-scan designs due to the increased controllability and observability of the design and the greater efficiency of the combinational automatic test-pattern generation (ATPG) algorithm. In addition, vector counts and tester memory requirements are generally lower for full-scan designs despite the increased width of each pattern. C Expert Plus reduces the performance impact of implementing full scan by considering the scan effects when optimizing your design. uring the initial compile, C Expert Plus scans all sequential cells. In a timing-critical design, you can choose not to scan sequential cells on the critical path by using the set_scan_element false command. This approach gives you manual control of the tradeoff between timing and fault coverage goals. See the esign Compiler Reference Manual: Optimization and Timing Analysis for information about the set_scan_element command. The full-scan methodology requires you to make fewer design decisions and uses the simpler, more predictable combinational ATPG algorithm. For these reasons, you can typically achieve the fault coverage results you want in less time with full-scan designs than with partial-scan designs. HOME CONTENTS INEX / 5-6

7 Use the set_scan_configuration -methodology command to specify your scan methodology. dc_shell> set_scan_configuration -methodology full_scan If you do not specify a scan methodology, C Expert Plus assumes full scan. When you select the full-scan methodology, your design is a full-scan design regardless of the actual percentage of sequential cells scanned. Test Compiler ATPG uses combinational algorithms to generate patterns for your full-scan design. etermining Scan Chain Count Use these questions to decide how many scan chains to request: How many scan chains does your semiconductor vendor allow? Many semiconductor vendors restrict the maximum number of scan chains due to software or tester limitations. Before performing scan specification, check with your semiconductor vendor for the maximum number of scan chains supported. How many clock domains exist in your design? To prevent timing problems on the scan path in multiplexed flipflop designs, allocate a scan chain for each clock domain (C Expert Plus default behavior). C Expert Plus considers each edge of a clock a unique clock domain. Multiple clock domains do not affect the number of scan chains in scan styles other than multiplexed flip-flop. HOME CONTENTS INEX / 5-7

8 How much time will it take to test your design? Because the test time is proportional to the length of the longest scan chain, increasing the number of scan chains reduces the test time for a design. Use the set_scan_configuration -chain_count command to specify the number of scan chains. dc_shell> set_scan_configuration \ -chain_count number_of_chains By default, C Expert Plus generates One scan chain per clock domain, if you selected the multiplexed flip-flop scan style One scan chain, if you selected any other scan style Selecting Test Ports Sharing ports betweem test and normal operation minimizes the number of dedicated test ports required for internal scan. By default, C Expert Plus minimizes the number of dedicated test ports by sharing scan outputs with functional ports when the design contains scannable cells that directly drive functional ports. If your semiconductor vendor does not support this configuration, you can request dedicated scan output ports. Always use dedicated ports for scan-enable and test clock signals. To enable simulation using the same testbench for the RTL and gatelevel implementations of your design, you can define unconnected ports in your RTL description for use as scan ports. These HOME CONTENTS INEX / 5-8

9 unconnected ports are called dummy scan ports. If you defined dummy scan ports for your design, use the set_scan_signal command to instruct C Expert Plus to use these ports. dc_shell> set_scan_signal test_scan_in \ -port dummy_scan_in dc_shell> set_scan_signal test_scan_enable \ -port dummy_scan_en dc_shell> set_scan_signal test_scan_out \ -port dummy_scan_out Sharing a Scan Input With a Functional Port By default, C Expert Plus always generates a dedicated scan input port. To share a scan input port with an existing functional port, use the set_scan_signal command. dc_shell> set_scan_signal test_scan_in -port fnc_in If you select a bidirectional port as the scan input port, C Expert Plus automatically inserts the necessary bidirectional control logic. Sharing a Scan Output With a Functional Port If a scan chain contains a scannable sequential cell whose output directly drives a port in the current design, C Expert Plus automatically uses this cell as the last cell in the scan chain. If there are multiple scannable sequential cells that directly drive output ports, C Expert Plus uses the cell that is last in alphanumeric order. C Expert Plus disrupts alphanumeric ordering to share the scan output port only on the current design. If you use the top-down design flow on a hierarchical design, C Expert Plus places each subdesign scan HOME CONTENTS INEX / 5-9

10 chain in alphanumeric order. Use the preview_scan command to see if a cell has been moved to the end of the scan chain to prevent a dedicated scan output port. To select the functional port to be used as a scan output port, use the set_scan_signal command. dc_shell> set_scan_signal test_scan_out \ -port fnc_out If you select a bidirectional or three-state port as the scan output port, C Expert Plus automatically inserts the necessary control logic. If a scannable sequential cell drives the specified output port, C Expert Plus places that cell last in the scan chain. Otherwise, C Expert Plus automatically adds the control or multiplexing logic required to share the scan output port with the functional output port. Using edicated Scan Output Ports If your semiconductor vendor requires dedicated scan output ports (or you prefer them), use the set_scan_configuration command to specify dedicated scan outputs. dc_shell> set_scan_configuration -dedicated_scan_ports true This command specifies dedicated top-level scan outputs for all scan chains in the design. If you want dedicated top-level scan outputs on specific scan chains, use the set_scan_path command. dc_shell> set_scan_path scan_chain_name \ -dedicated_scan_out true HOME CONTENTS INEX / 5-10

11 The test_dedicated_subdesign_scan_outs variable controls the creation of dedicated scan output ports on subdesigns during hierarchical scan assembly. Leaving this variable at its default setting (true) enables the scan signals to be buffered separately from the functional signals at the module level, thereby reducing the impact of scan loading on the functional signal path. It also enables better placement of scan-out lockup latches by insert_scan during bottomup scan insertion. However, the addition of scan-out buffers between hierarchical levels can cause an increase in the gate count, and the creation of dedicated scan-out ports on subdesigns can cause more uniquification of subdesigns. When these effects outweigh the benefits of having dedicated scan-out ports, set the test_dedicated_subdesign_scan_outs variable to false: dc_shell> test_dedicated_subdesign_scan_outs = false You cannot specify both dedicated subdesign scan-out ports and hierarchical scan chain isolation. If you specify both, C Expert Plus generates the following message during scan assembly: Warning: Ignoring the request for dedicated subdesign scan-out ports. Hierarchical isolation was also requested. (UIT-47) See the Minimizing Noise and Power issipation section later in this chapter for information about hierarchical isolation. HOME CONTENTS INEX / 5-11

12 Balancing Scan Chains By default, the insert_scan command balances the number of cells in each scan chain. In the following cases, C Expert Plus can generate unbalanced scan chains: Your multiplexed flip-flop design has multiple clock domains. You are using the bottom-up design flow. You have specified scan segments using the set_scan_segment command. You have specified complete scan chains using the set_scan_path command. In the first two cases (multiple clock domains or bottom-up design flow), you can override C Expert Plus default behavior to force balanced scan chains. When overriding the default behavior, always use preview_scan to verify that the result meets your requirements. Multiple Clock omains For multiplexed flip-flop designs, C Expert Plus allocates cells to scan chains based on clock domain. You can override this default behavior using the set_scan_configuration -clock_mixing command. For example, assume you have a design with three clock domains and your desired scan architecture contains two balanced scan chains. dc_shell> create_test_clock {clk1, clk2} -waveform {45, 55} dc_shell> set_scan_configuration -chain_count 2 HOME CONTENTS INEX / 5-12

13 In the default case shown in Figure 5-3, C Expert Plus overrides your request for two chains and generates three scan chains one for each clock domain (clk1, positive-edge clk2, negative-edge clk2). Because the clock domains contain unequal numbers of cells, C Expert Plus generates unbalanced scan chains. Figure 5-3 Unbalanced Scan Chains ue to Multiple Clock omains test_si1 test_si3 test_si2 insta instb instc top clk1 ~ clk1 ~ clk2 ~ clk1 ~ clk1 ~ clk2 ~ test_so1 test_so3 test_so2 You can reduce the number of scan chains (and achieve slightly better balancing) by mixing clock edges within a single chain. dc_shell> create_test_clock {clk1, clk2} -waveform {45, 55} dc_shell> set_scan_configuration -chain_count 2 dc_shell> set_scan_configuration -clock_mixing mix_edges Mixing clock edges in a single scan chain produces a small timing risk. C Expert Plus automatically orders the cells within the scan chain so the cells clocked later in the cycle appear earlier in the scan chain, resulting in a functional scan chain. Figure 5-4 shows the scan architecture when you allow edge mixing. HOME CONTENTS INEX / 5-13

14 Figure 5-4 Better Balancing Using Mixed Clock Edges test_si1 test_si2 insta instb instc top clk1 ~ clk1 ~ clk2 ~ clk1 ~ clk1 ~ clk2 ~ test_so1 test_so2 You can balance the scan chains by mixing clocks. dc_shell> create_test_clock {clk1, clk2} -waveform {45, 55} dc_shell> set_scan_configuration -chain_count 2 dc_shell> set_scan_configuration -clock_mixing mix_clocks Mixing clocks in a single scan chain can produce a large timing risk. To reduce the risk, C Expert Plus adds lock-up latches to the scan path wherever clock changes occur. C Expert Plus guarantees a functional scan chain under ideal clock timing (no clock skew). Figure 5-5 shows the resulting scan architecture. HOME CONTENTS INEX / 5-14

15 Figure 5-5 Balanced Scan Chains Using Mixed Clocks test_si1 test_si2 instb instc insta top latch1 clk1 ~ clk2 ~ clk2 clk1 ~ clk1 ~ clk2 ~ clk1 ~ latch1 clk1 test_so1 test_so2 See the Handling Multiple Clock esigns section later in this chapter for clock-mixing considerations. See the Using Scan Lock-up Latches section later in this chapter for details about scan lock-up latches. Bottom-Up esign Flow By default, C Expert Plus does not modify subdesign scan chains. If C Expert Plus generated the subdesign scan chain, you can override this behavior using the set_scan_configuration -rebalance command. If the subdesign scan chain is an existing scan chain created by another method (or created by C Expert Plus in another session and stored in an ASCII format), C Expert Plus never modifies the subdesign scan chain. HOME CONTENTS INEX / 5-15

16 For example, assume that you have a design with two subdesigns, one that has a four-cell scan chain and one that has a two-cell scan chain. Your desired scan architecture contains two balanced scan chains. dc_shell> set_scan_configuration -chain_count 2 In the default case shown in Figure 5-6, C Expert Plus generates unbalanced scan chains because it does not modify the subdesign scan chains. Figure 5-6 Unbalanced Scan Chains ue to Existing Subdesign Scan Chains test_si1 insta test_si2 instb top dff3 clk1 ~ clk1 ~ clk1 ~ dff4 clk1 ~ clk1 ~ clk1 ~ test_so1 test_so2 To force balanced scan chains, use the set_scan_configuration -rebalance command. dc_shell> set_scan_configuration -chain_count 2 dc_shell> set_scan_configuration -rebalance true HOME CONTENTS INEX / 5-16

17 Figure 5-7 shows the resulting design if C Expert Plus generated the subdesign scan chains. Figure 5-8 shows the resulting design if C Expert Plus did not generate the subdesign scan chains. The two results differ because C Expert Plus never modifies scan connections it has not made. This prevents accidental modification of functional logic but might result in redundant logic as shown in Figure 5-8. Figure 5-7 Balanced Scan Chains Subdesign Chains Created by C Expert Plus test_si1 test_si2 insta instb top dff3 clk1 ~ clk1 ~ clk1 ~ dff4 clk1 ~ clk1 ~ clk1 ~ test_so1 test_so2 HOME CONTENTS INEX / 5-17

18 Figure 5-8 Balanced Scan Chains Subdesign Chains Not Created by C Expert Plus test_si1 test_si2 insta instb top dff3 clk1 ~ clk1 ~ clk1 ~ clk1 ~ clk1 dff4 ~ clk1 ~ test_so1 test_so2 Handling Multiple Clock esigns Multiple system clocks necessitate giving special attention to the scan architecture in multiplexed flip-flop designs. Because multiplexed flipflop designs use the system clock for scan shift, the ordering of cells within a scan chain can affect the scan shift operation. The easiest way to prevent clock skew problems during scan shift is to allocate cells to scan chains by clock domain. By default, C Expert Plus creates a scan chain for each clock domain in the design. You can mix different clock edges or different clocks (or both) within a scan chain by using the set_scan_configuration - clock_mixing command. This command applies only to the HOME CONTENTS INEX / 5-18

19 multiplexed flip-flop scan style. If you execute this command after specifying a scan style other than multiplexed flip-flop, C Expert Plus generates the following message: Warning: Scan style %s does not need scan clock domain constraints. Ignoring the set_scan_configuration -clock_mixing command. (UIT-229) Requirements for Valid Scan Chain Ordering C Expert Plus generates valid mixed-clock scan chains based on the specified (or inferred) test clock timing. The scan cells in a valid scan chain are ordered so the cells clocked later in the cycle appear earlier in the scan chain. This guarantees that all cells in the scan chain get the expected data during scan shift. C Expert Plus uses ideal clock timing to determine valid scan-chain ordering. Because C Expert Plus does not consider clock skew when ordering scan chains, mixed-clock scan chains might not shift properly. However, if you set the fix_hold attribute on the clock nets, C Expert Plus fixes hold-time violations during scan assembly. Always perform full-timing logic simulation on mixed-clock scan chains. Although C Expert Plus guarantees correct shift function (under ideal clock timing), it cannot guarantee that capture problems will not occur. Capture problems are caused by your functional logic; modify your design to correct capture problems. For more information, see the Untestable Functional Path section in Chapter 6. HOME CONTENTS INEX / 5-19

20 Figure 5-9 shows a design with a mixed-clock scan chain. C Expert Plus created this scan chain with default timing (rising edge at 45 ns, falling edge at 55 ns) for both clk1 and clk2. The validity of the scan chain depends on the clock timing. You can make the scan chain invalid if you change the clock timing. For example, the scan chain in Figure 5-9 is A valid scan chain (the insta cells are clocked after the instb cells) if you define the test clock timing as dc_shell> create_test_clock clk1 -waveform {55, 65} dc_shell> create_test_clock clk2 -waveform {45, 55} An invalid scan chain (the insta cells are clocked before the instb cells) if you define the test clock timing as dc_shell> create_test_clock clk1 -waveform {45, 55} dc_shell> create_test_clock clk2 -waveform {55, 65} To maintain the validity of your scan chains, do not change the test clock timing after assembling the scan structures. HOME CONTENTS INEX / 5-20

21 Figure 5-9 Mixed-Clock Scan Chain test_si1 insta instb top clk1 ~ clk2 ~ clk1 ~ clk2 ~ test_so1 By default, when you request mixing of clocks within a multiplexed flip-flop scan chain, C Expert Plus inserts lock-up latches to prevent timing problems. The Using Scan Lock-Up Latches section later in this chapter provides information about the use of lock-up latches in the scan chain. Using Multiple Master Clocks in LSS esigns In level-sensitive scan designs (LSS), you need not allocate scan chains by clock for timing purposes; however, you might want to do so. Assume you have a latch-based design with two system enables, en1 and en2, and you want a scan chain allocated for each enable. The following command sequence accomplishes this: dc_shell> set_scan_configuration -style lssd dc_shell> check_test /* create test A clock ports and assign to scan chains */ dc_shell> create_port -direction in {A_CLK1, A_CLK2} HOME CONTENTS INEX / 5-21

22 dc_shell> set_scan_path 1 dc_shell> set_scan_path 2 dc_shell> set_scan_signal test_scan_clock_a \ -port A_CLK1 -chain 1 dc_shell> set_scan_signal test_scan_clock_a \ -port A_CLK2 -chain 2 /* explicitly allocate cells to scan chains by system enable */ dc_shell> create_clock en1 -name cclk1 -period 100 dc_shell> cclk1_cells = all_registers( -clock cclk1 ) dc_shell> set_scan_path 1 cclk1_cells dc_shell> create_clock en2 -name cclk2 -period 100 dc_shell> cclk2_cells = all_registers( -clock cclk2 ) dc_shell> set_scan_path 2 cclk2_cells /* preview scan configuration and implement */ dc_shell> preview_scan -show all dc_shell> insert_scan edicated Test Clocks for Each Clock omain C Expert Plus creates clocks that are used only for test purposes when it routes scan chains using the following scan styles: Clocked-scan Level-sensitive scan design (LSS) Clocked LSS Auxiliary clocked LSS The test clocks are dedicated test clocks for each system clock domain. This makes clock trees and clock signal routing easier. C Expert Plus uses the following guidelines to determine how test clocks are added: For sequential cells with one clock, C Expert Plus adds different test clocks to cells that are clocked by different system clocks. This applies only to designs that use clocked-scan scan style. HOME CONTENTS INEX / 5-22

23 For sequential cells with multiple test clocks, C Expert Plus adds a test clock for each unique set of system clocks. For details, see the Test Compiler Reference Manual. Controlling LSS Slave Clock Routing For designs using LSS scan style, clocked LSS scan style, and auxiliary-clocked LSS scan style, all single latch and flip-flop elements have an unconnected slave clock pin after scan replacement. If possible, C Expert Plus uses the slave clocks distributed to doublelatch elements and does either of the following: Creates, at most, one new port per design when you only want to use the slave clocks distributed to the double-latch elements Creates one or more ports when you want test clocks created according to different system clocks C Expert Plus uses the following guidelines when connecting slave clock pins of single-latch and flip-flop elements after scan replacement: Connect the unconnected slave clock pin of LSS scan style single-latch or flip-flop elements to the slave clock pin of the double-latch that is clocked by the same system clock. Connect to a new slave clock, creating a new one if necessary, if a system clock drives multiple cells with different slave clocks. Connect the slave clock pin into a global port, creating one if necessary, if double-latches are driven by different clocks. Connect the slave clock pin into a global port, creating one if necessary, if there are no double-latches. HOME CONTENTS INEX / 5-23

24 You can control how C Expert Plus connects slave clock ports using the -create_test_clocks_by_system_clock_domain option to the set_scan_configuration command. If you set the -create_test_clocks_by_system_clock_domain option to true, C Expert Plus associates dedicated test clocks with distinct clock domains; therefore, you might create more than one slave clock port because cells are clocked by different system clocks. Another means of controlling how C Expert Plus connects slave clock ports is to use the test_use_dual_latch_slave_clock variable. If you set the test_use_dual_latch_slave_clock variable to true and you do not specify the -create_test_clocks_by_system_clock_domain option in the set_scan_configuration command (or if you set the option to false), you create no more than one slave clock port. For more details, see the Test Compiler Reference Manual. Using Scan Lock-Up Latches A scan lock-up latch is a retiming latch on a scan path that is clocked by the inversion of the previous scan cell s clock. Figure 5-10 shows a scan lock-up latch. HOME CONTENTS INEX / 5-24

25 Figure 5-10 Scan Lock-Up Latch test_si Scan Lock-up Latch clk1 clk1 ~ latch 1 clk1 clk2 clk2 ~ test_so Use scan lock-up latches in multiplexed flip-flop designs whenever adjacent scan cells have different clocks (or different branches of a gated clock). For successful synchronization, the falling edge of the current scan cell must occur after or concurrent with the rising edge of the next scan cell. By default, C Expert Plus adds scan lock-up latches to your multiplexed flip-flop scan chain whenever adjacent scan cells are clocked by different clocks. You can disable insertion of scan lock-up latches in multiplexed flip-flop designs by using the set_scan_configuration -add_lockup false command. If you execute this command after specifying a scan style other than multiplexed flipflop, C Expert Plus generates the following message: Warning: Scan style %s does not add lockup latches to the scan chain. Ignoring the set_scan_configuration -add_lockup command. (UIT-227) C Expert Plus does not add scan lock-up latches for clock-edge changes or for scan styles other than multiplexed flip-flop. When adding scan lock-up latches, C Expert Plus adds the scan lock-up latch to the module containing the last scan cell before the clock change. HOME CONTENTS INEX / 5-25

26 Regardless of your selected scan style, you can explicitly add scan lock-up latches to your scan chain using the set_scan_link and set_scan_path commands. Use the preview_scan -show cells command to see where insert_scan plans to insert scan lock-up latches in your scan chain. Using Existing Structures in Your Scan Chain C Expert Plus supports two types of existing scan structures: Subdesign scan chains A subdesign scan chain uses subdesign ports for all test signals. C Expert Plus can infer subdesign scan chains during test design rule checking. Scan segment A scan segment uses internal pins for one or more test signals. You must explicitly specify a scan segment. In order for C Expert Plus to use an existing scan structure, it must be compatible with the selected scan style. Using Subdesign Scan Chains To reuse existing subdesign scan chains, follow these steps: 1. Set the current design to the subdesign containing the existing scan chain. 2. Use the set_signal_type command to identify the existing scan ports. 3. Run the check_test command to infer the scan chain. HOME CONTENTS INEX / 5-26

27 4. Set the current design to the design where you are assembling the scan structures. 5. Use the set_scan_path command to control the scan chain connections, if desired. For example, subdesign sr in Figure 5-11 contains a shift register. The shift register performs a serial shift function, so C Expert Plus can use this existing structure in a scan chain. The scan input signal connects to subdesign port sr_. The scan output signal connects to subdesign port sr_. The shift register always performs the serial shift function, so the shift register does not need a scan enable signal. Figure 5-11 Subdesign Scan Chain Example Before Scan Insertion top dff4 (F1) sr_ sr_ dff3 (F1) (F1) (F1) sr Use the following command sequence to infer the subdesign scan chain in module sr: dc_shell> current_design sr dc_shell> set_scan_configuration -existing_scan true dc_shell> set_signal_type test_scan_in sr_ dc_shell> set_signal_type test_scan_out sr_ dc_shell> check_test HOME CONTENTS INEX / 5-27

28 Use the following command sequence to include this scan chain in a top-level scan chain: dc_shell> current_design top dc_shell> check_test dc_shell> insert_scan dc_shell> check_test Figure 5-12 shows the top-level scan chain, which includes the subdesign scan chain. C Expert Plus added a multiplexer (controlled by the scan enable signal) to select between the functional data input and the scan input. The hierarchical cell name determines the location of the subdesign scan chain in the top-level scan chain. Figure 5-12 Subdesign Scan Chain Example After Scan Insertion IP1 IP2 test_so OP1 test_si test_se clk Using Scan Segments Figure 5-13 shows a design that contains a shift register. The shift register performs a serial shift function, so C Expert Plus can use this existing structure in a scan chain. The scan input signal connects to pin /. The scan output signal connects to pin dff3/. The shift register always performs the serial shift function, so the shift register HOME CONTENTS INEX / 5-28

29 does not need a scan-enable signal. If the scan segment requires a scan-enable pin, each scan enable must be defined in the set_scan_segment -access statement. Figure 5-13 Scan Segment Example Before Scan Insertion top dff4 (F1) clk OP1 IP1 IP2 (F1) (F1) dff3 (F1) Use the following command sequence to define the scan segment: dc_shell> current_design top dc_shell> set_scan_segment sr1 \ -access {test_scan_in /, \ test_scan_out dff3/} \ -contains {,, dff3} dc_shell> preview_scan -show segments Use the following command sequence to include this scan segment in a top-level scan chain: dc_shell> check_test dc_shell> insert_scan dc_shell> check_test HOME CONTENTS INEX / 5-29

30 Figure 5-14 shows the top-level scan chain, which includes the scan segment. C Expert Plus added a multiplexer (controlled by the scanenable signal) to select between the functional data input and the scan input. The scan segment name determines the location of the scan segment in the scan chain. C Expert Plus never modifies a user-defined scan segment. Figure 5-14 Scan Segment Example After Scan Insertion IP1 IP2 test_so clk test_si dff4 (F1) (F1) (F1) dff3 (F1) OP1 test_se uring scan assembly, C Expert Plus does not validate the information you provide in the set_scan_segment command. However, C Expert Plus validates the resulting scan chains during test design rule checking. Figure 5-15 shows the resulting scan chain if you use the following commands to incorrectly specify and then use the scan segment: dc_shell> current_design top dc_shell> set_scan_segment sr1 \ -access {test_scan_in /, \ test_scan_out dff3/} \ -contains {} dc_shell> insert_scan HOME CONTENTS INEX / 5-30

31 Figure 5-15 Incorrectly efined Scan Segment After Scan Insertion IP1 IP2 OP1 clk test_se test_so test_si The resulting scan design has a bad scan chain (C Expert Plus uses output pin dff3/ as the scan segment scan output pin) and redundant logic (C Expert Plus performs scan replacement on cells and dff3). Completely specify user-defined scan segments to avoid this type of problem. Minimizing Noise and Power issipation C Expert Plus can insert gating logic that disables the scan path at hierarchical boundaries when the scan logic is inactive. This capability is called hierarchical isolation. Hierarchical isolation minimizes power dissipation and noise associated with long scan nets during normal operation of the design. Use the set_scan_configuration -hierarchical_isolation command to select hierarchical isolation. HOME CONTENTS INEX / 5-31

32 Use the following command sequence to include hierarchical isolation logic during scan assembly: dc_shell> current_design top dc_shell> set_scan_configuration \ -hierarchical_isolation true dc_shell> insert_scan Figure 5-16 shows a small subdesign before and after scan insertion. Notice the hierarchical isolation logic added to the scan output signal. Figure 5-16 Hierarchical Isolation Logic Nonscan Subdesign insta Scanned Subdesign insta test_so Hierarchical Isolation Logic test_si test_se C Expert Plus only inserts hierarchical isolation logic when the last cell in a subdesign scan chain does not directly drive an output port. To insert hierarchical isolation logic, C Expert Plus must create a dedicated scan output port. HOME CONTENTS INEX / 5-32

33 Modifying Your Scan Architecture Unless conflicts occur, the set_scan_configuration commands are additive. You can enter multiple set_scan_configuration commands to define your scan configuration. If a conflict occurs, the latest set_scan_configuration command overrides the previous configuration. To modify your scan configuration, you can rely on the override capability or you can remove the complete scan configuration and start over. Use the remove_scan_specification -configuration command to remove the complete scan configuration. o not use the reset_design command to remove the scan configuration. Configuring the scan chain does not place attributes on the design, so reset_design has no effect on the scan configuration and removes all other attributes from your design, including constraints necessary for optimization. You can also use the remove_scan_specification command to remove scan path specifications, scan link and scan segment definitions, and scan signal allocations. Use the remove_scan_specification -all command to remove the complete scan specification. See the esign Compiler Reference Manual: Optimization and Timing Analysis for details about the remove_scan_specification command. To make minor adjustments to the scan architecture, modify the scan specification script generated by the preview_scan -script command. dc_shell> preview_scan -script > scan_arch.scr /* manually modify scan_arch.scr to reflect desired architecture */ dc_shell> include scan_arch.scr dc_shell> preview_scan dc_shell> insert_scan HOME CONTENTS INEX / 5-33

34 Controlling Routing Order Use the set_scan_path command to explicitly control the routing order. You can specify the routing order of both nonscan and scanned sequential cells. Each set_scan_path command generates a scan chain; C Expert Plus uses the first command argument as the scan chain name. If you enter multiple set_scan_path commands with the same scan chain name, C Expert Plus uses only the last command entered. You can provide partial or complete scan ordering specifications. Use the -complete option to indicate that you have completely specified a scan chain. C Expert Plus does not add cells to a completely specified scan chain. If you provide a partial scan-ordering specification, C Expert Plus might add cells to the scan chain. C Expert Plus places the cells specified in a partial ordering at the end of the scan chain. C Expert Plus validates the specified scan ordering. The checks performed by C Expert Plus include Cell assignment C Expert Plus verifies that you have not assigned a cell to more than one scan chain. A violation triggers the following message during execution of the set_scan_path command: Error: Scan chains %s and %s have common elements. (TESTB-256) Common elements are: %s C Expert Plus discards the second scan path specification (it keeps the first scan path specification containing the common element). HOME CONTENTS INEX / 5-34

35 Clock ordering C Expert Plus verifies that the active clock edge of the next scan cell occurs concurrently or before the active clock edge of the current scan cell (or can be synchronized with a scan lock-up latch). If your multiplexed flip-flop design violates this requirement, C Expert Plus reorders the invalid mixed-clock scan chains and triggers the following message during execution of the preview_scan command: Warning: User specification of chain %s has been reordered. (TEST-342) Clock mixing C Expert Plus verifies that all cells on a scan path have the same clock (unless you have specifically requested clock mixing). A violation triggers the following message during execution of the preview_scan command: Warning: Chain %s has elements clocked by different clocks. (TEST-353) C Expert Plus creates the requested scan chain. Unless you have disabled scan lock-up latch insertion, C Expert Plus inserts a scan lock-up latch between clock domains. HOME CONTENTS INEX / 5-35

36 Black box cells C Expert Plus verifies that the specified cells are valid scan cells. If a sequential cell has a test design rule violation or has a scan_element false attribute, C Expert Plus considers it a black box cell. A violation triggers the following message during execution of the preview_scan command: Warning: Cannot add %s to chain %s. The element is not being scanned. (TEST-376) C Expert Plus creates the requested scan chain without the violating cells. Previewing Scan Structures Always run the preview_scan command to validate the scan architecture resulting from your scan specifications. The preview_scan command performs the following functions: Runs test design rule checking, if necessary C Expert Plus requires the check_test results to identify valid scan elements. Creates a complete scan architecture based on your specifications C Expert Plus validates your specifications and generates warning messages if it finds inconsistencies in the specification set or between the specifications and the design. If you provide a partial specification, C Expert Plus completes the scan specification using default behavior. HOME CONTENTS INEX / 5-36

37 Generates a report or script file detailing the resulting scan architecture If the scan architecture reported by the preview_scan command does not meet your requirements, modify your scan specification as discussed in the Modifying Your Scan Architecture section earlier in this chapter. Assembling Scan Structures The insert_scan command implements the scan architecture defined by your scan configuration (and default behavior) as detailed in the preview_scan report. Because the specify-preview loop runs much faster than scan assembly, verify that the scan architecture meets your requirements before executing the insert_scan command. When you are satisfied with the scan architecture, implement it using the insert_scan command. See the esign Compiler Reference Manual: Optimization and Timing Analysis for details about the insert_scan command. The insert_scan command implements the defined scan architecture by performing the following tasks: Inserting three-state disabling logic Inserting bidirectional control logic Routing scan chains and global signals Optimizing the testable design to minimize compile design rule violations and constraint violations HOME CONTENTS INEX / 5-37

38 If your design contains nonscan sequential cells, the insert_scan command also replaces these nonscan cells with scan cells. For information about scan replacement, see the Using Constraint- Optimized Scan Insertion section in Chapter 2. Whenever you modify your design, C Expert Plus invalidates the check_test results. For this reason, always rerun the check_test command after scan assembly. In addition, the completeness of the scan path report depends on updated check_test information. If you run a report_test -scan_path command when there are no valid check_test results, you will get a warning that no information is available. Synthesizing Three-State isabling Logic To prevent bus contention or bus float, internal three-state nets in your design must have a single active driver during scan shift. C Expert Plus determines if the internal three-state nets in your design meet this requirement. By default, C Expert Plus adds disabling logic to internal three-state nets that do not meet this requirement. The scan-enable signal controls the disabling logic and forces a single driver to be active on the net throughout scan shift. In some cases, C Expert Plus adds redundant disabling logic because the disabling logic checks for internal three-state nets are limited and do not use the test protocol information. Figure 5-17 shows the simple internal three-state net used as an example throughout this section. HOME CONTENTS INEX / 5-38

39 Figure 5-17 Internal Three-State Net Example Figure 5-18 shows the disabling logic added by C Expert Plus during insert_scan. Figure 5-18 Three-State Output With isabling Logic rivers Inactive uring Scan Shift u3 u2 river Active uring Scan Shift u1 HOME CONTENTS INEX / 5-39

40 If the design already contains logic that prevents (or can be configured to prevent) the occurrence of bus contention and bus float during scan shift, you can elect not to have the disabling logic added by C Expert Plus using the set_scan_configuration -disable command. dc_shell> set_scan_configuration -disable false C Expert Plus does not perform checks to detect bus contention or bus float conditions during scan shift. If you elect not to add the threestate disabling logic, verify that invalid conditions do not occur during scan shift. When using the bottom-up design flow, synthesize three-state disabling logic at the top level only. Synthesis of disabling logic at the top level guarantees a consistent implementation across all subdesigns. Use the set_scan_configuration -disable command to disable synthesis of three-state disabling logic in subdesigns. /* subdesign command sequence */ dc_shell> current_design subdesign dc_shell> set_scan_configuration -disable false... dc_shell> insert_scan /* top-level command sequence */ dc_shell> current_design top... dc_shell> insert_scan HOME CONTENTS INEX / 5-40

41 Synthesizing Bidirectional Control Logic Every semiconductor vendor has specific requirements regarding the treatment of bidirectional ports during scan shift. me vendors require that bidirectional ports be held in input mode during scan shift, some require that bidirectional ports be held in output mode during scan shift, and some have no preference. Use the set_scan_configuration -bidi_mode command to specify the scan-shift direction for bidirectional data ports. C Expert Plus uses the test signal type to determine the scan-shift direction for bidirectional test ports. If you do not specify a bidirectional mode, the insert_scan command uses input mode as the default. C Expert Plus determines if the bidirectional ports in your design are in the required mode during scan shift. By default, C Expert Plus adds control logic to bidirectional nets that are not in the required mode. The scan-enable signal controls the disabling logic and forces the bidirectional port into the required mode throughout scan shift. Bidirectional ports that have enables connected to constant values and are therefore always configured in either input mode or output mode are referred to as degenerated bidirectional ports. C Expert Plus does not add control logic for degenerated bidirectional ports. Before you insert control logic for bidirectional ports, understand your vendor s requirements for these cells during scan shift. If the design already contains logic to configure the bidirectional ports during scan shift, you can elect not to have the control logic added by C Expert Plus using the set_scan_configuration -disable command. dc_shell> set_scan_configuration -disable false HOME CONTENTS INEX / 5-41

42 Routing Scan Chains and Global gnals Most scan cells have both a scan output pin (test_scan_out) and an inverted scan output pin (test_scan_out_inverted) defined in the technology library. If the functional path through a sequential cell has timing constraints, C Expert Plus automatically selects the scan output pin with the most timing slack for use as the scan output. To disable this behavior, set the test_disable_find_best_scan_out variable to true. See the Specifying the Scan Architecture section earlier in this chapter for details about specifying scan routing. See the information about completing the scan architecture in the esign Compiler Reference Manual: Optimization and Timing Analysis for details about default routing behavior. Scan chain allocation and ordering might differ between a top-down implementation and a bottom-up implementation due to the following reasons: C Expert Plus does not modify subdesign scan chains unless explicitly specified in your scan configuration. See the Using Existing Structures in Your Scan Chain section earlier in this chapter for more information. C Expert Plus overrides alphanumeric ordering to provide a shared scan output connection on the current design but not on subdesigns. See the Selecting Test Ports section earlier in this chapter for more information. HOME CONTENTS INEX / 5-42

43 Rerouting Scan Chains The scan specification process previously discussed enables both initial routing and rerouting of your design. However, the specifypreview loop runs faster than the specify-synthesize loop. Try to avoid rerouting by iterating through the specify-preview loop until the scan architecture meets your requirements. When rerouting a scan chain, use the set_scan_configuration -replace command to indicate that the design already contains scan cells. dc_shell> set_scan_configuration -replace false If you forget to enter this command, C Expert Plus correctly reroutes your scan chain but generates the following warning message: Warning: You have asked for scan replacement, but attributes show that the design already has scan circuitry. Your request is ignored. (UIT-4) Optimizing the Testable esign To optimize the design during scan assembly, C Expert Plus Performs scan-specific optimizations to reduce the timing impact of scan routing In many cases, the scan path uses the functional output as the scan output. The scan path routing increases the output load on the functional output. If you used test-ready compile for scan replacement, this additional loading is compensated for during optimization. If you used constraint-optimized scan insertion, C HOME CONTENTS INEX / 5-43

44 Expert Plus uses focused optimization techniques during scan assembly to minimize the impact of the additional load on the overall design performance. Replaces unrouted scan cells with their nonscan equivalents If you used test-ready compile for scan replacement, your design might contain unrouted scan cells. These unrouted scan cells occur because the cell has a test design rule violation. C Expert Plus replaces these unrouted scan cells with their nonscan equivalents during execution of the insert_scan command. Your design might contain sequential cells that are defined in the technology library as scan cells but implement functional logic in your design. These cells have functional connections to both the data and scan inputs, and C Expert Plus does not modify these cells during scan assembly. Fixes hold-time violations on the scan path if the clock net has the fix_hold attribute Interfacing with Physical esign Tools If you use an external physical design tool that reroutes the scan chains, you can back-annotate the new scan path information into the C Expert Plus database. C Expert Plus supports chain reordering based on physical information provided in a Physical esign Exchange Format (PEF) file. This same capability is available by using the reoptimize_design command in the Synopsys Floorplan Manager. HOME CONTENTS INEX / 5-44

45 Back-Annotation of Routed Scan Paths To back-annotate scan path information modified during place and route, use the following steps: 1. etect the new scan path using the check_test command. 2. Run the preview_scan command to verify that C Expert Plus reports the correct scan architecture. You might need to provide additional configuration information, such as test clock timing or clock mixing, to ensure that the preview_scan results match the place and route scan path. 3. Generate a scan specification script using the preview_scan command. 4. Remove the scan specification from the.db file using the remove_scan_specification -all command. 5. Reroute the scan path using the generated scan specification script. Caution! This flow only works when all scan flip-flops have only a single output or offer a dedicated scan-out pin. Figure 5-19 shows a scan path before place and route. Figure 5-20 shows the scan path after modification by place and route. HOME CONTENTS INEX / 5-45

46 Figure 5-19 Scan Path Generated by C Expert Plus test_si top insta instb clk1 ~ clk1 ~ clk1 ~ clk1 ~ test_so Figure 5-20 Scan Path Generated by Place and Route test_si top insta instb clk1 ~ clk1 ~ clk1 ~ clk1 ~ test_so HOME CONTENTS INEX / 5-46

47 The following command sequence back-annotates the place and route scan path onto the design.db file. /* derive scan architecture from place-and-route netlist */ dc_shell> read -format verilog place_and_route.v dc_shell> current_design top dc_shell> create_test_clock clk -waveform {45 55} dc_shell> set_scan_configuration -existing true dc_shell> set_scan_configuration -clock_mixing mix_edges dc_shell> set_signal_type test_scan_in test_si dc_shell> set_signal_type test_scan_enable test_se dc_shell> set_signal_type test_scan_out q2 dc_shell> check_test dc_shell> preview_scan -show cells dc_shell> preview_scan -script > p_and_r_order.scr /* back-annotate place-and-route architecture onto.db file */ dc_shell> read -format db prelayout.db dc_shell> current_design top dc_shell> report_test -scan dc_shell> remove_scan_specification -all dc_shell> set_scan_configuration -replace false dc_shell> include p_and_r_order.scr dc_shell> preview_scan -show cells dc_shell> insert_scan Scan Chain Reordering Using Physical Information C Expert Plus supports scan chain reordering based on physcial proximity information provided in the Physical esign Exchange Format (PEF), version 2.0. A data file in this format describes the location of physical clusters and cells in a design. To use these capabilities in C Expert Plus, you need either a Floorplan Manager licence or a ScanPlanner licence. HOME CONTENTS INEX / 5-47

K.T. Tim Cheng 07_dft, v Testability

K.T. Tim Cheng 07_dft, v Testability K.T. Tim Cheng 07_dft, v1.0 1 Testability Is concept that deals with costs associated with testing. Increase testability of a circuit Some test cost is being reduced Test application time Test generation

More information

Designs with Multiple Clock Domains: Avoiding Clock Skew and Reducing Pattern Count Using DFTAdvisor tm and FastScan tm

Designs with Multiple Clock Domains: Avoiding Clock Skew and Reducing Pattern Count Using DFTAdvisor tm and FastScan tm Technical Publication esigns with Multiple Clock omains: Avoiding Clock Skew and Reducing Pattern Count Using FTAdvisor tm and FastScan tm Mentor Graphics Corporation March 2001 www.mentor.com/dft esigns

More information

Using on-chip Test Pattern Compression for Full Scan SoC Designs

Using on-chip Test Pattern Compression for Full Scan SoC Designs Using on-chip Test Pattern Compression for Full Scan SoC Designs Helmut Lang Senior Staff Engineer Jens Pfeiffer CAD Engineer Jeff Maguire Principal Staff Engineer Motorola SPS, System-on-a-Chip Design

More information

Page 1 of 6 Follow these guidelines to design testable ASICs, boards, and systems. (includes related article on automatic testpattern generation basics) (Tutorial) From: EDN Date: August 19, 1993 Author:

More information

Simulation Mismatches Can Foul Up Test-Pattern Verification

Simulation Mismatches Can Foul Up Test-Pattern Verification 1 of 5 12/17/2009 2:59 PM Technologies Design Hotspots Resources Shows Magazine ebooks & Whitepapers Jobs More... Click to view this week's ad screen [ D e s i g n V i e w / D e s i g n S o lu ti o n ]

More information

Lecture 23 Design for Testability (DFT): Full-Scan

Lecture 23 Design for Testability (DFT): Full-Scan Lecture 23 Design for Testability (DFT): Full-Scan (Lecture 19alt in the Alternative Sequence) Definition Ad-hoc methods Scan design Design rules Scan register Scan flip-flops Scan test sequences Overheads

More information

Lecture 23 Design for Testability (DFT): Full-Scan (chapter14)

Lecture 23 Design for Testability (DFT): Full-Scan (chapter14) Lecture 23 Design for Testability (DFT): Full-Scan (chapter14) Definition Ad-hoc methods Scan design Design rules Scan register Scan flip-flops Scan test sequences Overheads Scan design system Summary

More information

2.6 Reset Design Strategy

2.6 Reset Design Strategy 2.6 Reset esign Strategy Many design issues must be considered before choosing a reset strategy for an ASIC design, such as whether to use synchronous or asynchronous resets, will every flipflop receive

More information

Chapter 8 Design for Testability

Chapter 8 Design for Testability 電機系 Chapter 8 Design for Testability 測試導向設計技術 2 Outline Introduction Ad-Hoc Approaches Full Scan Partial Scan 3 Design For Testability Definition Design For Testability (DFT) refers to those design techniques

More information

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43

Testability: Lecture 23 Design for Testability (DFT) Slide 1 of 43 Testability: Lecture 23 Design for Testability (DFT) Shaahin hi Hessabi Department of Computer Engineering Sharif University of Technology Adapted, with modifications, from lecture notes prepared p by

More information

Scan. This is a sample of the first 15 pages of the Scan chapter.

Scan. This is a sample of the first 15 pages of the Scan chapter. Scan This is a sample of the first 15 pages of the Scan chapter. Note: The book is NOT Pinted in color. Objectives: This section provides: An overview of Scan An introduction to Test Sequences and Test

More information

4. Formal Equivalence Checking

4. Formal Equivalence Checking 4. Formal Equivalence Checking 1 4. Formal Equivalence Checking Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin Verification of Digital Systems Spring

More information

Design for Testability

Design for Testability TDTS 01 Lecture 9 Design for Testability Zebo Peng Embedded Systems Laboratory IDA, Linköping University Lecture 9 The test problems Fault modeling Design for testability techniques Zebo Peng, IDA, LiTH

More information

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN Assoc. Prof. Dr. Burak Kelleci Spring 2018 OUTLINE Synchronous Logic Circuits Latch Flip-Flop Timing Counters Shift Register Synchronous

More information

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath Objectives Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath In the previous chapters we have studied how to develop a specification from a given application, and

More information

Overview: Logic BIST

Overview: Logic BIST VLSI Design Verification and Testing Built-In Self-Test (BIST) - 2 Mohammad Tehranipoor Electrical and Computer Engineering University of Connecticut 23 April 2007 1 Overview: Logic BIST Motivation Built-in

More information

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Low Power VLSI Circuits and Systems Prof. Ajit Pal Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 29 Minimizing Switched Capacitance-III. (Refer

More information

TKK S ASIC-PIIRIEN SUUNNITTELU

TKK S ASIC-PIIRIEN SUUNNITTELU Design TKK S-88.134 ASIC-PIIRIEN SUUNNITTELU Design Flow 3.2.2005 RTL Design 10.2.2005 Implementation 7.4.2005 Contents 1. Terminology 2. RTL to Parts flow 3. Logic synthesis 4. Static Timing Analysis

More information

Modeling Latches and Flip-flops

Modeling Latches and Flip-flops Lab Workbook Introduction Sequential circuits are digital circuits in which the output depends not only on the present input (like combinatorial circuits), but also on the past sequence of inputs. In effect,

More information

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98

More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 <98> 98 More on Flip-Flops Digital Design and Computer Architecture: ARM Edition 2015 Chapter 3 98 Review: Bit Storage SR latch S (set) Q R (reset) Level-sensitive SR latch S S1 C R R1 Q D C S R D latch Q

More information

Design for Testability Part II

Design for Testability Part II Design for Testability Part II 1 Partial-Scan Definition A subset of flip-flops is scanned. Objectives: Minimize area overhead and scan sequence length, yet achieve required fault coverage. Exclude selected

More information

System IC Design: Timing Issues and DFT. Hung-Chih Chiang

System IC Design: Timing Issues and DFT. Hung-Chih Chiang System IC esign: Timing Issues and FT Hung-Chih Chiang Outline SoC Timing Issues Timing terminologies Synchronous vs. asynchronous design Interfaces and timing closure Clocking issues Reset esign for Testability

More information

Synchronous Sequential Logic

Synchronous Sequential Logic Synchronous Sequential Logic Ranga Rodrigo August 2, 2009 1 Behavioral Modeling Behavioral modeling represents digital circuits at a functional and algorithmic level. It is used mostly to describe sequential

More information

for Digital IC's Design-for-Test and Embedded Core Systems Alfred L. Crouch Prentice Hall PTR Upper Saddle River, NJ

for Digital IC's Design-for-Test and Embedded Core Systems Alfred L. Crouch Prentice Hall PTR Upper Saddle River, NJ Design-for-Test for Digital IC's and Embedded Core Systems Alfred L. Crouch Prentice Hall PTR Upper Saddle River, NJ 07458 www.phptr.com ISBN D-13-DflMfla7-l : Ml H Contents Preface Acknowledgments Introduction

More information

Chapter 2 Clocks and Resets

Chapter 2 Clocks and Resets Chapter 2 Clocks and Resets 2.1 Introduction The cost of designing ASICs is increasing every year. In addition to the non-recurring engineering (NRE) and mask costs, development costs are increasing due

More information

Modeling Latches and Flip-flops

Modeling Latches and Flip-flops Lab Workbook Introduction Sequential circuits are the digital circuits in which the output depends not only on the present input (like combinatorial circuits), but also on the past sequence of inputs.

More information

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller XAPP22 (v.) January, 2 R Application Note: Virtex Series, Virtex-II Series and Spartan-II family LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller Summary Linear Feedback

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science SOLUTIONS

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science SOLUTIONS University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 5 Fall 25 R. H. Katz SOLUTIONS Problem Set #3: Combinational and Sequential Logic

More information

Name Of The Experiment: Sequential circuit design Latch, Flip-flop and Registers

Name Of The Experiment: Sequential circuit design Latch, Flip-flop and Registers EEE 304 Experiment No. 07 Name Of The Experiment: Sequential circuit design Latch, Flip-flop and Registers Important: Submit your Prelab at the beginning of the lab. Prelab 1: Construct a S-R Latch and

More information

Gated Driver Tree Based Power Optimized Multi-Bit Flip-Flops

Gated Driver Tree Based Power Optimized Multi-Bit Flip-Flops International Journal of Emerging Engineering Research and Technology Volume 2, Issue 4, July 2014, PP 250-254 ISSN 2349-4395 (Print) & ISSN 2349-4409 (Online) Gated Driver Tree Based Power Optimized Multi-Bit

More information

Unit 8: Testability. Prof. Roopa Kulkarni, GIT, Belgaum. 29

Unit 8: Testability. Prof. Roopa Kulkarni, GIT, Belgaum. 29 Unit 8: Testability Objective: At the end of this unit we will be able to understand Design for testability (DFT) DFT methods for digital circuits: Ad-hoc methods Structured methods: Scan Level Sensitive

More information

Chapter 5 Flip-Flops and Related Devices

Chapter 5 Flip-Flops and Related Devices Chapter 5 Flip-Flops and Related Devices Chapter 5 Objectives Selected areas covered in this chapter: Constructing/analyzing operation of latch flip-flops made from NAND or NOR gates. Differences of synchronous/asynchronous

More information

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters

Logic and Computer Design Fundamentals. Chapter 7. Registers and Counters Logic and Computer Design Fundamentals Chapter 7 Registers and Counters Registers Register a collection of binary storage elements In theory, a register is sequential logic which can be defined by a state

More information

At-speed Testing of SOC ICs

At-speed Testing of SOC ICs At-speed Testing of SOC ICs Vlado Vorisek, Thomas Koch, Hermann Fischer Multimedia Design Center, Semiconductor Products Sector Motorola Munich, Germany Abstract This paper discusses the aspects and associated

More information

Modeling Digital Systems with Verilog

Modeling Digital Systems with Verilog Modeling Digital Systems with Verilog Prof. Chien-Nan Liu TEL: 03-4227151 ext:34534 Email: jimmy@ee.ncu.edu.tw 6-1 Composition of Digital Systems Most digital systems can be partitioned into two types

More information

Static Timing Analysis for Nanometer Designs

Static Timing Analysis for Nanometer Designs J. Bhasker Rakesh Chadha Static Timing Analysis for Nanometer Designs A Practical Approach 4y Spri ringer Contents Preface xv CHAPTER 1: Introduction / 1.1 Nanometer Designs 1 1.2 What is Static Timing

More information

DC Ultra. Concurrent Timing, Area, Power and Test Optimization. Overview

DC Ultra. Concurrent Timing, Area, Power and Test Optimization. Overview DATASHEET DC Ultra Concurrent Timing, Area, Power and Test Optimization DC Ultra RTL synthesis solution enables users to meet today s design challenges with concurrent optimization of timing, area, power

More information

VLSI Technology used in Auto-Scan Delay Testing Design For Bench Mark Circuits

VLSI Technology used in Auto-Scan Delay Testing Design For Bench Mark Circuits VLSI Technology used in Auto-Scan Delay Testing Design For Bench Mark Circuits N.Brindha, A.Kaleel Rahuman ABSTRACT: Auto scan, a design for testability (DFT) technique for synchronous sequential circuits.

More information

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit) Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6. - Introductory Digital Systems Laboratory (Spring 006) Laboratory - Introduction to Digital Electronics

More information

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer 1 P a g e HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer Objectives: Develop the behavioural style VHDL code for D-Flip Flop using gated,

More information

Implementation of Scan Insertion and Compression for 28nm design Technology

Implementation of Scan Insertion and Compression for 28nm design Technology Implementation of Scan Insertion and Compression for 28nm design Technology 1 Mohan PVS, 2 Rajanna K.M 1 PG Student, Department of ECE, Dr. Ambedkar Institute of Technology, Bengaluru, India 2 Associate

More information

University College of Engineering, JNTUK, Kakinada, India Member of Technical Staff, Seerakademi, Hyderabad

University College of Engineering, JNTUK, Kakinada, India Member of Technical Staff, Seerakademi, Hyderabad Power Analysis of Sequential Circuits Using Multi- Bit Flip Flops Yarramsetti Ramya Lakshmi 1, Dr. I. Santi Prabha 2, R.Niranjan 3 1 M.Tech, 2 Professor, Dept. of E.C.E. University College of Engineering,

More information

4 of 40. Multi-ASIC reset synchronization Good Multi-Flip-Flop. Synthesis issues with reset nets. 3 of 40. Synchronous Resets? Asynchronous Resets?

4 of 40. Multi-ASIC reset synchronization Good Multi-Flip-Flop. Synthesis issues with reset nets. 3 of 40. Synchronous Resets? Asynchronous Resets? Synchronous Resets? Asynchronous Resets? I am so confused! How will I ever know which to use? &OLIIRUG(&XPPLQJV 'RQLOOV 6XQEXUVW'HVLJQ,Q /&'(QJLQHHULQJ OLII#VXQEXUVWGHVLJQRP PLOOV#OGPHQJRP ZZZVXQEXUVWGHVLJQRP

More information

Combinational vs Sequential

Combinational vs Sequential Combinational vs Sequential inputs X Combinational Circuits outputs Z A combinational circuit: At any time, outputs depends only on inputs Changing inputs changes outputs No regard for previous inputs

More information

Last time, we saw how latches can be used as memory in a circuit

Last time, we saw how latches can be used as memory in a circuit Flip-Flops Last time, we saw how latches can be used as memory in a circuit Latches introduce new problems: We need to know when to enable a latch We also need to quickly disable a latch In other words,

More information

CS8803: Advanced Digital Design for Embedded Hardware

CS8803: Advanced Digital Design for Embedded Hardware CS883: Advanced Digital Design for Embedded Hardware Lecture 4: Latches, Flip-Flops, and Sequential Circuits Instructor: Sung Kyu Lim (limsk@ece.gatech.edu) Website: http://users.ece.gatech.edu/limsk/course/cs883

More information

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow Bradley R. Quinton*, Mark R. Greenstreet, Steven J.E. Wilton*, *Dept. of Electrical and Computer Engineering, Dept.

More information

Vignana Bharathi Institute of Technology UNIT 4 DLD

Vignana Bharathi Institute of Technology UNIT 4 DLD DLD UNIT IV Synchronous Sequential Circuits, Latches, Flip-flops, analysis of clocked sequential circuits, Registers, Shift registers, Ripple counters, Synchronous counters, other counters. Asynchronous

More information

https://daffy1108.wordpress.com/2014/06/08/synchronizers-for-asynchronous-signals/

https://daffy1108.wordpress.com/2014/06/08/synchronizers-for-asynchronous-signals/ https://daffy1108.wordpress.com/2014/06/08/synchronizers-for-asynchronous-signals/ Synchronizers for Asynchronous Signals Asynchronous signals causes the big issue with clock domains, namely metastability.

More information

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity.

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity. Prototyping an ASIC with FPGAs By Rafey Mahmud, FAE at Synplicity. With increased capacity of FPGAs and readily available off-the-shelf prototyping boards sporting multiple FPGAs, it has become feasible

More information

Changing the Scan Enable during Shift

Changing the Scan Enable during Shift Changing the Scan Enable during Shift Nodari Sitchinava* Samitha Samaranayake** Rohit Kapur* Emil Gizdarski* Fredric Neuveux* T. W. Williams* * Synopsys Inc., 700 East Middlefield Road, Mountain View,

More information

超大型積體電路測試 國立清華大學電機系 EE VLSI Testing. Chapter 5 Design For Testability & Scan Test. Outline. Introduction

超大型積體電路測試 國立清華大學電機系 EE VLSI Testing. Chapter 5 Design For Testability & Scan Test. Outline. Introduction 1 國立清華大學電機系 EE-6250 超大型積體電路測試 VLSI Testing Chapter 5 esign For Testability & Scan Test Outline Introduction Why FT? What is FT? Ad-Hoc Approaches Full Scan Partial Scan ch5-2 2 Why FT? irect Testing is

More information

Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky,

Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky, Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky, tomott}@berkeley.edu Abstract With the reduction of feature sizes, more sources

More information

Level and edge-sensitive behaviour

Level and edge-sensitive behaviour Level and edge-sensitive behaviour Asynchronous set/reset is level-sensitive Include set/reset in sensitivity list Put level-sensitive behaviour first: process (clock, reset) is begin if reset = '0' then

More information

At-speed testing made easy

At-speed testing made easy At-speed testing made easy By Bruce Swanson and Michelle Lange, EEdesign.com Jun 03, 2004 (5:00 PM EDT) URL: http://www.eedesign.com/article/showarticle.jhtml?articleid=21401421 Today's chip designs are

More information

Using the Quartus II Chip Editor

Using the Quartus II Chip Editor Using the Quartus II Chip Editor June 2003, ver. 1.0 Application Note 310 Introduction Altera FPGAs have made tremendous advances in capacity and performance. Today, Altera Stratix and Stratix GX devices

More information

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay)  CSC S.J. Park. Announcement Seung-Jong Park (Jay) http://www.csc.lsu.edu/~sjpark Computer Architecture (CSC-3501) Lecture 7 (07 Feb 2008) 1 Announcement 2 1 Combinational vs. Sequential Logic Combinational Logic Memoryless Outputs

More information

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit: Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: This lab gives you more exercise in schematic entry, state machine design using the one-hot state method, further understanding

More information

Chapter 4. Logic Design

Chapter 4. Logic Design Chapter 4 Logic Design 4.1 Introduction. In previous Chapter we studied gates and combinational circuits, which made by gates (AND, OR, NOT etc.). That can be represented by circuit diagram, truth table

More information

Retiming Sequential Circuits for Low Power

Retiming Sequential Circuits for Low Power Retiming Sequential Circuits for Low Power José Monteiro, Srinivas Devadas Department of EECS MIT, Cambridge, MA Abhijit Ghosh Mitsubishi Electric Research Laboratories Sunnyvale, CA Abstract Switching

More information

6.S084 Tutorial Problems L05 Sequential Circuits

6.S084 Tutorial Problems L05 Sequential Circuits Preamble: Sequential Logic Timing 6.S084 Tutorial Problems L05 Sequential Circuits In Lecture 5 we saw that for D flip-flops to work correctly, the flip-flop s input should be stable around the rising

More information

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS NH 67, Karur Trichy Highways, Puliyur C.F, 639 114 Karur District DEPARTMENT OF ELETRONICS AND COMMUNICATION ENGINEERING COURSE NOTES SUBJECT: DIGITAL ELECTRONICS CLASS: II YEAR ECE SUBJECT CODE: EC2203

More information

Digital Circuits 4: Sequential Circuits

Digital Circuits 4: Sequential Circuits Digital Circuits 4: Sequential Circuits Created by Dave Astels Last updated on 2018-04-20 07:42:42 PM UTC Guide Contents Guide Contents Overview Sequential Circuits Onward Flip-Flops R-S Flip Flop Level

More information

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics 1) Explain why & how a MOSFET works VLSI Design: 2) Draw Vds-Ids curve for a MOSFET. Now, show how this curve changes (a) with increasing Vgs (b) with increasing transistor width (c) considering Channel

More information

CS8803: Advanced Digital Design for Embedded Hardware

CS8803: Advanced Digital Design for Embedded Hardware Copyright 2, 23 M Ciletti 75 STORAGE ELEMENTS: R-S LATCH CS883: Advanced igital esign for Embedded Hardware Storage elements are used to store information in a binary format (e.g. state, data, address,

More information

Achieving Timing Closure in ALTERA FPGAs

Achieving Timing Closure in ALTERA FPGAs Achieving Timing Closure in ALTERA FPGAs Course Description This course provides all necessary theoretical and practical know-how to write system timing constraints for variety designs in ALTERA FPGAs.

More information

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory. National Central University Chapter 3 Basics of VLSI Testing (2) Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory Department of Electrical Engineering National Central University Jhongli, Taiwan Outline Testing Process Fault

More information

Module 8. Testing of Embedded System. Version 2 EE IIT, Kharagpur 1

Module 8. Testing of Embedded System. Version 2 EE IIT, Kharagpur 1 Module 8 Testing of Embedded System Version 2 EE IIT, Kharagpur 1 Lesson 39 Design for Testability Version 2 EE IIT, Kharagpur 2 Instructional Objectives After going through this lesson the student would

More information

UNIT III. Combinational Circuit- Block Diagram. Sequential Circuit- Block Diagram

UNIT III. Combinational Circuit- Block Diagram. Sequential Circuit- Block Diagram UNIT III INTRODUCTION In combinational logic circuits, the outputs at any instant of time depend only on the input signals present at that time. For a change in input, the output occurs immediately. Combinational

More information

A Novel Low-overhead Delay Testing Technique for Arbitrary Two-Pattern Test Application

A Novel Low-overhead Delay Testing Technique for Arbitrary Two-Pattern Test Application A Novel Low-overhead elay Testing Technique for Arbitrary Two-Pattern Test Application Swarup Bhunia, Hamid Mahmoodi, Arijit Raychowdhury, and Kaushik Roy School of Electrical and Computer Engineering,

More information

MODULE 3. Combinational & Sequential logic

MODULE 3. Combinational & Sequential logic MODULE 3 Combinational & Sequential logic Combinational Logic Introduction Logic circuit may be classified into two categories. Combinational logic circuits 2. Sequential logic circuits A combinational

More information

MC9211 Computer Organization

MC9211 Computer Organization MC9211 Computer Organization Unit 2 : Combinational and Sequential Circuits Lesson2 : Sequential Circuits (KSB) (MCA) (2009-12/ODD) (2009-10/1 A&B) Coverage Lesson2 Outlines the formal procedures for the

More information

1. Synopsis: 2. Description of the Circuit:

1. Synopsis: 2. Description of the Circuit: Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: This lab gives you more exercise in schematic entry, state machine design using the one-hot state method, further understanding

More information

D Latch (Transparent Latch)

D Latch (Transparent Latch) D Latch (Transparent Latch) -One way to eliminate the undesirable condition of the indeterminate state in the SR latch is to ensure that inputs S and R are never equal to 1 at the same time. This is done

More information

Low Power Illinois Scan Architecture for Simultaneous Power and Test Data Volume Reduction

Low Power Illinois Scan Architecture for Simultaneous Power and Test Data Volume Reduction Low Illinois Scan Architecture for Simultaneous and Test Data Volume Anshuman Chandra, Felix Ng and Rohit Kapur Synopsys, Inc., 7 E. Middlefield Rd., Mountain View, CA Abstract We present Low Illinois

More information

EEC 116 Fall 2011 Lab #5: Pipelined 32b Adder

EEC 116 Fall 2011 Lab #5: Pipelined 32b Adder EEC 116 Fall 2011 Lab #5: Pipelined 32b Adder Dept. of Electrical and Computer Engineering University of California, Davis Issued: November 2, 2011 Due: November 16, 2011, 4PM Reading: Rabaey Sections

More information

LOW POWER AND HIGH PERFORMANCE SHIFT REGISTERS USING PULSED LATCH TECHNIQUE

LOW POWER AND HIGH PERFORMANCE SHIFT REGISTERS USING PULSED LATCH TECHNIQUE OI: 10.21917/ijme.2018.0088 LOW POWER AN HIGH PERFORMANCE SHIFT REGISTERS USING PULSE LATCH TECHNIUE Vandana Niranjan epartment of Electronics and Communication Engineering, Indira Gandhi elhi Technical

More information

IT T35 Digital system desigm y - ii /s - iii

IT T35 Digital system desigm y - ii /s - iii UNIT - III Sequential Logic I Sequential circuits: latches flip flops analysis of clocked sequential circuits state reduction and assignments Registers and Counters: Registers shift registers ripple counters

More information

COPY RIGHT. To Secure Your Paper As Per UGC Guidelines We Are Providing A Electronic Bar Code

COPY RIGHT. To Secure Your Paper As Per UGC Guidelines We Are Providing A Electronic Bar Code COPY RIGHT 2018IJIEMR.Personal use of this material is permitted. Permission from IJIEMR must be obtained for all other uses, in any current or future media, including reprinting/republishing this material

More information

Registers and Counters

Registers and Counters Registers and Counters A register is a group of flip-flops which share a common clock An n-bit register consists of a group of n flip-flops capable of storing n bits of binary information May have combinational

More information

UNIVERSITI TEKNOLOGI MALAYSIA

UNIVERSITI TEKNOLOGI MALAYSIA SULIT Faculty of Computing UNIVERSITI TEKNOLOGI MALAYSIA FINAL EXAMINATION SEMESTER I, 2016 / 2017 SUBJECT CODE : SUBJECT NAME : SECTION : TIME : DATE/DAY : VENUES : INSTRUCTIONS : Answer all questions

More information

Product Update. JTAG Issues and the Use of RT54SX Devices

Product Update. JTAG Issues and the Use of RT54SX Devices Product Update Revision Date: September 2, 999 JTAG Issues and the Use of RT54SX Devices BACKGROUND The attached paper authored by Richard B. Katz of NASA GSFC and J. J. Wang of Actel describes anomalies

More information

9. Synopsys PrimeTime Support

9. Synopsys PrimeTime Support 9. Synopsys PrimeTime Support December 2010 QII53005-10.0.1 QII53005-10.0.1 PrimeTime is the Synopsys stand-alone full chip, gate-level static timing analyzer. The Quartus II software makes it easy for

More information

FSM Cookbook. 1. Introduction. 2. What Functional Information Must be Modeled

FSM Cookbook. 1. Introduction. 2. What Functional Information Must be Modeled FSM Cookbook 1. Introduction Tau models describe the timing and functional information of component interfaces. Timing information specifies the delay in placing values on output signals and the timing

More information

Long and Fast Up/Down Counters Pushpinder Kaur CHOUHAN 6 th Jan, 2003

Long and Fast Up/Down Counters Pushpinder Kaur CHOUHAN 6 th Jan, 2003 1 Introduction Long and Fast Up/Down Counters Pushpinder Kaur CHOUHAN 6 th Jan, 2003 Circuits for counting both forward and backward events are frequently used in computers and other digital systems. Digital

More information

Instructions. Final Exam CPSC/ELEN 680 December 12, Name: UIN:

Instructions. Final Exam CPSC/ELEN 680 December 12, Name: UIN: Final Exam CPSC/ELEN 680 December 12, 2005 Name: UIN: Instructions This exam is closed book. Provide brief but complete answers to the following questions in the space provided, using figures as necessary.

More information

CHAPTER 4: Logic Circuits

CHAPTER 4: Logic Circuits CHAPTER 4: Logic Circuits II. Sequential Circuits Combinational circuits o The outputs depend only on the current input values o It uses only logic gates, decoders, multiplexers, ALUs Sequential circuits

More information

Logic Design for On-Chip Test Clock Generation- Implementation Details and Impact on Delay Test Quality

Logic Design for On-Chip Test Clock Generation- Implementation Details and Impact on Delay Test Quality Logic Design for On-Chip Test Clock Generation- mplementation Details and mpact on Delay Test Quality Beck, Olivier Barondeau, Martin Kaibel, Frank Poehl Technologies AG 73 81541Munich, Germany Xijiang

More information

Chapter 5 Synchronous Sequential Logic

Chapter 5 Synchronous Sequential Logic Chapter 5 Synchronous Sequential Logic Chih-Tsun Huang ( 黃稚存 ) http://nthucad.cs.nthu.edu.tw/~cthuang/ Department of Computer Science National Tsing Hua University Outline Introduction Storage Elements:

More information

Using down to a Single Scan Channel to Meet your Test Goals (Part 2) Richard Illman Member of Technical Staff

Using down to a Single Scan Channel to Meet your Test Goals (Part 2) Richard Illman Member of Technical Staff Using down to a Single Scan Channel to Meet your Test Goals (Part 2) Richard Illman Member of Technical Staff Motivation - Target Market Dialog Semiconductor creates energy-efficient, highly integrated,

More information

Rangkaian Sekuensial. Flip-flop

Rangkaian Sekuensial. Flip-flop Rangkaian Sekuensial Rangkaian Sekuensial Flip-flop Combinational versus Sequential Functions Logic functions are categorized as being either combinational (sometimes referred to as combinatorial) or sequential.

More information

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers

Sequential logic. Circuits with feedback. How to control feedback? Sequential circuits. Timing methodologies. Basic registers equential logic equential circuits simple circuits with feedback latches edge-triggered flip-flops Timing methodologies cascading flip-flops for proper operation clock skew Basic registers shift registers

More information

Sequential Logic and Clocked Circuits

Sequential Logic and Clocked Circuits Sequential Logic and Clocked Circuits Clock or Timing Device Input Variables State or Memory Element Combinational Logic Elements From combinational logic, we move on to sequential logic. Sequential logic

More information

A video signal processor for motioncompensated field-rate upconversion in consumer television

A video signal processor for motioncompensated field-rate upconversion in consumer television A video signal processor for motioncompensated field-rate upconversion in consumer television B. De Loore, P. Lippens, P. Eeckhout, H. Huijgen, A. Löning, B. McSweeney, M. Verstraelen, B. Pham, G. de Haan,

More information

FLIP-FLOPS AND RELATED DEVICES

FLIP-FLOPS AND RELATED DEVICES C H A P T E R 5 FLIP-FLOPS AND RELATED DEVICES OUTLINE 5- NAND Gate Latch 5-2 NOR Gate Latch 5-3 Troubleshooting Case Study 5-4 Digital Pulses 5-5 Clock Signals and Clocked Flip-Flops 5-6 Clocked S-R Flip-Flop

More information

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing

Lec 24 Sequential Logic Revisited Sequential Circuit Design and Timing Traversing igital esign EECS - Components and esign Techniques for igital Systems EECS wks 6 - Lec 24 Sequential Logic Revisited Sequential Circuit esign and Timing avid Culler Electrical Engineering and

More information

Testing Digital Systems II

Testing Digital Systems II Testing Digital Systems II Lecture 2: Design for Testability (I) structor: M. Tahoori Copyright 2010, M. Tahoori TDS II: Lecture 2 1 History During early years, design and test were separate The final

More information

Logic Devices for Interfacing, The 8085 MPU Lecture 4

Logic Devices for Interfacing, The 8085 MPU Lecture 4 Logic Devices for Interfacing, The 8085 MPU Lecture 4 1 Logic Devices for Interfacing Tri-State devices Buffer Bidirectional Buffer Decoder Encoder D Flip Flop :Latch and Clocked 2 Tri-state Logic Outputs

More information

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall,

Sequencing. Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, Sequencing ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2013 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Outlines Introduction Sequencing

More information

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board Introduction This lab will be an introduction on how to use ChipScope for the verification of the designs done on

More information