Desenvolvendo um computador operacional do ZERO!
Material disponível na wiki
$ git clone https://github.com/Insper/Z01.1
$ cd Z01.1
$ git submodule update --init --recursive
$ git submodule foreach 'git stash; git checkout master; git pull'
This project forked from guidiamond/z01.1-insonia
Repositório da disciplina de Elementos de Sistemas
License: Other
Desenvolvendo um computador operacional do ZERO!
Material disponível na wiki
$ git clone https://github.com/Insper/Z01.1
$ cd Z01.1
$ git submodule update --init --recursive
$ git submodule foreach 'git stash; git checkout master; git pull'
Arquivo : And16.vhd
Descrição : And bit a bit entre duas palavras de 16 bits.
Descrição : É um registrador de 64 bits criado a partir do Register32 porém agora para armazenar um vetor de entrada de 64 bits de tamanho.
Dependência : Register32
Arquivo : add.nasm
Objetivo: Adiciona dois bits que resulta em um bit de soma e outro de carry out.
Dependencia: Não tem.
Arquivo : sub.nasm
Arquivo : Mux16.vhd
Descrição : Multiplexa duas entradas de 16 bits para uma de 16 bits.
Arquivo : isEven.nasm
Objetivo: Adiciona três bits, dois referentes às entradas e o outro referente ao carry in. O resultado é um bit com a soma e outro com o carry out.
Dependência: Não tem.
Descrição : A entidade que faz o mapeamento de todas as demais, interligando os blocos (zerador, comparador, inversor, Add ....) em um único bloco.
Dependência: Comparador16, Zerador16, Inversor16, Add16
Arquivo : DMux2Way.vhd
Descrição : Demultiplexa uma entrada binária em duas saídas.
Descrição : Zera um vetor de entrada quando o bit de controle z (zx ou zy) for igual a '1'. Não modifica o vetor de entrada se o bit for '0'. O resultado é um novo vetor de 16 bits.
Dependência: Não tem.
Descrição : Verifica se o vetor de saída (16 bits) é igual a zero (zr) e se menor que Zero (ng). Caso igual a zero, faz com que o sinal zr seja igual a '1' e caso contrário '0'. Se o sinal de entrada for negativo faz com que ng receba '1' e '0' caso contrário.
Dependência: Não tem.
Arquivo : grupo.nasm
Descrição : Similar a RAM8 porém com 64 endereços.
Dependência : Ram8, Mux8Way16, Dmux8Way
Descrição : É uma memória de 8 endereços com 16 bits de largura. O componente possui como entrada o vetor input de 16 bits, o endereço a ser armazenado (address) o sinal load que indica quando é para ser armazenado e o clock. Como saída temos o valor lido no endereço especificado quando load for igual a 0. Note que sinal LOAD tem como função similar o do READ/WRITE, quando zero, indica que queremos ler o valor armazenado, quando 1 indica que queremos escrever (write) nessa posição.
Dependência : Register16, Mux8Way16, Dmux8Way
Arquivo : Mux4Way16.vhd
Descrição : Multiplexa 4 entradas de 16 bits cada em uma saída de 16 bits.
Descrição : É um registrador feito para armazenar um único bit de informação (0 ou 1). A interface do módulo consiste em uma entrada (d) para o bit a ser armazenado, um sinal de load para indicar quando o bit de entrada deve ser armazenado um sinal de clock e a saída output* que é o bit armazenado;
Dependência: FlipFlopD e Mux2Way
Arquivo : abs.nasm
Arquivo : Mux2Way.vhd
Descrição : Multiplexa 2 entradas binárias em uma saída binária
Arquivo : pow.nasm
Arquivo : fatorial.nasm
Arquivo : Mux8Way16.vhd
Descrição : Multiplexa 8 entradas de 16 bits cada em uma saída de 16 bits.
Arquivo : mod.nasm
Arquivo : Mux16Way.vhd
Descrição : Multiplexa 16 entradas binárias em uma saída binária
Arquivo: `/src/toplevel.vhd'
Descrição: Deve ler as chaves SW e exibir seu valor no display de 7s.
Descrição : Similar a RAM8 porém com 4512 endereços.
Dependência : Ram512, Mux8Way16, Dmux8Way
Descrição : O program counter será o nosso endereçador de memória da CPU, ele será responsável por apontar para a próxima instrução a ser executada. Como normalmente um código segue um fluxo sequencial (uma linha na sequência da outra) o PC possui a habilidade de se auto incrementar a cada clock (apontando assim para a próxima instrução), mas ele tem que suportar condições (if, while, ...) rompendo com esse fluxo contínuo.
Dependência : inc16
Arquivo : line.nasm
Arquivo : DMux8Way.v8d
Descrição : Demultiplexa uma entrada binária em oito saídas.
Arquivo : stringLength.nasm
Arquivo : DMux4Way.vhd
Descrição : Demultiplexa uma entrada binária em quatro saídas.
Descrição : Inverte um vetor de entrada quando o bit de controle n (nx ou ny) for igual a '1', e não modifica o vetor de entrada caso contrário. O resultado é um novo vetor de 16 bits.
Dependência: Não tem.
Descrição : É um registrador de 16 bits criado a partir do Register8 porém agora para armazenar um vetor de entrada de 16 bits de tamanho;
Dependência : Register8
Arquivo : LCDnomeGrupo.nasm
Arquivo : DMux4Way.vhd
Descrição : Demultiplexa uma entrada binária em quatro saídas.
Arquivo : Or8Way.vhd
Descrição : OR entre 8 bits, resulta em uma única saída
Arquivo : mov.nasm
Descrição : Copia RAM[1] para RAM[3]; Copia RAM[0] para RAM[1]; Salva 0 em RAM[4].
Arquivo : Nor8Way.vhd
Descrição : NOR entre 8 bits, resulta em uma única saída
Arquivo : Mux4Way.vhd
Descrição : Multiplexa 4 entradas binárias em uma saída binária
Arquivo : Or16.vhd
Descrição : OR bit a bit entre duas palavras de 16 bits.
Descrição : É um registrador de 32 bits criado a partir do Register16 porém agora para armazenar um vetor de entrada de 32 bits de tamanho.
Dependência : Register16
Arquivo : palindromo.nasm
Descrição : Adiciona dois vetores de 16 bits resultando em um vetor de 16 bits (sem carry out do bit mais significativo - MSB).
Dependência: Não tem.
Descrição : Adiciona '1' a um vetor de 16 bits resultando em um vetor de 16 bits (sem carry out do MSB).
Dependência: Add16
Descrição : É um registrador de 8 bits criado a partir do binaryDigit porém agora para armazenar um vetor de entrada de 8 bits de tamanho;
Dependência : BinaryDigit
Arquivo : Not16.vhd
Descrição : NOT bit a bit entre duas palavras de 16 bits.
Descrição : Similar a RAM8 porém com 512 endereços.
Dependência : Ram64, Mux8Way16, Dmux8Way
Arquivo : Mux8Way.vhd
Descrição : Multiplexa 8 entradas binárias em uma saída binária
Arquivo : quadrado.nasm
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.