This repository contains the design files and tools for Ibn-e-Sina, a custom processor architecture designed in Logisim. Alongside the hardware design, it includes a Python-based assembler that converts assembly code into machine code for this processor.
| File/Folder | Description |
|---|---|
Ibn E Sina Datapath LogiSim/ |
Logisim project files containing the processor datapath design |
assembly_code.txt |
Sample assembly code written for Ibn-e-Sina |
ibn-e-sina assembler.py |
Python assembler that converts assembly code to machine code |
output_hex_code.txt |
Hexadecimal machine code output generated by the assembler |
output_machine_code.txt |
Binary machine code output generated by the assembler |
README.md |
Project overview and instructions |
-
Processor Design:
A custom processor architecture designed using Logisim, inspired by traditional datapath and control unit principles. -
Assembler:
A Python script that translates assembly instructions written for Ibn-e-Sina into machine code and hex code, ready to be loaded into the processor.
-
Simulate the processor:
- Open the Logisim project file (
Ibn E Sina Datapath LogiSim/) in Logisim. - Load the generated machine code (
output_machine_code.txt) into the instruction memory to test your program.
- Open the Logisim project file (
-
Assemble assembly code:
- Write your assembly instructions in
assembly_code.txt. - Run the assembler script:
python3 ibn-e-sina\ assembler.py - This will generate machine code outputs (
output_machine_code.txtandoutput_hex_code.txt).
- Write your assembly instructions in
-
Load and run machine code in your Logisim processor simulation.
- Logisim for processor datapath and control design.
- Python 3 for writing the assembler.
This project is intended for academic and educational purposes. Feel free to explore, modify, and extend.