VHDL-要创建一个简单的分隔线

时间:2019-03-04 01:49:41

标签: vhdl vivado

我正在使用Vivado 2018.2 我想做一个简单的除法器,假设输入为153,常数为53。所以对于153/53,我想看到2,其余为47。 到目前为止,我的代码有错误(顺序)。

entity divider_main is
    port(
            dividend: in std_logic_vector(7 downto 0);
            remainder: out std_logic_vector(5 downto 0);    
            quotient: out std_logic_vector(2 downto 0)
         ); 
end divider_main;

architecture Behavioral of divider_main is

signal dividend_signal: signed(7 downto 0);
signal remainder_signal: std_logic_vector(5 downto 0);
signal fifty_three: signed(7 downto 0);
signal count: unsigned(2 downto 0);

begin
    dividend_signal <= signed(dividend);
    fifty_three <= "00011101";
    count <= "000";
    process(dividend, dividend_signal) is 
        begin
        if dividend_signal < fifty_three then
            remainder(5 downto 0) <= std_logic_vector(dividend_signal(5 downto 0));
            quotient <= std_logic_vector(count);
            dividend_signal <= "00000000";
            count(2 downto 0) <= "000";
        else
            count <= count + 1;
            dividend_signal <= dividend_signal - fifty_three;
            quotient(2 downto 0) <= "000";
            remainder <= "000000";
        end if;
    end process;
end Behavioral;

我是vhdl的新手,所以让我知道我做错了!

0 个答案:

没有答案