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) |