A
alphi
Guest
mijn project moet een 8 bit teller met programmeerbare Synchro Synchro verdelen.wanneer OPT = 00, 1 CLK stijgen, counter 1wanneer OPT = 01, 2 CLK stijgen, counter 1wanneer OPT = 10, 4 CLK stijgen, counter 1wanneer OPT = 11, 8 CLK stijgen, counter 1
Opmerking: Ik kan geen gebruik maken clk de frequentie circuit verdelen multiplexer circuit te genereren clk2 te delen, dan clk2 gebruiken voor 8bit Synchro counter.because deze zal genereren grote vertraging betwwen teller uitgang met CLK.my project T1 (counter-uitgang)-T2 ( CLK) <8ns, dus ik gebruik volgende methode VHDL.but het consumeren zeer grote bron van mijn XC9536XL-10.Waarom het consumeren zo groot bron? Hoe kan ik te verbeteren.mijn VHDL:
entiteit ASS is
port (
CLK: in std_logic;
A: out std_logic_vector (7 Downto 0);
OPT: in std_logic_vector (1 Downto 0);
nRST: in std_logic --
)
einde ASS;
architectuur Behavioral van ASS is
signaal A_SIG: std_logic_vector (10 Downto 0); --
beginnen
ACOUNT: block
beginnen
A <= A_SIG (10 Downto 3);
proces (CLK, nRST)
beginnen
indien nRST = '1 'then --
indien CLK = '1 'en vervolgens CLK'event
OPT geval is
wanneer "00" =>
A_SIG (10 Downto 3) <= A_SIG (10 Downto 3) 1;
wanneer "01" =>
A_SIG (10 Downto 2) <= A_SIG (10 Downto 2) 1;
wanneer "10" =>
A_SIG (10 Downto 1) <= A_SIG (10 Downto 1) 1;
wanneer "11" =>
A_SIG (10 Downto 0) <= A_SIG (10 Downto 0) 1;
wanneer anderen =>
null;
einde geval;
end if;
anders
A_SIG <= "00000000000";
end if;
einde proces
einde blok ACOUNT;
einde Behavioral;HDL Synthesis ReportMacro Statistieken
# Toevoegingen / Subtractors: 4
11-bits opteller: 1
10-bits opteller: 1
9-bits opteller: 1
8-bit opteller: 1
Registers #: 11
1-bit register: 11
# Multiplexers: 10
2-tegen-1 multiplexer: 1
1-bit 4-tegen-1 multiplexer: 9
Opmerking: Ik kan geen gebruik maken clk de frequentie circuit verdelen multiplexer circuit te genereren clk2 te delen, dan clk2 gebruiken voor 8bit Synchro counter.because deze zal genereren grote vertraging betwwen teller uitgang met CLK.my project T1 (counter-uitgang)-T2 ( CLK) <8ns, dus ik gebruik volgende methode VHDL.but het consumeren zeer grote bron van mijn XC9536XL-10.Waarom het consumeren zo groot bron? Hoe kan ik te verbeteren.mijn VHDL:
entiteit ASS is
port (
CLK: in std_logic;
A: out std_logic_vector (7 Downto 0);
OPT: in std_logic_vector (1 Downto 0);
nRST: in std_logic --
)
einde ASS;
architectuur Behavioral van ASS is
signaal A_SIG: std_logic_vector (10 Downto 0); --
beginnen
ACOUNT: block
beginnen
A <= A_SIG (10 Downto 3);
proces (CLK, nRST)
beginnen
indien nRST = '1 'then --
indien CLK = '1 'en vervolgens CLK'event
OPT geval is
wanneer "00" =>
A_SIG (10 Downto 3) <= A_SIG (10 Downto 3) 1;
wanneer "01" =>
A_SIG (10 Downto 2) <= A_SIG (10 Downto 2) 1;
wanneer "10" =>
A_SIG (10 Downto 1) <= A_SIG (10 Downto 1) 1;
wanneer "11" =>
A_SIG (10 Downto 0) <= A_SIG (10 Downto 0) 1;
wanneer anderen =>
null;
einde geval;
end if;
anders
A_SIG <= "00000000000";
end if;
einde proces
einde blok ACOUNT;
einde Behavioral;HDL Synthesis ReportMacro Statistieken
# Toevoegingen / Subtractors: 4
11-bits opteller: 1
10-bits opteller: 1
9-bits opteller: 1
8-bit opteller: 1
Registers #: 11
1-bit register: 11
# Multiplexers: 10
2-tegen-1 multiplexer: 1
1-bit 4-tegen-1 multiplexer: 9