SDI の xyz を VHDL で書いてみる

SDI の規格の xyzVHDL で書いてみた。f は P なら常に0になる(I なら交互に 0/1)。
st2018-2-2011.pdf という資料がわかりやすかった。

        function create_xyz(f: std_logic; v: std_logic; h: std_logic) return  std_logic_vector is
        variable xyz: std_logic_vector(9 downto 0);
        begin
            xyz(9) := '1';
            xyz(8) := f;
            xyz(7) := v;
            xyz(6) := h;
            xyz(5) := v xor h;
            xyz(4) := f xor h;
            xyz(3) := f xor v;
            xyz(2) := f xor v xor h;
            xyz(1) := '0';
            xyz(0) := '0';
        return xyz;
        end;