با سلام،
ببخشید من یکم تازه کارم میشه راهنماییم کنید! من از طریق بلوک دیاگرام خواستم pwm بسازم موقعی که سیموله می کنم در functional درست جواب میده ولی تو timing بهم می ریزه چطوری می تونم اصلاحش کنم و هم چنین در کد زیر باز تو timing مشکل دارم خوشحال می شوم راهنماییم کنید.

LIBRARY ieee;
USE ieee.std_logic_1164.all;

LIBRARY lpm;
USE lpm.all;

ENTITY con_1 IS
PORT
(
clock : IN STD_LOGIC ;
updown : IN STD_LOGIC ;
cout : OUT STD_LOGIC ;
q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0)
);
END con_1;


ARCHITECTURE SYN OF con_1 IS

SIGNAL sub_wire0 : STD_LOGIC ;
SIGNAL sub_wire1 : STD_LOGIC_VECTOR (7 DOWNTO 0);



COMPONENT lpm_counter
GENERIC (
lpm_direction : STRING;
lpm_port_updown : STRING;
lpm_type : STRING;
lpm_width : NATURAL
);
PORT (
clock : IN STD_LOGIC ;
cout : OUT STD_LOGIC ;
q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);
updown : IN STD_LOGIC
);
END COMPONENT;

BEGIN
cout <= sub_wire0;
q <= sub_wire1(7 DOWNTO 0);

lpm_counter_component : lpm_counter
GENERIC MAP (
lpm_direction => "UNUSED",
lpm_port_updown => "PORT_USED",
lpm_type => "LPM_COUNTER",
lpm_width => 8
)
PORT MAP (
clock => clock,
updown => updown,
cout => sub_wire0,
q => sub_wire1
);



END SYN;