- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
this is my code i write it step by step but alarge amount of error appear i can't fix it can u help
-----------------------------------------
library ieee;
use ieee.std_logic_1164.all;
------------------------------------------------------------------
entity heat_sys is
port (manual_sig ,outside_sig ,room_sig:in std_logic;
specific_time_hours,timer_hours:integer range 0 to 24;
timer_miniut,specific_time_miniut:integer range 0 to 60;
keybad_inp:std_logic_vector (3 downto 0);
heat_value:integer range 0 to 38;
heat_on_off : buffer std_logic);
end entity;
------------------------------------------------------------------
architecture heat_sys_beh of heat_sys is
begin
process (manual_sig,outside_sig,room_sig,heat_value,keybad_inp,specific_time_hours,timer_hours,timer_miniut,specific_time_miniut)
begin
if outside_sig ='1' then
if ((timer_hours= specific_time_hours) and (timer_miniut=specific_time_miniut)) then
----------------------------------------------------------------------
if keybad_inp(0)='1' then
if heat_value >=38 then
heat_on_off='0';
else
heat_on_off='1';
end if;
elsif keybad_inp(1)='1' then
if heat_value >=30 then
heat_on_off='0';
else
heat_on_off='1';
end if;
elsif keybad_inp(2)='1' then
if heat_value >=36 then
heat_on_off='0';
else
heat_on_off='1';
end if;
else
if heat_value >=18 then
heat_on_off='0';
else
heat_on_off='1';
end if;
end if;
-------------------------------------------------------------------------
else
heat_on_off <='0';
end if;
-------------------------------------------------------------------------
elsif room_sig ='1' then
if keybad_inp(0)='1' then
if heat_value >=38 then
heat_on_off='0';
else
heat_on_off='1';
end if;
elsif keybad_inp(1)='1' then
if heat_value >=30 then
heat_on_off='0';
else
heat_on_off='1';
end if;
elsif keybad_inp(2)='1' then
if heat_value >=36 then
heat_on_off='0';
else
heat_on_off='1';
end if;
else
if heat_value >=18 then
heat_on_off='0';
else
heat_on_off='1';
end if;
end if;
-------------------------------------------------------------------------------
elsif manual_sig ='1' then
if keybad_inp(0)='1' then
if heat_value >=38 then
heat_on_off='0';
else
heat_on_off='1';
end if;
elsif keybad_inp(1)='1' then
if heat_value >=30 then
heat_on_off='0';
else
heat_on_off='1';
end if;
elsif keybad_inp(2)='1' then
if heat_value >=36 then
heat_on_off='0';
else
heat_on_off='1';
end if;
else
if heat_value >=18 then
heat_on_off='0';
else
heat_on_off='1';
end if;
end if;
---------------------------------------------------------------------------
else
heat_on_off <='0';
end if ;
end process;
end architecture ;
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To begin with you should define all entity signals as either inputs or outputs. You have missed some.
What does the error say- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks for ur help but i know my error lately may cause of the large of the program
error was signals inputs or outputs as u say and i do = instead of <= in heat_on_off signal soooo thanks for ur help the program know work in the write way ^_^
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page