J'utilise le code de ce site code:voir la sortie analogique en Xilinx au lieu de sortie numérique
entity triangular is
port (clk : in std_logic;
wave_out : out std_logic_vector(7 downto 0);
reset :in std_logic
);
end triangular;
architecture Behavioral of triangular is
signal count,count2 : integer := 0;
signal direction : std_logic := '0';
begin
process(clk,reset)
begin
if(reset = '1') then
count <= 0;
count2 <= 129;
elsif(rising_edge(clk)) then
--"direction" signal determines the direction of counting - up or down
if(count = 253) then
count <= 0;
if(direction = '0') then
direction <= '1';
count2 <= 126;
else
direction <= '0';
count2 <= 129;
end if;
else
count <= count + 1;
end if;
if(direction = '0') then
if(count2 = 255) then
count2 <= 0;
else
count2 <= count2 + 1; --up counts from 129 to 255 and then 0 to 127
end if;
else
if(count2 = 255) then
count2 <= 0;
else
count2 <= count2 - 1; --down counts from 126 to 0 and then 255 to 128
end if;
end if;
end if;
end process;
wave_out <= conv_std_logic_vector(count2,8);
end Behavioral;
et je reçois la sortie en format numérique, mais je veux obtenir une sortie comme indiqué dans le lien du site Web. Comment puis je faire ça? Je suis nouveau à VHDL travaillant comme une tâche.
Vous avez juste besoin de faire un zoom arrière sur votre wave et de dérouler le bus 'wave_out'. – Qiu
Je suppose que vous utilisez Vivado. Sélectionnez le bus 'wave_out' dans la fenêtre d'onde. Faites un clic droit et aller à l'option "style de forme d'onde". Vous pouvez sélectionner Analogique ici. –