Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rezamardanidev/morrismano_basiccomputer_vhdl

A VHDL implementation of the Morris Mano Basic Computer, including all key components such as registers, memory, ALU, control unit, and a common bus, designed for educational purposes. Fully modular and ready for simulation.
https://github.com/rezamardanidev/morrismano_basiccomputer_vhdl

basic-computer computer mano morris morris-mano vhdl

Last synced: 18 days ago
JSON representation

A VHDL implementation of the Morris Mano Basic Computer, including all key components such as registers, memory, ALU, control unit, and a common bus, designed for educational purposes. Fully modular and ready for simulation.

Awesome Lists containing this project

README

        

## پروژه پیاده‌سازی کامپیوتر پایه موریس مانو با VHDL 💻

## معرفی پروژه
این پروژه به منظور پیاده‌سازی کامپیوتر پایه معرفی شده در کتاب "کامپیوتر پایه موریس مانو" با استفاده از زبان توصیف سخت‌افزار VHDL طراحی شده است. تمامی بخش‌های کامپیوتر پایه شامل ثبات‌ها، حافظه، گذرگاه مشترک، واحد محاسبات و منطق (ALU) و واحد کنترل به صورت جداگانه طراحی و پیاده‌سازی شده‌اند. 🚀

---

## محتویات پروژه

### فایل‌ها

1. **`register.vhd`**
پیاده‌سازی ثبات 8 بیتی با قابلیت بارگذاری داده و ریست.

2. **`memory_unit.vhd`**
حافظه RAM با قابلیت خواندن و نوشتن داده.

3. **`common_bus.vhd`**
گذرگاه مشترک برای انتقال داده بین ثبات‌ها و واحد حافظه.

4. **`alu.vhd`**
واحد محاسبات و منطق با قابلیت اجرای عملیات جمع، تفریق، AND، OR و NOT.

5. **`control_unit.vhd`**
واحد کنترل برای تولید سیگنال‌های کنترلی بر اساس دستور فعلی و حالت سیستم.

6. **`cpu_top.vhd`**
ماژول اصلی که تمامی اجزای بالا را به یکدیگر متصل می‌کند.

---

## پیش‌نیازها

برای شبیه‌سازی و اجرای این پروژه نیاز به ابزارهای زیر دارید:

- **نرم‌افزار ModelSim یا Vivado**
- آشنایی اولیه با زبان VHDL
- آشنایی با مفاهیم کامپیوتر پایه (ثبات‌ها، گذرگاه‌ها، واحد کنترل و ...)

---

## مراحل اجرا

**ایمپورت فایل‌ها** :
تمامی فایل‌های VHDL را در یک پروژه جدید وارد کنید.

**کامپایل پروژه** :
ابتدا فایل‌های جداگانه (مثل `register.vhd` و `memory_unit.vhd`) را کامپایل کنید.
در نهایت فایل `cpu_top.vhd` را کامپایل کنید.

**بررسی خروجی‌ها** :
اطمینان حاصل کنید که تمامی ثبات‌ها، حافظه و ALU به درستی کار می‌کنند و سیگنال‌های کنترلی صحیح تولید می‌شوند. ✅

---

## مثال دستورات

### نمونه‌ای از دستورها
- **جمع:** دستور با کد عملیاتی `0001`.
- **تفریق:** دستور با کد عملیاتی `0010`.
- **AND:** دستور با کد عملیاتی `0100`.