Вход

Просмотр полной версии : micro-CPU на vhdl, verilog



bigral
25.03.2015, 12:57
Eсть вот спорт - писать демы там на 256b, 4k и т.д. но не видел чтоб писали самодельные cpu ну или сразу компы (cpu+mem) с ограничением скажем в 200LE, кто-то может показать такой пример?
Очень бы помогло в понимании теории построения процессоров.

MVV
25.03.2015, 13:25
bigral, вас это (https://ru.wikipedia.org/wiki/Soft-микропроцессор) интересует?

doorsfan
25.03.2015, 13:47
на хабре куча статей о микропроцессорах, научных калькуляторах, созданных в minecraft

esl
25.03.2015, 15:26
ближайшее что приходит в голову
http://www.linusakesson.net/scene/bitbanger/index.php


Bit banger is built around an ATtiny15 microcontroller, which runs at 1.6 MHz and has 1 kB of flash ROM and a claustrophobic 32 bytes of RAM. In fact, those 32 bytes are the CPU registers. Only the most basic AVR instructions are supported; they occupy at least two bytes each, and can obviously not be compressed since they are executing from ROM, so a maximum of 512 instructions will fit inside the chip (fewer if static data is needed).

я понимаю что это не softcpu но это показывает на что можно рассчитывать

еще есть J1 forth cpu
http://www.excamera.com/sphinx/fpga-j1.html
и на его основе gameduino (http://excamera.com/sphinx/gameduino/)

J1 is a small (200 lines of Verilog) stack-based CPU, intended for FPGAs. A complete J1 with 16Kbytes of RAM fits easily on a small Xilinx FPGA. Some highlights:

Extremely high code density. A complete system including the TCP/IP stack fits in under 8K bytes.
Single cycle call, zero cycle return
Instruction set maps trivially to Forth
Cross compiler runs on Windows, Mac and Unix
Basic software includes a sizeable subset of ANS Forth and a portable TCP/IP networking stack.


This paper describes a 16-bit Forth CPU core,
intended for FPGAs. The instruction set closely matches the
Forth programming language, simplifying cross-compilation.
Because it has higher throughput than comparable CPU cores,
it can stream uncompressed video over Ethernet using a simple
software loop. The entire system (source Verilog, cross compiler,
and TCP/IP networking code) is published under the BSD
license. The core is less than 200 lines of Verilog, and operates
reliably at 80 MHz in a Xilinx Spartan R -3E FPGA, delivering
approximately 100 ANS Forth MIPS.

---------- Post added at 14:26 ---------- Previous post was at 13:16 ----------

и еще чуть по теме

Parallelogram is a demo running on the Commodore One extender board, which contains an Altera Cyclone III FPGA and an SDRAM chip. The logic design was made from scratch, including a homebrew CPU, FM synth and blitter with pixel shader support. The demo won the wild compo at Revision 2012.
http://www.linusakesson.net/scene/parallelogram/index.php

Ynicky
29.03.2015, 12:15
А вот пример моего soft процессора:

http://www.youtube.com
И собственно сам проект:
http://www.marsohod.org/index.php/forum/proekty-polzovatelej/1419-soc-dlya-platy-marsokhod2

Николай.

Ewgeny7
29.03.2015, 13:06
Простите, а суть этой темы - действительно "Для начинающих"?

Ynicky
29.03.2015, 13:21
Начинающие бывают и в процессоростроении.

Николай.

b2m
07.04.2015, 18:49
Я делал ВМ80 с нуля.

svofski
07.04.2015, 22:23
Я сделал убедительное подобие ВМ1.

Ynicky
09.04.2015, 20:49
На своем процессоре сделал игру Tetris.

http://www.youtube.com

Исходники брал оттуда:
http://p-a2.blogspot.ru/2012/04/tetris-c.html
Николай.

alex-eller
16.04.2015, 11:31
Неужели никому не интересно создать свой процессор О_О Я об этом с детства мечтал( А что то и поговорить не с кем(

b2m
16.04.2015, 13:06
Доделали?
Конечно. В моих проектах для DE1 используется (Башкирия-2М, Радио-86РК). Тесты подтверждают сходство с реальным.


В чём делали или на чём, VHDL, Verilog или условные логические элементы, конкретная серия МС?
Я писал на Verilog, он больше на Си похож. VHDL какой-то паскалеподобный, с детства не люблю Паскаль :)

Kakos_nonos
16.04.2015, 16:39
Я тоже хочу, но у меня немного другая цель - минимальный, но всё-таки процессор. Насколько можно его упростить, но всё же чтоб он работал, можно было хотя бы калькулятор реализовать. Уже есть некоторые наработки в уме.

AlexG
16.04.2015, 19:09
в журнале КиТ был ряд статей как написать свой процессор.
http://www.kit-e.ru/archive.php
точный адрес не помню. инета нет нормального.
или сразу к автору
http://iosifk.narod.ru/hdl_coding/verilog.htm

bigral
16.04.2015, 23:39
Учитывая такой разнобой в понимании что такое micro-CPU, давайте условимся что ЭТО - устройство сравнимое по интеграции с " A Minimal TTL Processor for Architecture Exploration " http://www.bradrodriguez.com/papers/piscedu2.htm или меньше, но никак не превышающее его в 2...3 и больше раз(а).

Возможно, сюда попадут ultimate risc (в коде которых нету кодов инструкции, так как они поддерживают только 1 инструкцию).

Кроме того, вполне сойдет и программа - симулятор такого процессора, пускай даже на ZX-basic, тут главное обрисовать КОНЦЕПЦИЮ и показать возможность реализации такого проца.