Skip to content

Commit

Permalink
dft: updating readme to document current status of the tool
Browse files Browse the repository at this point in the history
Signed-off-by: Felipe Garay <[email protected]>
  • Loading branch information
fgaray committed May 27, 2023
1 parent 145c736 commit 54af2a1
Showing 1 changed file with 71 additions and 2 deletions.
73 changes: 71 additions & 2 deletions src/dft/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,80 @@ A simple DFT insertion consist of the following parts:
* A scan_enable pin to allow your design to enter and leave the test mode.


# Supported Features
# TCL Commands

TODO
## set_dft_config


```
set_dft_config [-max_length <int>]
[-clock_mixing <string>]
```

* `-max_length`: The maxinum number of bits that can be in each scan chain.
* `-clock_mixing`: How architect will mix the scan flops based on the clock driver.
* `no_mix`: Creates scan chains with only one type of clock and edge. This
may create unbalanced chains.
* `clock_mix`: Craetes scan chains mixing clocks and edges. Falling edge
flops are going to be stitched before rising edge.

## report_dft_config

```
report_dft_config
```

Prints the current DFT configuration to be used by `preview_dft` and
`insert_dft`.

## preview_dft

```
preview_dft [-verbose]
```

Prints a preview of the scan chains that will be stitched by `insert_dft`. Use
this command to iterate and try different DFT configurations. This command do
not perform any modification to the design.

* `-verbose`: Shows more information about each one of the scan chains that will
be created.


## insert_dft

```
insert_dft
```

Implements the scan chains into the design by performing the following actions:

1. Scan Replace.
2. Scan Architect.
3. Scan Stitch.

The end result will be a design with scan flops connected to form the scan
chains.

# Example

This example will create scan chains with a max length of 10 bits mixing all the
scan flops in the scan chains.

```
set_dft_config -max_length 10 -clock_mixing clock_mix
report_dft_config
preview_dft -verbose
insert_dft
```

# Limitations

* There are no optimizations for the scan chains. This is a WIP.
* There is no way to specify existing scan ports to be used by scan insertion.
* There is currently no way to define a user defined scan path.
* We can only work with one bit cells.

## License

BSD 3-Clause License. See [LICENSE](../../LICENSE) file.

0 comments on commit 54af2a1

Please sign in to comment.