CR-CPU

所属分类:VHDL/FPGA/Verilog
开发工具:C++
文件大小:17957KB
下载次数:0
上传日期:2022-12-15 04:45:25
上 传 者sh-1993
说明:  一个简单的FPGA cpu、汇编程序和C编译器。
(A simple FPGA cpu, assembler, and C compiler.)

文件列表:
PixelClockCalc (0, 2022-12-12)
PixelClockCalc\PixelClockCalc.sln (1417, 2022-12-12)
PixelClockCalc\PixelClockCalc.vcxproj (7006, 2022-12-12)
PixelClockCalc\PixelClockCalc.vcxproj.filters (947, 2022-12-12)
PixelClockCalc\good_pixel_clocks.txt (16150, 2022-12-12)
PixelClockCalc\main.cpp (1919, 2022-12-12)
PixelClockCalc\pixel_clocks.txt (2563229, 2022-12-12)
cr-asm-ext (0, 2022-12-12)
cr-asm-ext\.vscode (0, 2022-12-12)
cr-asm-ext\.vscode\launch.json (540, 2022-12-12)
cr-asm-ext\LICENSE (1058, 2022-12-12)
cr-asm-ext\language-configuration.json (657, 2022-12-12)
cr-asm-ext\package.json (780, 2022-12-12)
cr-asm-ext\syntaxes (0, 2022-12-12)
cr-asm-ext\syntaxes\cr-asm.tmLanguage.json (1880, 2022-12-12)
cr-assembler-npp-language.xml (5763, 2022-12-12)
cr-cc (0, 2022-12-12)
cr-cc\CMakeLists.txt (449, 2022-12-12)
cr-cc\cr-cc-lib (0, 2022-12-12)
cr-cc\cr-cc-lib\AST.cpp (13012, 2022-12-12)
cr-cc\cr-cc-lib\AST.h (12788, 2022-12-12)
cr-cc\cr-cc-lib\AST_code_gen.cpp (34261, 2022-12-12)
cr-cc\cr-cc-lib\AST_declaration.cpp (4612, 2022-12-12)
cr-cc\cr-cc-lib\AST_declaration.h (620, 2022-12-12)
cr-cc\cr-cc-lib\AST_expressions.cpp (12646, 2022-12-12)
cr-cc\cr-cc-lib\AST_statements.cpp (8046, 2022-12-12)
cr-cc\cr-cc-lib\CMakeLists.txt (715, 2022-12-12)
cr-cc\cr-cc-lib\assembler.cpp (31929, 2022-12-12)
cr-cc\cr-cc-lib\assembler.h (239, 2022-12-12)
cr-cc\cr-cc-lib\c_to_asm.cpp (708, 2022-12-12)
... ...

# CR-CC CPU project This project aims to produce a soft (FPGA) CPU design and a C compiler for it. See the [detailed description](https://github.com/clayton-rogers/CR-CPU/blob/master/cr-cpu.md) for more details. ## Progress Currently functional are: - The 16 bit CPU implemented on a [TinyFPGA BX](https://github.com/clayton-rogers/CR-CPU/blob/master/https://tinyfpga.com/bx/guide.html) - 8192 bytes (4096 words) of built in RAM (using block RAM on the FPGA) - A 8-bit GPO connected to LEDs - A UART running at 115200, with 256 bytes TX and RX buffers - A VGA adaptor running at 800x600, 60Hz, monochrome, text mode - A 32-bit basic timer - An assembler (handles symbol resolution within translation unit, calculates relative offsets) - A C compiler (not all language features implement, see detailed description) - A linker (handles relocations, exported and imported references) - A partial standard library - A CPU emulator which can be run on the host device (includes most peripherals) Additional support components: - A python font generator to convert from PNG to FPGA hex file - A pixel clock calculator to calculate every possible PLL clock supported with the on board 16 MHz input clock Currently planned features: - A SPI peripheral to communicate with the on board QSPI flash - A fully working C compiler - A full C standard library ## Development Tips and Tricks A notepad++ language file is included in the root of the project to more easily view CR-CPU assembler. Recommended args when hex dumping object or bin files: `xxd -e -g 2 obj.o` This will set the endianness and specify 2 bytes per word. You can use PuTTY (plink) to connect to the device's serial. Ex. `plink COM6 < flash.srec`. This allows to you have access to the UART without having to copy/paste the SREC into a PuTTY terminal.

近期下载者

相关文件


收藏者