文件名称:cpu:Verilog 中一个非常原始但希望自学的 CPU
文件大小:68KB
文件格式:ZIP
更新时间:2024-07-19 14:48:30
Verilog
CPU - Verilog 中的原始但希望自学的 CPU 项目的目的是自学一些 Verilog。 CPU 是一个相当大的挑战,但我知道它是计算机科学课程中经常出现的一个挑战——而不是我上过的那些! CPU 设计基于过去几十年我大脑中的各种幼稚概念,以及我在(纯理论的)计算机设计课程中学习的 Patterson 和 Hennessy 的 MIPS 架构的回忆。 我有意避免过多地了解 CPU 应该如何用 Verilog 编写,因为创造有缺陷但原创的东西比仅仅复制别人的完美设计更令人满意。 CPU架构 CPU 通常是 16 位的:即寄存器的宽度、每个指令字的大小(以及指令存储位置的大小)和数据存储位置的大小。 一个指令字是四个 4 位半字节,可以被视为寄存器名称或值(包括大值)。 三种教学形式分别是: OpCode Reg1 BigVal OpCode Reg1 Reg2 SmallV
【文件预览】:
cpu-master
----xilinx()
--------cpu()
----CHARSET.md(1KB)
----programs()
--------slowprimes.asm(1KB)
--------simple_mem.asm(507B)
--------fibonacci.asm(264B)
--------primes.asm(1KB)
----tools()
--------interp.py(6KB)
--------utils()
--------compile.py(1KB)
--------asm.py(8KB)
--------tests()
--------compiler()
----testbench()
--------instr_fetch_tb.v(870B)
--------data_memory_fpga_tb.v(1KB)
--------alu_tb.v(1KB)
--------bcd_tb.v(511B)
--------usb_driver_tb.v(2KB)
----README.md(8KB)
----Makefile(459B)
----rtl()
--------instr_decode.v(727B)
--------instr_memory.v(2KB)
--------usb_driver.v(3KB)
--------bcd.v(533B)
--------parameters.vh(1KB)
--------sim()
--------instr_pointer.v(593B)
--------fpga()
--------instr_fetch.v(796B)
--------cpu.v(3KB)
--------ssd_driver.v(3KB)
--------machine.v(2KB)
--------alu.v(863B)
--------reg_stack.v(1KB)
--------io_driver.v(2KB)
--------control.v(3KB)
--------ports.v(609B)
----.gitignore(109B)
----ROADMAP.md(769B)