2012-12-06 32 views
0

我想知道“我有2的值,它是std_logic_vector,我想检查它的最后一位为偶数和奇数,我希望他们两个计算的确切位置像素值,这可以通过case语句来实现“。如何检查像素的std_logic_vector的偶数和奇数

X_cont : std_logic_vector(15 downto 0) 
Y_cont : std_logic_vector(15 downto 0) 

而我只想检查LSB。

+0

检查LSB非常简单:如果x_cont(0)= '1',那么 –

回答

1

使用情况下检查两个最低有效位是:

process(x_cont, y_cont) 
    type res_t is (both_low, one_low, none_low); 
    variable result: res_t; 
    variable lsbs: std_logic_vector(1 downto 0); 
    begin 
    lsbs:=x_cont(0) & y_cont(0); 
    case (lsbs) is 
    when "00" => 
     result:=both_low; 
    when "01" | "10" => 
     result:=one_low; 
    when others =>  
     result:=none_low; 
    end case; 

end process;