H
hlmwps
Guest
entiteit FreqMeter is
poort
reset in std_logic;
CE: in std_logic;
BCLK: in std_logic;
gclk: in std_logic;
start: in std_logic;
num: in integer range 10 tot 1000;
over: out std_logic;
databus: out std_logic_vector (47 Downto 0)
)
einde FreqMeter;
architectuur Behavioral van FreqMeter is
signaal bz_count: integer;
signaal gc_count: integer bereik 0 tot 1000;
signaal bz_ena, ena: std_logic;
signaal clr: std_logic;
signaal tmp_start, tmp_over: std_logic;
signaal resetn, resetd: std_logic;
beginnen
databus <= conv_std_logic_vector (bz_count, 4
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Koel" border="0" />
;
proces (CE, start) beginnen
indien CE = '0 'en start = '0' en dan
resetn <= '0 ';
elsif CE = '0 'en rising_edge (start) dan
resetn <= '1 ';
end if;
einde proces
proces (BCLK)
beginnen
indien rising_edge (BCLK) dan
resetd <= resetn;
end if;
einde proces
clr <= resetn en (niet resetd);
dan <= tmp_over;
proces (reset, CLR, start)
beginnen
indien reset = '0 'of clr = '1' dan
tmp_start <= '0 ';
elsif falling_edge (start) dan
tmp_start <= '1 ';
end if;
einde proces
proces (reset, CLR, tmp_over, ena, tmp_start)
beginnen
indien reset = '0 'of clr = '1' of (tmp_over = '1 'en ENA = '0') then
bz_ena <= '0 ';
elsif rising_edge (tmp_start) dan
bz_ena <= '1 ';
end if;
einde procesbzcounter: Process (reset, BCLK, CLR, bz_ena, ENA)
beginnen
indien reset = '0 'of clr = '1' dan
bz_count <= 0;
elsif rising_edge (BCLK) dan
indien bz_ena = '1 'en ENA = '1' en
bz_count <= bz_count 1;
end if;
end if;
einde proces
gccounter: Process (reset, gclk, CLR, bz_ena)
beginnen
indien reset = '0 'of clr = '1' dan
gc_count <= 0;
tmp_over <= '0 ';
ena <= '0 ';
elsif falling_edge (gclk) dan
indien bz_ena = '1 'dan
gc_count <= gc_count 1;
als gc_count = num dan
ena <= '0 ';
gc_count <= num-1;
tmp_over <= '1 ';
anders
ena <= '1 ';
tmp_over <= '0 ';
end if;
end if;
end if;
einde proces
einde Behavioral;Toegevoegd na 5 minuten:Boven is een VHDL bijvoorbeeld over frequentie teller!
Ik simuleren met Modelsim 6.0!Het kan heel goed en de functie werk is goed!
Maar toen ik het downloaden in een Xinlix CPLD XC95144XL, heeft zijn functie niet goed!
Please help me te vinden waar is het fout!
poort
CE: in std_logic;
BCLK: in std_logic;
gclk: in std_logic;
start: in std_logic;
num: in integer range 10 tot 1000;
over: out std_logic;
databus: out std_logic_vector (47 Downto 0)
)
einde FreqMeter;
architectuur Behavioral van FreqMeter is
signaal bz_count: integer;
signaal gc_count: integer bereik 0 tot 1000;
signaal bz_ena, ena: std_logic;
signaal clr: std_logic;
signaal tmp_start, tmp_over: std_logic;
signaal resetn, resetd: std_logic;
beginnen
databus <= conv_std_logic_vector (bz_count, 4
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Koel" border="0" />
;
proces (CE, start) beginnen
indien CE = '0 'en start = '0' en dan
resetn <= '0 ';
elsif CE = '0 'en rising_edge (start) dan
resetn <= '1 ';
end if;
einde proces
proces (BCLK)
beginnen
indien rising_edge (BCLK) dan
resetd <= resetn;
end if;
einde proces
clr <= resetn en (niet resetd);
dan <= tmp_over;
proces (reset, CLR, start)
beginnen
indien reset = '0 'of clr = '1' dan
tmp_start <= '0 ';
elsif falling_edge (start) dan
tmp_start <= '1 ';
end if;
einde proces
proces (reset, CLR, tmp_over, ena, tmp_start)
beginnen
indien reset = '0 'of clr = '1' of (tmp_over = '1 'en ENA = '0') then
bz_ena <= '0 ';
elsif rising_edge (tmp_start) dan
bz_ena <= '1 ';
end if;
einde procesbzcounter: Process (reset, BCLK, CLR, bz_ena, ENA)
beginnen
indien reset = '0 'of clr = '1' dan
bz_count <= 0;
elsif rising_edge (BCLK) dan
indien bz_ena = '1 'en ENA = '1' en
bz_count <= bz_count 1;
end if;
end if;
einde proces
gccounter: Process (reset, gclk, CLR, bz_ena)
beginnen
indien reset = '0 'of clr = '1' dan
gc_count <= 0;
tmp_over <= '0 ';
ena <= '0 ';
elsif falling_edge (gclk) dan
indien bz_ena = '1 'dan
gc_count <= gc_count 1;
als gc_count = num dan
ena <= '0 ';
gc_count <= num-1;
tmp_over <= '1 ';
anders
ena <= '1 ';
tmp_over <= '0 ';
end if;
end if;
end if;
einde proces
einde Behavioral;Toegevoegd na 5 minuten:Boven is een VHDL bijvoorbeeld over frequentie teller!
Ik simuleren met Modelsim 6.0!Het kan heel goed en de functie werk is goed!
Maar toen ik het downloaden in een Xinlix CPLD XC95144XL, heeft zijn functie niet goed!
Please help me te vinden waar is het fout!