先用std_logic_unsigned程序包或者std_logic_signed程序包中的conv_integer函数,将std_logic_vector(3 downto 0)转换成integer类型,然后将integer类型的对象(变量或者信号)分别做MOD 10和REM 10运算(取模和取余),得到的结果就是十位和个位了。如果还需要转换成std_logic_vector类型的话,再调用std_logic_arith程序包中的conv_std_logic_vector函数,分别将十位和个位转换成std_logic_vector类型。
当然,也可以自己描述一个转换模块,直接将std_logic_vector(3 downto 0)分成十位和个位的std_logic_vector(3 downto 0)类型,分别输出,会简单些。