K
koolslash
Guest
Uprzejmie debug poniższy kod i może, jeśli:
jej roszczenie o których liczy feed_in impulsów dla 1sec.zegar używany jako odniesienie jest 50MHz.
Cytat:
LIBRARY IEEE;
WYKORZYSTANIE IEEE.std_logic_1164.ALL;
WYKORZYSTANIE IEEE.numeric_std.ALL;
WYKORZYSTANIE ieee.std_logic_unsigned.all;JEDNOSTKI opinii jest
Port (CLK: IN std_logic;
reset: IN std_logic;
ENB: IN std_logic;
feed_in: IN std_logic;
feed_out: OUT std_logic_vector (7 DOWNTO 0)
);
KONIEC zwrotne;ARCHITECTURE rtl opinie IS- Sygnały
SIGNAL tcount: std_logic_vector (7 DOWNTO 0);
SIGNAL pcount: std_logic_vector (7 DOWNTO 0);
SIGNAL feed_count: std_logic_vector (7 DOWNTO 0);
SIGNAL Count_out: std_logic_vector (7 DOWNTO 0);
SIGNAL Counter_out1: std_logic_vector (25 DOWNTO 0);
SIGNAL Count_total: std_logic_vector (7 DOWNTO 0);BEGIN- Licznik czasu na 1secCounter_process: process (CLK, reset)
BEGIN
JEŚLI reset ='1 'THEN
Counter_out1 <= (others =>'0 ');
elsIF clk'event I CLK ='1 'THEN
JEŚLI Counter_out1 = "10111110101111000010000000", a następnie - 50M cykli / s => zegarem 50MHz
Counter_out1 <= (others =>'0 ');
ELSE
Counter_out1 <= Counter_out1 1;
END IF;
END IF;
KONIEC PROCESU Counter_process;- licznik do liczby impulsów w 1secCounter_pulse: PROCES (feed_in, reset)
BEGIN
JEŚLI reset ='1 'THEN
pcount <= (others =>'0 ');
JEŚLI Counter_out1 = "10111110101111000010000000", a następnie
Count_total <= pcount;
pcount <= (others =>'0 ');
ELSIF feed_in'event I feed_in ='1 'THEN
pcount <= pcount 1;
END IF;
END IF;
KONIEC PROCESU Counter_pulse;- niekompletne zadanie: scalling wyjście liczyć z x6.to się: 40 do 240
Count_out <= Count_total;
- ostateczne wyjście
feed_out <= Count_out (7 DOWNTO 0);END rtl;
jej roszczenie o których liczy feed_in impulsów dla 1sec.zegar używany jako odniesienie jest 50MHz.
Cytat:
LIBRARY IEEE;
WYKORZYSTANIE IEEE.std_logic_1164.ALL;
WYKORZYSTANIE IEEE.numeric_std.ALL;
WYKORZYSTANIE ieee.std_logic_unsigned.all;JEDNOSTKI opinii jest
Port (CLK: IN std_logic;
reset: IN std_logic;
ENB: IN std_logic;
feed_in: IN std_logic;
feed_out: OUT std_logic_vector (7 DOWNTO 0)
);
KONIEC zwrotne;ARCHITECTURE rtl opinie IS- Sygnały
SIGNAL tcount: std_logic_vector (7 DOWNTO 0);
SIGNAL pcount: std_logic_vector (7 DOWNTO 0);
SIGNAL feed_count: std_logic_vector (7 DOWNTO 0);
SIGNAL Count_out: std_logic_vector (7 DOWNTO 0);
SIGNAL Counter_out1: std_logic_vector (25 DOWNTO 0);
SIGNAL Count_total: std_logic_vector (7 DOWNTO 0);BEGIN- Licznik czasu na 1secCounter_process: process (CLK, reset)
BEGIN
JEŚLI reset ='1 'THEN
Counter_out1 <= (others =>'0 ');
elsIF clk'event I CLK ='1 'THEN
JEŚLI Counter_out1 = "10111110101111000010000000", a następnie - 50M cykli / s => zegarem 50MHz
Counter_out1 <= (others =>'0 ');
ELSE
Counter_out1 <= Counter_out1 1;
END IF;
END IF;
KONIEC PROCESU Counter_process;- licznik do liczby impulsów w 1secCounter_pulse: PROCES (feed_in, reset)
BEGIN
JEŚLI reset ='1 'THEN
pcount <= (others =>'0 ');
JEŚLI Counter_out1 = "10111110101111000010000000", a następnie
Count_total <= pcount;
pcount <= (others =>'0 ');
ELSIF feed_in'event I feed_in ='1 'THEN
pcount <= pcount 1;
END IF;
END IF;
KONIEC PROCESU Counter_pulse;- niekompletne zadanie: scalling wyjście liczyć z x6.to się: 40 do 240
Count_out <= Count_total;
- ostateczne wyjście
feed_out <= Count_out (7 DOWNTO 0);END rtl;