Haz una pregunta
  Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

12/01/2007 #1


Contador negativo
Hola a tod@s, soy nuevo en este foro, os queria pedir ayuda para resolver una cuestion que lleva un par de dias dandome quebraderos de cabeza:

Estoy intentando realizar un contador que cuente numeros tanto positivos como negativos pero soy incapaz de sacar estos ultimos. El que estoy realizando es un contador de 5 bits, que se incrementa perfectamente pero que al decrementarse y llegar a cero salta al 31 en lugar de al -1 como queria.
Creo haberlo intentado todo, se que para representar los numeros negativos necesito ponerlo en C2 con la funcion signed pero ya lo he intentado y no dejan de salirme errores
Como señales de entrada tengo:

reset, clk, p: in std_logic ---donde p es una señal que si es 1 incrementa y si es 0 decrementa
out: out std_logic_vector (4 downto 0) --- salida del contador
Tambien he definido una variable auxiliar cuenta para realizar las operaciones

Agradezco vuestras respuestas
12/01/2007 #2


respesta
es muy sencillo en realidad lo que tienes que hacer es conectar la salida Q inversa complemento o como te allan ensenado a la ck de siguiente cojes los valores de Q inverso para la respuesta
15/01/2007 #3


no me he enterado muy bien como me dices si dejo el programa que tengo es posible que sea mas facil dar la respuesta gracias:

LIBRARY ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_signed.all;

ENTITY contador IS
PORT( reset, clk, p: in std_logic;
cout: out std_logic_vector (4 downto 0));
END contador;

ARCHITECTURE func OF contador IS
SIGNAL cuenta: std_logic_vector(4 downto 0);

BEGIN
PROCESS (reset, clk)
variable auxc:INTEGER;
BEGIN
if clk'event and clk='1'then
if p='1' then
auxc:=1;
else
auxc:=-1;
end if;
END IF;
if reset='1' then
cuenta<="00000";
elsif clk'EVENT and clk ='0' then
cuenta<=cuenta + auxc;
end if;
end process;
cout<=cuenta;
end func;
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Circuitos lógicos combinacionales y secuenciales

Compuertas, flips flops, registros, PLDs, codificadores, contadores, multiplexores, ...

Cerrar
Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.