
This design simulates a universal one-qubit quantum computer.
It can execute 8 operations:
Amplitudes are stored in 8 bit fixed point numbers, where the value v is indicated by the binary value round(127 * v). A LFSR is used to generate pseudorandom numbers for measurement.
ui_in[2:0] indicate which operation should be executed. ui_in[3] contains the start signal, inverting its value will make the chip run the operation.
If the operation was the measure operation, the result can be read from uo[0]. After the operation was executed, the chip inverts the value of the done signal on uo[1] to match that of ready signal and waits for another command.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | opc[0] | msr_res | |
| 1 | opc[1] | done | |
| 2 | opc[2] | ||
| 3 | start | ||
| 4 | |||
| 5 | |||
| 6 | |||
| 7 |