3 ms·
In 1998 I was bringing up a new MIPS-based board that had been designed in-house The CPU booted from an EEPROM and started running code. There was an FPGA on t
by bstpierre 4y ago
In 1998 I was bringing up a new MIPS-based board that had been designed in-house
The CPU booted from an EEPROM and started running code. There was an FPGA on the board that controlled the memory. The FPGA needed to be loaded with a bit-stream that was also on the EEPROM. The trick was that I had to write a program to load the FPGA without referencing any memory -- I only had ROM and the CPU registers. Fortunately the MIPS had quite a few registers, but I had to abuse all the register-use conventions and the code jumped through some hoops in order to be able to get the FPGA loaded so we could start running from RAM.
There was all kinds of crazy stuff that was weird with that hardware that we had to fix in software... I didn't realize until switching jobs exactly how weird things were, I just thought it was normal.