
mos su conexión y sólo deseamos
realizar una combinación lógica den-
tro de la macrocélula.
El biestable puede estar sincroni-
zado por medio de dos señales de
reloj globales o por un producto de
alguna combinación lógica dentro de
la placa. Hablando de manera gene-
ral, siempre se prefiere el diseño de
un circuito sincronizado (donde todas
las señales de reloj de los registros
están referenciadas con una señal de
reloj común) al de uno asíncrono, ya
que será más problemático (especial-
mente para circuitos complejos) si no
se genera un pulso de reloj de manera
síncrona, dentro de un circuito.
En principio es posible utilizar
tanto los flancos de subida como los
de bajada de la señal de reloj, de modo
que se muevan los datos de manera
simultánea, pero esto solamente debe
ser utilizado si no existe ninguna otra
solución, ya que se reduce la máxima
velocidad de reloj útil. Siempre será
mejor activar las señales de habilita-
ción junto con los flancos de reloj apro-
piados. Cada biestable tiene una
entrada de SET y otra de RESET (esta
última se activa de manera inmediata
y no se dispara por la señal de reloj).
Estas dos señales pueden proporcio-
narse desde salidas lógicas o desde
cualquier señal RESET que pueda
haberse obtenido de una señal de
borrado global (Global – clear – Signal)
y a su terminal de entrada.
Las CPLDs de la casa Altera tie-
nen 16 macrocélulas en cada LAB
(Logic Array Block, es decir, Bloque
de Array Lógico). Cada LAB dispone
de 36 señales de entrada conectadas
a una PIA (Programmable Intercon-
nect Array, es decir, Array de Inter-
conexión Programable). Esta confi-
guración puede suponer algunas
limitaciones en las operaciones lógi-
cas, así, por ejemplo, no es posible
comparar dos palabras de 20 bits
dentro de una LAB, ya que dicha
operación requiere 40 entradas. En la
práctica, el número de 36 señales es
suficiente para la gran mayoría de las
aplicaciones. Todas las salidas de
cada macrocélula se conectan juntas
con unos terminales de entrada espe-
ciales y todos los terminales de E/S
se conectan a la PIA.
Los diferentes números de desig-
nación en las series de circuitos inte-
grados 7000S, indican la cantidad de
lógica disponible en el circuito inte-
MICROCONTROLADOR
8
Elektor
Tabla 1
/*
% ======================================================================== %
% | | %
% | Función : PAL para Contador de Revoluciones AR | %
% | | %
% |======================================================================| %
% | Tipo de Circuito Integrado : 7128S PLCC84 | %
% | Fabricante : Altera | %
% | Proyecto: Contador de Revoluciones con diodos LEDs programables libremente | %
% | Placa Circuito Impreso : Prototipo | %
% | Referencia: Contador de Revoluciones | %
% | Lenguaje : Verilog, Quartus 3.0 | %
% | Autor : AR | %
% | Compañía : Yo mismo | %
% | | %
% |======================================================================| %
% | Versión Fecha Modificaciones/Razones | %
% |----------------------------------------------------------------------| %
% | V 1.0 13.10.02 Versión Inicial | %
% |----------------------------------------------------------------------| %
% | V 2.0 08.11.02 Reloj a 455 kHz, Resonador cerámico | %
% |----------------------------------------------------------------------| %
% | V 2.1. 10.11.02 Sólo modo de barra, sin LEDs individuales | %
% |----------------------------------------------------------------------| %
% | V 3.0 28.11.02 Cristal de 7128, 4.915 MHz, cientos de lecturas | %
% |----------------------------------------------------------------------| %
% | V 3.1 28.12.02 Reset Externo | %
% |----------------------------------------------------------------------| %
% | V 4.0 16.04.03 DZ_IN_B para trigger Schmitt | %
% |----------------------------------------------------------------------| %
% | V 4.1 25.05.03 Brillo reducido con luces encendidas | %
% |----------------------------------------------------------------------| %
% | V 5.0 09.10.03 Convertido a Verilog | %
% ======================================================================== %
*/
module drehzahl
(
CLK,
RESET,
ZYL,
MODE,
LICHT,
MRES,
C4_IN,
C4_OUT,
DZ_IN,
DZ_IN_B,
LED_R_OA,
LED_R_OB
);
input CLK;
input [2:0] ZYL;
input [2:0] MODE;
input LICHT;
input C4_IN;
input RESET;
input DZ_IN;
output MRES;
reg MRES;
reg Next_MRES;
output C4_OUT;
reg C4_OUT;
output DZ_IN_B;
reg DZ_IN_B;
reg [8:0] M;
Comentarios a estos manuales