depends on your definition of easy. an SOC is a very complex device. a core is a simple device . flick an 8051 in there.
easy means
- no cache
- no MMU
- no DMA
- no strange features that increase the complexity of the whole
whaddayamean i don't have tools ? synopsys , modelsim , quartus, ISE all are language agnostic. it doesn't matter if using VHDL or Verilog.
because
- i have "VHDL studio" (it is a tool, simulator), it accepts only VHDL
- my Tina license for HDL accepts only VHDL (i have not enough money to buy the Verilog license)
- i both VHDL design book, i do not have any Verilog Book
- i know VHDL, i am learning Verilog
that's not a Soc (not according to my definition
SoC stands for System On Chip, a minimal System is composed by
- CPU
- RAM/ROM (where it boots and executes application (.text), and where it load/store data (.data))
- something to interact with it, usually a serial port (uart plus RS232 of FTI-uart-to-usb)
that is minimal SoC, than you can add
- DMA
- FPU
- MMU
- LAN
- SATA
- USB
- LCD (like HD44780
- LCD LVDS (like the laptop one)
- GPIO
- a crapload of other stuff on board
8051 works fine. plenty of c compilers for it
8051
- It is not RISC, it is CISC
- it may be pipelined
- it may be fast (like Dallas 80C400, or more faster)
- it is not a Von Neumann machine, data and code are leaving on separated spaces (except than if you mix PSEN with rd/wr, i don't know if it is still possible when the flash is inside the Chip)
- It is supported by SDCC, gcc and llvm are not able to compile for it.
- Also it is 8bit, i'd like pure 32bit machine.
why do you want half arsed processors with only 5 instructions where you have to do all the work. the more instructions the better
a MIPS32 core may be fantastic: a lot of instructions and possibilities (i think)
This smells like homework. "Must be risc, Must be VHDL , Must be C, MUST be pipelined" , because these are the requirements of the course... not because the application demands these features.
because i want it that way, it's for hobby learning purpose, i know MIPS very well (i know ARM for the most, i worked with nxp LPC2888 realizing an arm prototype board), but the greatest part of what i have read, studied and understood has the contents of a lot of MIPS skills (the book "See the MIPS run", for example, or the experience with the "MIPS INC Atlas board") and now for my hobby i have limited amount of time.
I mean i could learn 8051 and toy with it on fpga (if i found a good 8051-SoC in VHDL), but i do not know 8051 in details, i have toyed with Dallas Tini-Java (which is 80C390, '51 core), but it was 2001 and i have no tools and skills for it.