Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

07/02/2013 #1


Un error con VHDL
Tengo este código de VHDL:

"library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.numeric_bit.ALL;
entity Contador is
Port (
segmento : out STD_LOGIC_VECTOR (6 downto 0);
punto : out STD_LOGIC;
posicion : out STD_LOGIC_VECTOR (3 downto 0);
clk : in STD_LOGIC);
end Contador;
architecture Behavioral of Contador is
signal entradaNumerica: unsigned (3 downto 0);
begin

process (clk)
begin

entradaNumerica<="0000";
punto<='1';
posicion<="1110";

if clk' event and clk='0' then
entradaNumerica<=entradaNumerica+1;
end if;
end process;
end Behavioral;
"

Pero me dá el sátanico problema en la linea en negrita:

"ERROR:Xst:827 - "C:/Users/Idir/Desktop/Universidad/Electronica/practica1/Contador.vhd" line 49: Signal entradaNumerica cannot be synthesized, bad synchronous description. The description style you are using to describe a synchronous element (register, memory, etc.) is not supported in the current software release.
"

Y que he estado leyendo por ahí manuales y demás y me decia que era por la colocación del flanco de reloj, que se debía de colocar al principio del IF, cosa que ya he hecho pero sigo sin entender el problema.


Muchas gracias.
07/02/2013 #2

Avatar de chclau

Una descripcion correcta, te lo pongo para una sola senial y vos amplialo a todas:

process(reset, clk)
begin
if (reset = '0') then
a <= "0000";
elsif (clk'event and clk = '1') then
a <= a + '1';
end if;
end process;

Tenes que pensar como funciona un flip flop, o un registro con el que construis un contador, con el reset se le define su valor inicial y luego cambia en cada flanco del clock
14/03/2017 #3


Un error con VHDL
La síntesis no me da ningún problema, pero al simular me arroja un error cuando pruebo con el Din.
Ingreso el número exacto de bits de entrada, pero me dice ser un valor no apropiado.
¿Cómo puedo corregirlo?
Gracias.
Código PHP:
entity Blo_aux is
    Port 
Din in  STD_LOGIC_VECTOR (31 downto 0);
           
DirA out  STD_LOGIC_VECTOR (4 downto 0);
           
DirB out  STD_LOGIC_VECTOR (4 downto 0);
           
DirC out  STD_LOGIC_VECTOR (4 downto 0);
           
Shamt out  STD_LOGIC_VECTOR (4 downto 0);
           
Din_ExtS out  STD_LOGIC_VECTOR (15 downto 0);
           
OPC out  STD_LOGIC_VECTOR (5 downto 0);
           
Func out  STD_LOGIC_VECTOR (5 downto 0)
           );
end Blo_aux;

architecture Behavioral of Blo_aux is
begin
    process
(Din)
    
begin
    DirA 
&lt;= Din(25 downto 21);
    
DirB &lt;= Din(20 downto 16);
    
DirC &lt;= Din(15 downto 11);
    
Shamt &lt;= Din(10 downto 6);
    
Din_ExtS &lt;= Din(15 downto 0);
    
OPC &lt;= Din(31 downto 26);
    
Func &lt;= Din(5 downto 0);
   
end process;
end Behavioral
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 Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

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