VHDL语言实现RS108译码器
以下是VHDL语言实现RS(10,8)译码器的代码:
library ieee;
use ieee.std_logic_1164.all;
entity rs_decoder is
port (
rs_input: in std_logic_vector(9 downto 0);
rs_output: out std_logic_vector(7 downto 0)
);
end rs_decoder;
architecture Behavioral of rs_decoder is
begin
process (rs_input)
begin
case rs_input is
when "0000000000" =>
rs_output <= "00000000";
when "0000000011" =>
rs_output <= "00000001";
when "0000000111" =>
rs_output <= "00000010";
when "0000001111" =>
rs_output <= "00000011";
when "0000011111" =>
rs_output <= "00000100";
when "0000111111" =>
rs_output <= "00000101";
when "0001111111" =>
rs_output <= "00000110";
when "0011111111" =>
rs_output <= "00000111";
when "0111111111" =>
rs_output <= "00001000";
when "1111111111" =>
rs_output <= "00001001";
when others =>
rs_output <= "00000000";
end case;
end process;
end Behavioral;
这个译码器的输入是一个10位的RS码,输出是一个8位的数据字。它使用了一个case语句来对输入进行解码,并将输出写入rs_output端口。如果输入不是有效的RS码,则输出将被设置为0
原文地址: http://www.cveoy.top/t/topic/frVL 著作权归作者所有。请勿转载和采集!