Anzeige
Anzeige

Más contenido relacionado

Anzeige

DRCs.pptx

  1. DRCs
  2. C1: • Category: Clock • Default Handling: Error • A scan or non-scan cell must not capture data when all specified clocks are set to their off states • One common root cause of these C1 violations is a set/reset pin not defined as a clock. You can define a set/reset pin as a clock to fix the problem and avoid ATPG performance impact. • Effect on Testability : Failure to satisfy this rule can result in unstable scan and non-scan cell values going into or coming out of load_unload, or between cycles. This can result in lower test coverage.
  3. C1: Possible Resolutions • If your debugging effort shows an offending clock’s off state is incorrect, use the add_clocks command to redefine the clock with the correct off state. • If the off state is correct, the problem typically is due to an indeterminate value (X) in related logic that causes the clock’s value at a scan cell to be X. You can fix these by using the add_input_constraints command to constrain a primary input pin to a value that removes the X: add_input_constraints -c0 EN add_input_constraints –c1 EN
  4. C2: • Default Handling: Warning • Each clock must have a structural path to the clock port of at least one memory element. The application performs this check by a backward tracing from the clock port, SET/RESET port, and read/write enables of all memory elements toward primary inputs. The rule violation occurs if a clock primary input cannot be reached. • Clock ‘CLK’ cannot reach the clock port of any memory element • Defining a pin to be a clock, when it does not behave as a clock, is the most usual cause of this error condition • Failure to satisfy this rule indicates a defined clock cannot capture data, thus reducing test coverage. C2 Rule Violation Example: If you run rules checking on this design, you get a C2 rules violation because while the CK17 signal appears to be a clock (due to its name), it cannot be reached from the clock port or SET/RESET ports of the flip-flop. To fix this problem, add the command: delete_clocks CK17 Then, you must re-run checks.
  5. C7: • Default Handling: Warning • The rule violation occurs when a clock input of a scan cell always remains off. • Failure to satisfy this rule indicates a scan cell clock input cannot capture data, resulting in some loss of test coverage. • Message: Clock input I of N (G) cannot capture data with a single clock on. (C7-1) C7 Rule Violation Example This design constrains the SCAN_MODE signal to a constant 0 during ATPG. This constraint prevents the first flip-flop from ever being clocked, and from ever capturing data. To fix this problem, delete the pin constraint: delete_input_constraints -all
  6. C9: • Default Handling: Warning • The rule violation occurs on a clock pin when a primary output is in both the clock cone and the effect cone. • Failure to satisfy this rule may result in a small loss in test coverage. • Message: PO P path from clock C is gated by scan cell that uses same clock • C9 violation can result in reduced coverage because it may introduce sequential effects into the generated clock patterns C9 Rule Violation Example The tool setup for the clocks is: add_clocks 0 func_clk In this case, the violation is at the out1 line. The func_clk signal can affect the data of the flip-flop and the gate at the output of the scan cell. An acceptable solution is to accept this warning, or turn it off with the command: set_drc_handling c9 ignore
  7. C23: • Default Handling: Warning • This rule checks if a scan cell cannot capture fault effects because its clock port is constrained to 0 or 1.
  8. T12 • Category: Trace • Contexts Supported: dft -scan, dft -test_points, patterns -scan, patterns - scan_diagnosis • Default Handling: Warning • When the handling is set to other than error, the tool automatically makes the necessary MASTER unobservable to prevent a potential simulation mismatch. This applies only to the MASTER of the scan cell containing a SLAVE. The scan cell without a SLAVE retains its original observability. Due to the loss of observability on some MASTERs, test coverage may be reduced. To correct this violation, you can define a master_observe procedure to propagate the MASTER value to the SLAVE.
  9. W17 • Category: Timing • Contexts Supported: dft -scan, dft -test_points, patterns -scan, patterns - scan_diagnosis • Default Handling: Error (cannot be changed with the set_drc_handling command) • it is important that the timeplates used in a clock_po procedure do not pulse the clock pins, but only force them. If this is not corrected before patterns are saved, the Vector Interfaces code places X values on the output pins for the clock_po procedure and fault coverage decreases. • T specifies which timeplate has the clock pulses. To correct this, make sure you define a different timeplate that does not have clock pulses and use this in the clock_po procedure.
  10. A6 • Category: RAM • Contexts Supported: dft -scan, dft -test_points, patterns -scan, patterns - scan_diagnosis • Default Handling: Warning • The rule violation occurs if any write, set, or reset input of any RAM, or a read input of a data_hold RAM is not off.Failure to satisfy this rule for write inputs results in the RAM being unavailable to hold its contents during scan operation, which may cause a loss in test coverage. • When an error condition occurs, you can access the simulated values by setting the gate reporting to error_pattern and using the report_gates command for the gate ID number displayed in the error message. This identifies the input that is not held off, and by tracing back from this input, you can identify how to correct the problem. The usual cause of this error condition is not defining all write or read control lines, or defining the wrong off-state.
  11. A10 • Category: RAM • Contexts Supported: dft -scan, dft -test_points, patterns -scan_diagnosis • Default Handling: Warning • The usual cause of this error condition is not forcing the primary inputs, or not initializing the state elements, that control the RAM’s set or reset port to an appropriate value. • When an error condition occurs, you can access the simulated values by setting the gate reporting to error_pattern and using the report_gates command for the gate ID number displayed in the error message. This identifies the set or reset port that is not held off during simulation of a procedure, and by tracing back from this input, you can identify how to correct the problem. • When the A10 or A11 rule is violated, the tool treats the RAM as TIEX, which may reduce fault coverage
  12. A11 • Category: RAM • Contexts Supported: dft -scan, dft -test_points, patterns - scan_diagnosis • Default Handling: Warning • When an error condition occurs, you can access the simulated values by setting the gate reporting to error_pattern and using the report_gates command for the gate ID number displayed in the error message. This identifies the set or reset port that is not held off during capture, and by tracing back from this input, you can identify how to correct the problem. The usual cause of this error condition is not constraining the primary inputs or the state elements that control the RAM’s set or reset port.
Anzeige