Bonjour,
Apres plusieurs tentatives sur des forums, avoir tenté de trouver des codes pour m'en inspirer, j'arrive à rien.
Je cherche à implementer en VHDL un scrambler, vous pouvez voir le schéma du montage sur ce lien: http://en.wikipedia.org/wiki/Image:S...r_additive.png
Le code:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.ALL;
USE ieee.numeric_std.all;
entity randomizer_test is
port (
clk : in std_logic;
bit_in : in std_logic;
bit_enab : in std_logic;
bit_reset: in std_logic;
bit_out: out std_logic
);
end randomizer_test;
architecture arc of randomizer_test is
signal reg : std_logic_vector(14 downto 0):="111111111111111";
signal porte_1 : std_logic;
signal porte_2 : std_logic;
begin
process(clk,bit_reset)
begin
if (bit_reset = '1') then
reg<="110110101010101";
elsif (rising_edge(clk) and clk='1' and bit_reset='0') then
if (bit_enab='1') then
porte_1 <= reg(14) xor reg(13);
porte_2 <= porte_1 xor bit_in;
reg(14 downto 1)<=reg(13 downto 0);
reg(0)<=porte_1;
end if;
end if;
end process;
bit_out<=porte_2;
end arc;
Je simule sous Quartus, et je vous laisse voir ce que j'obtiens en resultat de simulation: http://img89.imageshack.us/img89/3156/imageuo7.jpg
Donc deja, j'arrive pas avec mon reset à initialiser les registres avec les bits (reg<="110110101010101" Il y met des valeurs dont je ne sais pas d'ou il les prend...
A l'aide, y a peut etre une ame charitable qui pourrait m'aider. Je ne connais strictement rien à la programmation VHDL, j'apprend en autodidact et j'aimerai comprendre le raisonnement à suivre.
Merci de vos reponses.
-----