Extremely basic CortexM0 SoC based on ARM DesignStart Eval.
This simple project aims at creating from scratch a very basic synthesizable Cortex-M0 SoC based on CortexM0 ARM DesignStart Eval kit. It is mostly useful for educational purposes such as understanding inner working of the Cortex-M0 core, understanding how AHB and APB buses work, how to design and implement a bus matrix, etc...
The design can be simulated or implemented on a Digilent Basys3 board. Vivado project and constraint files are provided in the 'Basys3' directory. Freemind file contains possible project evolutions.
Pinout
| BBCM0 signal | Artyx Pin | Basys3 IO | 
|---|---|---|
| Clock | W5 | Onboard 100MHZ clk | 
| Reset | V17 | SW0 | 
| TXEV | W18 | LD4 | 
| Lockup | U15 | LD5 | 
| T-FF Out | U14 | LD6 | 
| Core CLK dbg | H1 | JA7 | 
| SWDCLK | A14 | JB1 | 
| SWDIO | A16 | JB2 | 
Tag 0.1: Simplest possible design based on Cortex-M0 core connected to an AHB Read Only Memory containing a blinky LED project. Blink signal is driven by TXEV which is generated when core executes 'SEV' instruction. To change the program edit the ROM contents in 'ahb_rom.v' file. Simulation should give something like this:
On Basys3 board Reset signal is mapped on SW0 switch, TXEV signal is mapped on LD4 led.
