在 vhdl 中声明 case 语句的通用方式

问题描述 投票:0回答:0

如果有人知道我如何以更通用的方式在 vhdl 中声明以下 case 语句,那将是非常有用的。这里 currentRdLineBuffer 和 lineBuffRdData 有 4 个元素,将来如果我想使用更多元素,我想将它声明为通用的。 我正在尝试寻找其他方式以 genri 方式声明但尚未成功。

提前致谢

signal currentRdLineBuffer : std_logic_vector(1 downto 0);
signal lineBuffRdData  : std_logic_vector(3 downto 0);

process(currentRdLineBuffer,delay_rd_line_buffer)
    begin
        case currentRdLineBuffer is
            when "00" => 
                lineBuffRdData(0) <= delay_rd_line_buffer;
                lineBuffRdData(1) <= delay_rd_line_buffer;
                lineBuffRdData(2) <= delay_rd_line_buffer;
                lineBuffRdData(3) <= '0';
            when "01" => 
                lineBuffRdData(0) <= '0';
                lineBuffRdData(1) <= delay_rd_line_buffer;
                lineBuffRdData(2) <= delay_rd_line_buffer;
                lineBuffRdData(3) <= delay_rd_line_buffer;
            when "10" => 
                lineBuffRdData(0) <= delay_rd_line_buffer;
                lineBuffRdData(1) <= '0';
                lineBuffRdData(2) <= delay_rd_line_buffer;
                lineBuffRdData(3) <= delay_rd_line_buffer;
            when "11" => 
                lineBuffRdData(0) <= delay_rd_line_buffer;
                lineBuffRdData(1) <= delay_rd_line_buffer;
                lineBuffRdData(2) <= '0';
                lineBuffRdData(3) <= delay_rd_line_buffer;
            when others => null;
        end case;
    end process;

如何以更通用的方式在 vhdl 中声明以下 case 语句

generics switch-statement case vhdl xilinx
© www.soinside.com 2019 - 2024. All rights reserved.