
The factory test module is a simple module that can be used to test all the I/O pins of the ASIC.
It has three modes of operation:
rst_n is low).rst_n is high sel is low).rst_n is high and sel is high).The following table summarizes the modes:
rst_n |
sel |
Mode | uo_out value | uio pins |
|---|---|---|---|---|
| 0 | X | Input mirror | ui_in | High-Z |
| 1 | 0 | Bidirectional mirror | uio_in | High-Z |
| 1 | 1 | Counter | counter | counter |
The counter is an 8-bit counter that increments on every clock cycle, and resets when rst_n is low.
rst_n low and observe that the input pins (ui_in) are output on the output pins (uo_out).rst_n high and sel low and observe that the bidirectional pins (uio_in) are output on the output pins (uo_out).sel high and observe that the counter is output on both the output pins (uo_out) and the bidirectional pins (uio).| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | unit_sel[0] (LSB of 2-bit channel selector) | spike (spike of the SELECTED unit) | sample_byte[0] (LSB) |
| 1 | unit_sel[1] (MSB of 2-bit channel selector) | event[0] (LSB of 2-bit event code) | sample_byte[1] |
| 2 | byte_valid (strobe, 1 clk-wide when uio contains a byte) | event[1] (MSB of 2-bit event code) | sample_byte[2] |
| 3 | reserved (drive 0 externally) | const0 (always 0) | sample_byte[3] |
| 4 | reserved | const0 (always 0) | sample_byte[4] |
| 5 | reserved | const0 (always 0) | sample_byte[5] |
| 6 | reserved | const0 (always 0) | sample_byte[6] |
| 7 | reserved | const0 (always 0) | sample_byte[7] (MSB) |