A
alphi
Guest
proyek saya memerlukan 8 bit Sinkronisasi Sinkronisasi counter dengan membagi diprogram.ketika KPT = 00, 1 CLK naik, kontra 1ketika KPT = 01, 2 CLK naik, kontra 1ketika KPT = 10, 4 CLK naik, kontra 1ketika KPT = 11, 8 CLK naik, kontra 1
Catatan: saya tidak dapat menggunakan frekuensi CLK untuk membagi rangkaian multiplekser rangkaian untuk menghasilkan membagi clk2, kemudian gunakan untuk 8bit Sinkronisasi clk2 ini akan menghasilkan counter.because besar waktu tunda counter betwwen output dengan proyek CLK.my T1 (counter output)-T2 ( CLK) <8ns, jadi saya menggunakan metode berikut ini VHDL.but mengkonsumsi sumber daya sangat besar saya XC9536XL-10.Mengapa mengkonsumsi sumber daya begitu besar? Bagaimana bisa saya untuk memperbaikinya.VHDL saya:
ASS entitas adalah
port (
CLK: di std_logic;
J: keluar std_logic_vector (7 downto 0);
KPT: di std_logic_vector (1 downto 0);
nRST: di std_logic --
)
ASS akhir;
Behavioral arsitektur dari ASS adalah
sinyal A_SIG: std_logic_vector (10 downto 0); --
mulai
Acount: blok
mulai
A <= A_SIG (10 downto 3);
proses (CLK, nRST)
mulai
jika nRST = '1 'lalu --
jika CLK = '1 'dan kemudian CLK'event
KPT kasus adalah
ketika "00" =>
A_SIG (10 downto 3) <= A_SIG (10 downto 3) 1;
ketika "01" =>
A_SIG (10 downto 2) <= A_SIG (10 downto 2) 1;
ketika "10" =>
A_SIG (10 downto 1) <= A_SIG (10 downto 1) 1;
ketika "11" =>
A_SIG (10 downto 0) <= A_SIG (10 downto 0) 1;
ketika orang lain =>
null;
kasus akhir;
end if;
lain
A_SIG <= "00000000000";
end if;
proses akhir;
Acount blok akhir;
end Behavioral;HDL Synthesis ReportMakro Statistik
# Penambah / Subtractors: 4
11-bit adder: 1
10-bit adder: 1
9-bit adder: 1
8-bit adder: 1
# Registers: 11
1-bit register: 11
# Multiplexer: 10
2-to-1 multiplexer: 1
1-bit 4-to-1 multiplexer: 9
Catatan: saya tidak dapat menggunakan frekuensi CLK untuk membagi rangkaian multiplekser rangkaian untuk menghasilkan membagi clk2, kemudian gunakan untuk 8bit Sinkronisasi clk2 ini akan menghasilkan counter.because besar waktu tunda counter betwwen output dengan proyek CLK.my T1 (counter output)-T2 ( CLK) <8ns, jadi saya menggunakan metode berikut ini VHDL.but mengkonsumsi sumber daya sangat besar saya XC9536XL-10.Mengapa mengkonsumsi sumber daya begitu besar? Bagaimana bisa saya untuk memperbaikinya.VHDL saya:
ASS entitas adalah
port (
CLK: di std_logic;
J: keluar std_logic_vector (7 downto 0);
KPT: di std_logic_vector (1 downto 0);
nRST: di std_logic --
)
ASS akhir;
Behavioral arsitektur dari ASS adalah
sinyal A_SIG: std_logic_vector (10 downto 0); --
mulai
Acount: blok
mulai
A <= A_SIG (10 downto 3);
proses (CLK, nRST)
mulai
jika nRST = '1 'lalu --
jika CLK = '1 'dan kemudian CLK'event
KPT kasus adalah
ketika "00" =>
A_SIG (10 downto 3) <= A_SIG (10 downto 3) 1;
ketika "01" =>
A_SIG (10 downto 2) <= A_SIG (10 downto 2) 1;
ketika "10" =>
A_SIG (10 downto 1) <= A_SIG (10 downto 1) 1;
ketika "11" =>
A_SIG (10 downto 0) <= A_SIG (10 downto 0) 1;
ketika orang lain =>
null;
kasus akhir;
end if;
lain
A_SIG <= "00000000000";
end if;
proses akhir;
Acount blok akhir;
end Behavioral;HDL Synthesis ReportMakro Statistik
# Penambah / Subtractors: 4
11-bit adder: 1
10-bit adder: 1
9-bit adder: 1
8-bit adder: 1
# Registers: 11
1-bit register: 11
# Multiplexer: 10
2-to-1 multiplexer: 1
1-bit 4-to-1 multiplexer: 9