How do I design my very own ARM based processors?
Here is how companies do it:
- Raise about US$10 million.
- Negotiate with ARM to get a license. This will probably cost at least US$1 million.
- Get the design files from ARM. It will likely be in some form of VHDL, Verilog, or an "encrypted" netlist.
- Design your own chip using a mix of your own logic (for the peripherals) and what ARM gave you. This step will likely require some expensive CAD software and a small team of experts. Expect to spend at least US$5 million and several years.
- Get the masks made for the chip itself. If you use any modern semiconductor process then this will run around US$1 million.
- Get the chip itself made. Price varies, but should be less than US$0.5 million.
- Debug the chip you created, fix the bugs, then go back to Step 5 until you have something that you can sell.
Here is how YOU do it:
- Take a graduate level computer architecture course at your local university.
- Take more courses in digital logic and whatever else.
- Design a CPU from scratch in VHDL or Verilog.
- Design another CPU from scratch.
- Look at the ARM instruction set and design a compatible CPU.
- Make your ARM-Compatible CPU work in an FPGA.
- Don't distribute your VHDL/Verilog source code unless you want to be sued.
- Use your ARM experience to write a good dissertation for your PhD.
- Use your PhD to get a job at ARM, or TI, or whoever. Then repeat the process using the previous 7 steps on how a company does it.
Ok, so this list is a little tongue-in-cheek but it is basically correct. The point is, don't even bother dealing with ARM directly because odds are you don't have the money. And don't do anything that will get you sued by ARM either.
ARM has a University DesignStart Program. As a student, you can only access basic Cortex-M0 material. But if you are really interested, get your faculty involved and then you can have access to much more design material (Verilog FPGA code, Evaluation IP, Simulations, etc.)
Take a look at this ARM core on OpenCores.