Building a Computer with Nexys4 DDR [0]: Overview

Share

0 Introduction

This project came from a very simple idea: build a complete computer.

A complete computer contains four parts: hardware, operating system, compiler, and applications.

This is a long-term project with many unfinished parts, and it is updated irregularly.

0.1 What “Complete Computer” Means

It should have basic hardware, such as TLB, SPI Flash, and DDR2 RAM.

It should have basic input and output, such as a keyboard and monitor.

It should have a basic operating system, with features such as process switching and a file system.

It should be able to run basic C programs.

Index

  1. Overview
  2. Hardware
  3. Operating System
  4. Applications

Below is the concrete design of each part of the complete computer.

1 Hardware

1132884-20180713171537631-1809727816-1

Use the Nexys4 DDR FPGA development board: CPU + memory + hard disk + bus, based on OpenMIPS.

Keyboard and VGA monitor are used as system input and output.

1.1 Introduction to Nexys4 DDR

nexys-4-ddr-0

This is a fairly common FPGA development board among students. It has rich peripherals, including a 128MB DDR2 memory chip.

Official documentation: Nexys 4 DDR, Digilent Documentation

This project plans to use this board to build a computer that can run C programs.

2 Operating System

BatchOS-1

Use a Unix-like operating system.

It manages the hardware and runs applications.

3 Compiler

compileProcess-1

The plan is to use a simplified C compiler, based on an improved version of the earlier CMin project.

4 Applications

3d

Run a 3D rendering program similar to yufeiran/3D_Engine.

5 References

Nexys 4 DDR - Getting Started with Microblaze

Nexys 4 DDR Music Looper

The Elements of Computing Systems

CPU Design: Build Your Own CPU

Write Your Own CPU

Run your own RISC-V on FPGA Nexys4-DDR platform, Bilibili mirror

Read more

可多路视频播放的VisionOS 媒体查看器开发

可多路视频播放的VisionOS 媒体查看器开发

开发一款能够同时播放多个视频的vision pro媒体查看器。 0:00 /0:40 1× 缘起 Vision Pro 发布时我就特别想买,毕业工作后终于有资金购入并加入Apple开发者计划,从今年五月到现在也用了快小半年,用起来确实挺爽。 但是有些痛点还是很难受,其中一个痛点就是无法同时播放多个视频音频(实际上VisionOS提供了同时播放音频的API,但是似乎我用的APP都是不遵守🤣 导致都在抢占),因此为了满足我自己的这个痛点,也学习一下Vision OS 的应用开发,甚至完成度足够的话考虑上架App Store,便有了这个目标是多视频同时播放的媒体查看器项目。 现有工作 我购买了4XVR、Infuse、Moon Player、ES 文件助手(这款只有iPad OS版,不是专供Vision OS的),这几个月体验下来,全都存在我提到的和其他APP抢占音频通道,无法同时播放的问题,其他的我的主观的体验如下: 4XVR:使用最多,用起来最舒服,格式支持很全,VR视频也能看,号称全v

By Feiran Yu