Linguagem descritiva de hardware
Moderadores: 51, guest2003
por tcpipchip » 01 Fev 2012 20:54
Implementamos a funcao INC, adicionando novas micro instruções na M++ em cima do DIGITAL WORKS
Veja funcionamento!
http://www.inf.furb.br/~maw/inc/cont.htm
Tambem rescrevemos o analisador lexico e sintatico do montador...(feito em DELPHI)
Mais detalhes em
http://www.inf.furb.br/~maw/mmaismais/
Tem fonte do Delphi lá...otimo exemplo se voce quer contruir seu proprio montador!
TCPIPCHIP
-

tcpipchip
- Dword
-
- Mensagens: 6560
- Registrado em: 11 Out 2006 22:32
- Localização: TCPIPCHIPizinho!
por chrdcv » 07 Fev 2012 17:45
Putz, muito legal!
Quando fiz Arquitetura I, implementamos o SAP (o qual eu apelidei carinhosamente de SAPECA) do livro do Malvino usando o Logisim. Implementamos a versão CISC (com microcódigo das instruções em uma ROM) e um variante RISC, além de extendermos algumas instruções. Foi um dos trabalhos que mais gostei de fazer!
Vou dar uma revirada nas tralhas lá de casa, caso ache, postarei a implementação a título de curiosidades!
chrdcv
-

chrdcv
- Dword
-
- Mensagens: 1580
- Registrado em: 13 Out 2006 14:13
por tcpipchip » 19 Mar 2012 16:40
Legal...
Este nos fizemos em ARQUITETURA DE COMPUTADORES
O que deu mais trabalho foi imprementar a memoria de controle, ou seja, as microinstruções.
Semestre passado eu lancei o desafio de implementar interrupts...mas...nao teve interessados

-

tcpipchip
- Dword
-
- Mensagens: 6560
- Registrado em: 11 Out 2006 22:32
- Localização: TCPIPCHIPizinho!
por tcpipchip » 21 Mar 2012 21:47
Aqui um programa que fizemos para rodar na M++....computador de bordo
- Código: Selecionar todos
LOOP:
//LE MARCHA C
MOV IN2,A;
//INVERTE C
NOT A,A;
//SALVA /C
MOV A,B;
//LE EMBREAGEM
MOV IN3,A;
//FAZ /C+D
OR B,A;
//SALVA A EM B
MOV A,B;
//LE CINTO
MOV IN1, A;
//FAZ B.(/C+D)
AND B,A;
//SALVE B.(/C+D)
MOV A,B;
//LER PORTA
MOV IN0,A;
//FAZ A.B.(/C+D)
AND B,A;
MOV A,OUT3;
//IMPRIME ALERTA SE NECESSARIO
MOV IN0,A;
//COMPARA SE PORTA VALE ZERO (ABERTA)
SUB 00,A;
//PULA SE BANDEIRA LEVANTADA OU SUBTRACAO RETORNO ZERO
JMPZ PORTABERTA;
//CASO CONTRARIO, JOGUE ZERO EM OUT1
MOV 00,A;
MOV A,OUT1;
JMP LOOP;
PORTABERTA:
MOV CE,A;
MOV A,OUT1;
JMP LOOP;
-

tcpipchip
- Dword
-
- Mensagens: 6560
- Registrado em: 11 Out 2006 22:32
- Localização: TCPIPCHIPizinho!
Voltar para Verilog, VHDL, SystemC ( PLAs, CPLDs, FPGAs, etc... )
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante