help!

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!

 
CPLD's en FPGA's zijn bedoeld voor synchrone logische schakelingen.
Uw logica bevat zoveel asynchonous blokken.En dit is het probleem!
Allereerst maak je de hele synchrone logica!
Check out de interne keuken van de CPLD en te zien wat is toegestaan en wat niet!

 

Welcome to EDABoard.com

Sponsor

Back
Top