--===========================================================================-- -- Design units : Descrambler (entity and architecture) -- -- File name : descram.vhd -- -- Purpose : Descramble bit stream for G3RUH FSK modem -- -- Note : y=1+x^12+x^17 -- -- Limitations : NON-COMMERCIAL USAGE ONLY -- -- Errors : -- -- Library : -- --Dependencies : -- -- Author : Juergen Hasch, hasch@t-online.de -- Meisenstr. 23 -- 73066 Uhingen -- Germany -- -- Synthesis : Xilinx Foundation 1.4 ------------------------------------------------------------------------------- -- Revision list -- Version Author Date Changes -- 1.0 JH 18 Dec 97 File created -- -- ------------------------------------------------------------------------------- Library ieee; Use ieee.std_logic_1164.all; entity descram is port( datain: in std_logic; -- input bit clock: in std_logic; -- data shift clock dataout: out std_logic); -- descrambled output bit end descram; architecture behaviour of descram is signal shift_reg: std_logic_vector(16 downto 0); -- shift register begin process(clock) begin if (clock'event and clock='0') then shift_reg(0) <= datain; shift_reg(1) <= shift_reg(0); shift_reg(2) <= shift_reg(1); shift_reg(3) <= shift_reg(2); shift_reg(4) <= shift_reg(3); shift_reg(5) <= shift_reg(4); shift_reg(6) <= shift_reg(5); shift_reg(7) <= shift_reg(6); shift_reg(8) <= shift_reg(7); shift_reg(9) <= shift_reg(8); shift_reg(10) <= shift_reg(9); shift_reg(11) <= shift_reg(10); shift_reg(12) <= shift_reg(11); shift_reg(13) <= shift_reg(12); shift_reg(14) <= shift_reg(13); shift_reg(15) <= shift_reg(14); shift_reg(16) <= shift_reg(15); dataout <= datain xor shift_reg(11) xor shift_reg(16); end if; end process; end behaviour; --========================= End of Scrambler ================================--