Omar Amer's Projects
This repo has all the material we need for the CMPS201 Microprocessors course. I will add to it each lab.
Digital Design and FPGA Implementation of Differential Chaos Shift-Keying Modem
A microprocessors educational game. the player is trapped in an office, they have to defuse the bomb by answering some X86 Assembly and 8086 related questions.
Python-based IP-XACT parser
This program designs the matching network parameters for a given load and transmission line.
Mathematical tasks and problems solved with python.
A Python Trivia Game.
Project 2 ELCN446
SAR ADC Digital Control Logic -> 100 MSps and 1.1 GHz system frequency. For CND211
A UVM verification environment for the OpenCores implementation of the Intel 8051 ALU.
The processor in this project has a RISC-like instruction set architecture. There are eight 4-byte general purpose registers; R0, till R7. Another two general purpose registers, One works as a program counter (PC). And the other, works as a stack pointer (SP); and hence; points to the top of the stack. The initial value of SP is (2^32-2). The memory address space is 1 MB of 16-bit width and is word addressable. ( N.B. word = 2 bytes) When an interrupt occurs, the processor finishes the currently fetched instructions (instructions that have already entered the pipeline), then the address of the next instruction (in PC) is saved on top of the stack, and PC is loaded from address 1 of the memory. To return from an interrupt, an RTI instruction loads the PC from the top of stack, and the flow of the program resumes from the instruction after the interrupted instruction.
A 32-bit microprocessor with 42 instructions (including multiplication and division) and 8 X 32 registers and 2048 X 32 Ram with shared stack. An assembler is also available to write programs on the microprocessor using 8086-like assembly.
CMPN201 Microprocessors assembly multiplayer game using serial communication.