process(stop,Zero)
begin
if stop = '1' then
star <= '0';
elsif rising_edge(Zero) then
star <= '1';
end if;
end process;
process(star,sysclk)
begin
if star = '0' then
cnt <= (others => '0');
elsif rising_edge(sysclk) then
cnt <= cnt+1;
end if;
end process;
stop <= '1' when cnt(11 downto 4) = 27 else '0';
sig <= star;
修改stop <= '1' when cnt(11 downto 4) = 27 else '0';
stop <= '1' when cnt(11 downto 4) = 25 else '0';
sig输出的脉宽为什么会差一半呢? |