[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Задача - HDB3 Decoder
данные Pos и Neg складываются, и проверяется наличие кода в сдвиговом регистре ShReg, и если есть совпадение, то заменяются на 0000.
После компиляции такого кода симулятор показывает, что код в ShReg на самом деле не сдвигается!!!
в чем может быть проблема???
Заранее благодарен.
был написан код:
library IEEE;
use IEEE.std_logic_1164.all;
entity HDB3Decoder is
port (
CLK: in std_logic;
Pos: in std_logic;
Neg: in std_logic;
Data: out std_logic
);
end HDB3Decoder;
architecture HDB3Decoder_arch of HDB3Decoder is
signal ShReg: std_logic_vector(3 downto 0);
signal Buf: std_logic;
begin
process (CLK)
begin
if CLK'event and CLK='1' then
Buf<=Pos or Neg;
ShReg<=ShReg(2 downto 0) & Buf;
if (ShReg(2 downto 0)="001") then ShReg<="0000"; else null; end if;
Data<=ShReg(0);
else null; end if;
end process;
end HDB3Decoder_arch;
E-mail: info@telesys.ru