Witam,
właśnie napisałem bardzo prosty program w VHDLu, poniżej przedstawiam kod:
Jak widać zadaniem całego programu jest wystawianie "1" na wyjściu f.
Jednak Quartus się burzy i wyrzuca całą masę Warningów:
Po wgraniu do FPGA program niestety nie działa ;/ Przyznam, że nie jestem w stanie rozszyfrować pierwszego Warningu (nie chodzi tu o kwestię językową oczywiście
), w czym tkwi problem? Dlaczego wyjście f jest podciągane do zasilania?, a nie jest wynikiem operacji z procesu p0?
Dziękuję z góry za odpowiedzi,
pozdrawiam Krzysiek
właśnie napisałem bardzo prosty program w VHDLu, poniżej przedstawiam kod:
library ieee;
use ieee.std_logic_1164.all;
entity light is
port( x1, x2 : in std_logic;
f : out std_logic);
end light;
architecture LogicFunction of light is
begin
p0: process(x1, x2) is
begin
if (x1 = '1' and x2 = '0') then
f <= '1';
end if;
end process;
end LogicFunction;
Jak widać zadaniem całego programu jest wystawianie "1" na wyjściu f.
Jednak Quartus się burzy i wyrzuca całą masę Warningów:
Warning (10631): VHDL Process Statement warning at light.vhd(12): inferring latch(es) for signal or variable "f", which holds its previous value in one or more paths through the process
Warning: Output pins are stuck at VCC or GND
Warning: Design contains 2 input pin(s) that do not drive logic
Warning: Feature LogicLock is not available with your current license
Warning: Following 1 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results
Warning: The Reserve All Unused Pins setting has not been specified, and will default to 'As output driving ground'.
Warning: No paths found for timing analysis
Po wgraniu do FPGA program niestety nie działa ;/ Przyznam, że nie jestem w stanie rozszyfrować pierwszego Warningu (nie chodzi tu o kwestię językową oczywiście
Dziękuję z góry za odpowiedzi,
pozdrawiam Krzysiek