VHDL binaire de 4 bits diviseur

Je suis en train de faire un diviseur binaire de faire partie d'une calculatrice à l'aide de VHDL, j'ai écrit le code qui je pense devrait fonctionner, mais ont été bloqués pendant des heures, quelqu'un peut s'il vous plaît aider moi.

    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
    use IEEE.STD_LOGIC_ARITH.ALL;
    use IEEE.STD_LOGIC_UNSIGNED.ALL;


    entity Div is
    Port ( Ain   : in  STD_LOGIC_VECTOR (3 downto 0);
       Bin   : in  STD_LOGIC_VECTOR (3 downto 0);
       Q   : out  STD_LOGIC_VECTOR (3 downto 0);
       R   : out  STD_LOGIC_VECTOR (3 downto 0));
    end Div;

architecture Behavioral of Div is
Signal Atemp : Std_Logic_Vector (3 downto 0);
begin


Proc1: Process (Ain,Bin, Atemp)
variable cnt : STD_LOGIC_Vector(3 downto 0);
begin


if (Ain < Bin) then
        cnt := "0000";
        Atemp <= Ain;
elsif (Ain = Bin) then
        cnt := "0001";
elsif (Ain > Bin) then
        cnt := "0001";
        Atemp <= (Ain - Bin);
        while (Atemp >= Bin) loop
            if(Atemp >=Bin) then
                Atemp <= (Atemp - Bin);
                cnt := cnt + "0001";
            end if;
        end loop;
end if;
Q <= cnt;
R <= Atemp;
end process Proc1;
end Behavioral;
  • De quoi êtes-vous coincé sur? Avez-vous des erreurs de compilation? Êtes-vous à la simulation de votre conception? Nous avons besoin de plus de détails sur ce que votre problème spécifique.
  • je reçois des avertissements AVERTISSEMENT:Xst:1710 - FF/Loquet <0> (sans initialisation de la valeur) a une valeur constante de 0 dans le bloc <2>(<3><div>). Ce FF/Loquet sera revue à la baisse au cours du processus d'optimisation. et ATTENTION:Xst:737 - 4-bits loquet pour signal <cnt> (et Atemp). Loquets peuvent être générés à partir incomplète cas ou si des instructions. Nous ne recommandons pas l'utilisation de verrous dans le FPGA/CPLD dessins, car ils peuvent conduire à des problèmes de calendrier.
InformationsquelleAutor user3034001 | 2013-11-25