我遇到下面这个
程序,理论分析为11分频,而
仿真波形只有8分频!

请哪位大虾指出原因·谢谢!
library ieee;
use ieee.std_logic_1164.all;
entity speaker is
port(clk1:in std_logic;
tone1:in integer range 0 to 16#7ff#;
spks

ut std_logic;
sdp

ut std_logic);
end entity speaker;
architecture behav of speaker is
signal preclk,fullspks:std_logic;
begin
divideclk:process(clk1)
variable count4:integer range 0 to 15;
begin
preclk<='0'; --将clk 11分频 preclk 6分频
if count4>11 then preclk<='1';
count4:=0;
elsif clk1'event and clk1='1' then count4:=count4+1;
end if;
sdp<=preclk;
end process;
genspks:process(preclk,tone1)
variable count11:integer range 0 to 16#7ff#;--11位可预置计数器
begin
if preclk'event and preclk='1' then
if count11=16#7ff# then
count11:=tone1;--置数
fullspks<='1';
else count11:=count11+1;
fullspks<='0';
end if;
end if;
end process;
delayspks:process(fullspks)
variable count2:std_logic;
begin
if fullspks'event and fullspks='1'
then count2:=not count2;
if count2='1' then spks<='1';
else spks<='0';
end if;
end if;
end process;
end architecture behav;


:funk::funk::funk::funk::funk: