Professional Documents
Culture Documents
Para abordar temas de diseo jerrquico, descripcin a nivel RTL y diseo de procesadores aritmticos en general, el estudiante debe tener conocimientos de los siguientes temas:
1. Anlisis y sntesis de sistemas combinacionales; lgica cableada, Lgica modular y descripcin en VHDL de sistemas combinacionales.
2. Anlisis y sntesis de sistemas secuenciales; Mquinas de estado de Mealy y Moore, Diseo de alto nivel y descripcin en VHDL de sistemas secuenciales. 3. Conocimiento bsico de arquitectura de computadores; Funcionamiento de una ALU, sistemas que realizan operaciones, Registros, Contadores, Memorias RAM y ROM, descripcin en VHDL de sistemas complejos. 4. Manejo adecuado de las herramientas EDA. Para el caso especfico, conocimiento, destreza y manejo del software ISE FOUNDATION de XILINX.
OPERACIONES DE TRANSFERENCIA
Identificacin de Registros en operaciones de transferencia:
OPERACIN
DESCRIPCIN
R2 R1 : El contenido de R1 se transfiere a R2
OPERACIONES DE TRANSFERENCIA
Operacin condicional:
if ( K1 1) then ( R2 R1)
Notacin de transferencia entre registros:
K1: R2 R1
OPERACIONES DE TRANSFERENCIA
DESCRIPCIN Denota un Registro Denota parte de un Registro Denota Transferencia de Datos Separa operaciones simultaneas
EJEMPLO AR, R2, DR, IR R2(1), R2(7:0), AR(L) R2 <-- R1 R1 <-- R2, R2 <-- R1
Parntesis cuadrados
DR <-- M[AR]
OPERACIONES DE TRANSFERENCIA
OPERACIONES DE TRANSFERENCIA
X K1 : R1 R1 R 2
___
X K1 : R1 R1 R2 1
___
OPERACIONES DE TRANSFERENCIA
Micro-operaciones Lgicas:
DESIGNACIN SIMBLICA R0 <-- /R1 R0 <-- R1 L R2 R0 <-- R1 V R2 R0 <-- R1 R2 DESCRIPCIN Operacin Lgica NOT bit a bit (Complemento a uno) Operacin Lgica AND bit a bit (Clarear bits) Operacin Lgica OR bit a bit (Poner bits) Operacin Lgica XOR bit a bit (Complementa bits)
K1 : R0 R2, K1 K 2 : R0 R1
___
SELECT S0 1 0 S1 0 1 L2 0 1 IMPOSIBLE
CARGA L1 0 0 L0 1 1
TIPOS DE BUSES
BUS Multiplexado BUS Tri estado con Registros bidireccionales
TIPOS DE BUSES
UNIDAD DE DATOS
Conjunto e Registros
(RTL)
UNIDAD LGICA
UNIDAD ARITMTICA
Todo 1's
G = A - 1 (Decrementa)
G = A (Transferencia)
INPUTS S1 0 0 S0 0 0 Bi 0 1 Yi 0
OUTPUT
Yi = 0 0
0
0 1 1
1
1 0 0
0
1 0 1
0
Yi = Bi 1 1 Yi = /Bi 0
1
1
1
1
0
1
1
Yi = 1 1
Yi Bi S 0 / Bi S1
Mapa de Karnaugh
Tabla de Verdad
Se basa en un diseo totalmente combinacional, los bloques FA, se refieren a sumadores completos de un bit
UNIDAD LGICA
TABLA FUNCIONAL
S1 0 S0 0 OUTPUT G=ALB OPERACIN AND
CIRCUITO LGICO
0
1 1
1
0 1
G=AVB
G=AB G = /A
OR
XOR NOT
El Multiplexor selecciona la funcin lgica deseada. Pueden existir ms de cuatro funciones lgicas, lo que requiere un MUX de mayor capacidad.
SELECCIN DE OPERACIN OPERACIN S2 0 0 0 0 0 0 0 0 1 1 1 1 S1 0 0 0 0 1 1 1 1 0 0 1 1 S0 0 0 1 1 0 0 1 1 0 1 0 1 Cin 0 1 0 1 0 1 0 1 X X X X G=A G=A+1 G=A+B G=A+B+1 G = A + /B G = A + /B + 1 G=A-1 G=A G=ALB G=AVB G=AB G = /A Transfer A Increment A Addition Add with Carry input of 1 A ms complemento a uno de B Substraction Decrement A Transfer A AND OR XOR NOT (Complemento a uno) FUNCIN
DESPLAZADORES (SHIFTERS)
DESPLAZADOR ROTATORIO
Tabla Funcional
SELECCIN S1 0 0 1
1
OUTPUT S0 0 1 0
1
OPERACIN Y1 D1 D0 D3
D2
Y3 D3 D2 D1
D0
Y2 D2 D1 D0
D3
Y0 D0 D3 D2
D1
Circuito Lgico
La unidad de datos presentada en la figura, tiene una arquitectura tipo Hardvard (Bus de datos y direcciones separados). El arreglo de registros permite cargar, almacenar y operar fcilmente los datos que se desean procesar.
00110
00111 01000 01010 01100 01110 10000 10100 11000
0
0 0 0 0 0 1 1 1
0110
0111 1000 1010 1100 1110 0000 0100 1000
01
01 00 10 10 10 00 01 10
F=A1
F=A F=ALB F=AVB F=AB F = A F=B F = sr B F = sl B
EJEMPLOS
1. BIT COUNTER
Sistema que permite contar el nmero de 1s presentes en el Registro A, guardando el resultado en el Registro B
Se utiliza un lenguaje estndar de programacin para describir el algoritmo que se va a utilizar. Luego se describe como diseo ASM
Carta ASM para el diseo del DATAPATH del contador de bits 1, describe las micro-operaciones presentes en el diseo.
Carta ASM para el diseo de la lgica de control del contador de bits 1. Obsrvese que las seales utilizadas son las seales de STATUS. Z = 1 when A[n] = 0 a0 s LB LA EB EA
Bit menos significativo de A Seal de inicio START Load B, Borra el contador B Load A, Carga el registro A Incrementa el contador B Desplaza A hacia la derecha
-- Descripcin en Cdigo VHDL del contador de 1s -- Declaracin de Libreras, clusula USE LIBRARY ieee ; USE ieee.std_logic_1164.all ; LIBRARY work ; USE work.components.shiftrne ; -- Declaracin de la entidad
FSM_outputs: PROCESS ( y, A(0) ) BEGIN EA <= '0' ; LB <= '0' ; EB <= '0' ; Done <= '0' ; CASE y IS WHEN S1 => LB <= '1' WHEN S2 => EA <= '1' ; IF A(0) = '1' THEN EB <= '1' ; ELSE EB <= '0' ; END IF ; WHEN S3 => Done <= '1' ; END CASE ; END PROCESS ;
low <= '0' ; ShiftA: shiftrne GENERIC MAP ( N => 8 ) PORT MAP ( Data, LA, EA, low, Clock, A ) ; z <= '1' WHEN A = "00000000" ELSE '0' ; END Behavior ;
P = 0; For i = 0 to n 1 do
if bi = 1 then
P = P + A; end if;
Producto
a. Mtodo manual
b. Pseudo - Code
Carta ASM para el diseo del DATAPATH del multiplicador binario, describe las microoperaciones presentes en el diseo.
RA
RB MUX P NOR B0
Shift-Left Register
Shift-Right Register Multiplexor 2:1 de 2n bits Registro genrico de 2n bits Compuerta NOR de n entradas LSB del registro B
Carta ASM para el diseo de la lgica de control del Multiplicador Binario. Obsrvese que las seales utilizadas son las seales de STATUS. Z = 1 when B[n] = 0 b0 s RB RA Psel EP
Bit menos significativo de B Seal de inicio START Shift-Right B Shift-Left A Control del MUX Suma a P el contenido de A
FSM_outputs: PROCESS ( y, s, B(0) ) BEGIN EP <= '0' ; EA <= '0' ; EB <= '0' ; Done <= '0' ; Psel <= '0'; CASE y IS WHEN S1 => EP <= '1 ; WHEN S2 => EA <= '1' ; EB <= '1' ; Psel <= '1 ; IF B(0) = '1' THEN EP <= '1' ; ELSE EP <= '0' ; END IF ; WHEN S3 => Done <= '1 ; END CASE ; END PROCESS ;