randomizer can be used to eliminate a series of 1's or 0's coming out of serial data generator.This helps in data reception at receiver side.Also it provides a kind of encryption,ie until u xor the same bits of register at receiver u wont get actual data.This is used in many satellites and its simulators.....sync_present is a flag which will be '1' for the duration of sync pattern which is present at the start of the frame.so data after the sync only is randmized.(satellite communication is in terms of frames and subframes,start of frame is indicated by a sync pattern)
---randomizer logic --declarations u should do
s_lsb <= s_rand_reg(8) XOR s_rand_reg(1) XOR s_rand_reg(2);
process(i_ref_clk)
begin
if(i_ref_clk'event and i_ref_clk = '1')then
if(s_sync_present = '1')then
s_rand_reg <= "00" & x"00";
else
s_rand_reg <= s_rand_reg(8 downto 0) & s_lsb;
end if;
end if;
end process;
nice one really....
ReplyDelete