I've built a 16-bit RISC pipelined processor in VHDL based on an ISA that was developed in my college. The ISA has a lot of corner cases and I'm wondering how to go about testing the VHDL code.
I've currently built a basic testbench which reads a hex file (generated by an assembler) and loads the data into the microprocessor, providing the clk
and reset
input signals.
Currently, I'm just trying out random assembly programs and looking at the gtkwave
output trying to see whether the relevant signals have the correct values.
- Is there a systematic way of testing a large digital system such as a microprocessor?
- What's the best way to identify corner cases of an ISA? I'm willing to write some scripts if they will help me generate some test cases.
- What would be a good VHDL testbench for such a system? I'm finding it hard to think of a good solution as I'm sometimes unsure of the number of clock cycles it would take the processor to compute some result.
Aucun commentaire:
Enregistrer un commentaire