HI mga tao.Mayroon akong isang code na pulses bilang ng orasan, at ilagay sa exit na mataas o mababang (tulad ng pwm, pero gumagamit na pumapasok sa bilang os pulses sa mataas at ang bilang ng pulses sa mababa).Ako ay may magagamit na ako ng isang Altera 3,064, at kailangan din sa paghati-hatiin orasan sa bawat 8, bago ang pagbibilang.Pagkatapos ng pagtitipon at pagbubuo, ang code ay gumagamit ng (na may qu (sa) rtus 6.0) 68 macrocells, at ang 3,064 ay may lamang 64.Isa Anumang ay maaaring makatulong sa akin, kung paano baguhin ang code na ito sa isang mas mahusay na isa?thanks lahat ng tao
library ieee;
gamitin ieee.std_logic_1164.all;
gamitin ieee.std_logic_unsigned.all;
gamitin ieee.std_logic_arith.all;
entidad ErosaoSS ay
port (
Dados: sa std_logic_vector (10 downto 0);
Clock: sa std_logic;
Start: sa std_logic;
Receber: sa std_logic_vector (1 downto 0);
Saida_pulso: out std_logic
);
dulo ErosaoSS;
architecture ErosaoSS_arch ng ErosaoSS ay
signal tempo_ton: integer saklaw 0-900: = 0;
signal tempo_toff: integer saklaw 0-900: = 0;
signal tonelada: std_logic_vector (10 downto 0);
signal ginoo: std_logic_vector (10 downto 0);
hudyat ng contador: std_logic_vector (3 downto 0): = "0000";
signal clock_out: std_logic;
simulan
divide_clock: proseso (orasan, Simulan)
simulan
kung Simulan ang = '0 'at pagkatapos
contador <= (iba => '0 ');
clock_out <= '0 ';
kung sino pa ang paririto (kaganapan orasan 'at orasan = '1') at pagkatapos ay
kung (contador <=

pagkatapos ay
contador <= contador 1;
kung hindi
contador <= (iba => '0 ');
clock_out <= hindi clock_out;
kung ang dulo;
kung ang dulo;
kung ang dulo;
dulo proseso;
escolhe: proseso (receber, dados, simulan)
simulan
kung (Simulan ang = '0 ') at pagkatapos ay
kung (Receber = "01") pagkatapos ay
Tonelada <= dados;
kung sino pa ang paririto (Receber = "10") pagkatapos ay
Ginoo <= dados;
kung ang dulo;
kung ang dulo;
kung ang dulo;
dulo proseso;pulsa_ton: proseso (Start, orasan, tonelada, ginoo)
simulan
kung (Start = '1 ') at pagkatapos ay
kung (kaganapan orasan 'at orasan = '1') at pagkatapos ay
kung (tempo_ton <tonelada) pagkatapos ay
tempo_ton <= tempo_ton 1;
saida_pulso <= '1 ';
kung sino pa ang paririto (tempo_ton = tonelada) pagkatapos ay
tempo_toff <= 0;
tempo_ton <= tempo_ton 1;
kung sino pa ang paririto (tempo_toff <ginoo) pagkatapos ay
tempo_toff <= tempo_toff 1;
saida_pulso <= '0 ';
kung sino pa ang paririto (tempo_toff ginoo =) pagkatapos ay
tempo_ton <= 0;
kung ang dulo;
kung ang dulo;
kung ang dulo;
kung ang dulo;
kung ang dulo;
kung sino pa ang paririto (Simulan ang = '0 'o Start =' Z ') at pagkatapos ay
saida_pulso <= '0 ';
kung ang dulo;
kung ang dulo;
dulo proseso;
dulo ErosaoSS_arch;