peut être utiliser dans un Convertisseur statique commandé par FPGA
Code : -- Ceci est un programme qui permet de générer un signal carré de rapport -- cyclique variable le temps à l'état haut et le temps à l'état bas sont -- définit en ns, ce programme est édité et compilé par MAX+plus II 9.23 -- et tester sur l'FPGA : EPF8282ALC84-4 pour cela je n'ais pas -- utiliser l'instruction <wait for> ou <after> pour générer l'attente -- en ns, la fréquence d'horloge est de 1 MHz -- ABIDI Hatem ISET NABEUL jan 2008 library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_ARITH.all; use IEEE.STD_LOGIC_UNSIGNED.all; ENTITY conv IS PORT ( clk : IN STD_LOGIC; s : OUT STD_LOGIC);
END conv; ARCHITECTURE a OF conv IS SIGNAL compt: integer RANGE 0 TO 1023; SIGNAL mem : STD_LOGIC ; BEGIN process(clk) begin WAIT UNTIL clk'EVENT and clk = '1'; compt <= compt + 1; end process; process(compt) begin if compt < 10 then -- initialisation de la variable de mémorisation mem <= '0'; end if; case compt is when 10 => s <= '1'; mem <='1'; -- sortie recoit 1 pendant 10 ns when 20 => s <= '0'; mem <='0'; -- sortie recoit 0 pendant 20 ns when 40 => s <= '1'; mem <='1'; -- sortie recoit 1 pendant 40 ns when 80 => s <= '0'; mem <='0'; -- sortie recoit 0 pendant 80 ns when 160 => s <= '1'; mem <='1'; -- sortie recoit 1 pendant 40 ns when 240 => s <= '0'; mem <='0'; -- sortie recoit 0 pendant 80 ns when 280 => s <= '1'; mem <='1'; -- sortie recoit 1 pendant 40 ns when 300 => s <= '0'; mem <='0'; -- sortie recoit 0 pendant 20 ns when 310 => s <= '1'; mem <='1'; -- sortie recoit 1 pendant 10 ns when others => s <= mem; end case; end process; END a;
Le savoir est une chose qu'on peut pas cacher, la connaissance existe pour être transmise aux autres...
sa fait un moment que j'attend ta repence MR hatem, mais toujours rein. pourrez vous slvp m'explique le fonctionnement de votre programme, car il y a klk partie qui m’échappe. mes salutations.