CPLD PWM Problem

K

Kvicksilver

Guest
Hej!
Jag är nybörjare på Xilinx 9500-serien CPLD med Webpack 5.2.Jag skrev den bifogade filen som en PWM jämförelsegruppen / generator med ingång spärr.Problemet är att när jag syntetisera det jag får en varning: hittat 1 bit spärr för PWM-signal.Även när jag kör montör betänkandet Jag får en "röd X" vänster "Fitter report".Så jag skulle vilja veta vad jag gör fel.

Låt mig förklara lite mer PWM jämförelsegruppen.I Cin input jag kommer att väcka 8 output lite disken och på Din den 8 värde bit PWM.Konceptet är följande:
- Jämförelsegruppen ställer PWM utgång när Cin når toppen (255).
- PWM utgång rensas när Din (eller låst signal data) är lika Cin.Detta är mer eller mindre det.

Jag tackar på förhand för ditt svar.

Vänliga hälsningar
George MercuryTyvärr har jag försökt att bifoga filen, men jag hade ingen framgång:

library IEEE;
användning IEEE.STD_LOGIC_1164.ALL;
användning IEEE.STD_LOGIC_ARITH.ALL;
användning IEEE.STD_LOGIC_UNSIGNED.ALL;enhet Comparator är
Port (
PWM: out std_logic;
str: in std_logic;
RST: in std_logic;

Din: in std_logic_vector (7 downto 0);
Cin: in std_logic_vector (7 downto 0)

)
slut Comparator;

arkitektur COMP av Comparator är

signal data: std_logic_vector (7 downto 0);
signal top: std_logic;
signal ekv: std_logic;

starta

P00: process (str)
starta
Om str'event och str = '1 'då
data <= Din;
end if;
end process;P01: process (topp, ekv, rst)
starta
Om rst = '0 'då
pwm <= '0 ';
elsif upp = '1 'då
pwm <= '1 ';
elsif ekv = '1 'då
pwm <= '0 ';
end if;
end process;

ekv <= '1 'när data = Cin else '0';
top <= '1 'när Cin = "11111111" else '0';

slut comp;

 
koden du visar är en kombinatorisk en och lås kommer infered för de fall som dos som inte omfattas av P01 process.Mitt råd är följande

1 - Ta klockan som räkneverket räknas in som underlag till din design.
2 - Gör en process som aktiveras varje stigande kanten av klockan och omfat inuti denna process värdet av Cin och data direkt (dvs. om Cin = Data) och enligt återställa ange eller rensa PWM utgång.detta sätt undviker du riskerna accosiated med minnen logik och du kommer att undvika infered spärrarna.

hälsningar

 
Jag tackar er för ert svar.Så om jag förstod rätt, var mitt fel att jag did't förse staterna för PWM utgång när inte av om-klausuler var sant.Och som jag ser det, använt VHDL en Spärr för PWM utgång.Har jag rätt?Jag tar ditt råd och använda klockan.Jag tackar än en gång för ditt snabba svar.

Geroge

 
1 - hålla i sinnet att varje unsepecified fall (antingen i din situation eller när det gäller uttalandet) lås blir iferred att hålla tillståndet i produktionen.

2 - När du gör händelserna sker på stigande (eller fallande) med befälhavaren klockan, är detta uttalande syntetiseras i DFF: s drived av sammansättningar logik, så produktionen av sammansättningar logik dos inte sett till kanten på klockan kom som undviker Följande krets kan vara behäftade med de faror som jag kommer till den sammansättningar krets under övergångar i sitt bidrag.

 

Welcome to EDABoard.com

Sponsor

Back
Top