雙時鐘計數(shù)器
發(fā)布時間:2008/5/28 0:00:00 訪問次數(shù):515
如何設計一個雙時鐘的計數(shù)器,其中一個時鐘是clk_up另一個是clk_down?
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity dou is
port ( clk1 : in std_logic;
clk2 : in std_logic;
q : out std_logic_vector(0 to 3)
);
end dou;
architecture rtl of dou is
signal q1,q2 : integer:=0;
begin
process(clk1)
begin
if clk1'event and clk1='1' then
q1<=q1+1;
end if;
end process;
process(clk2)
begin
if clk2'event and clk2='1' then
q2<=q2+1;
end if;
end process;
process(q1,q2)
begin
q<=conv_std_logic_vector(q1+q2,4);
end process;
end rtl;
==============================
neither maxplus nor any other rtl synthesis tool that the doctor is
familar with can cope with processes that are sensitive to more than one
clock, or more than one clock edge.
you must recast your model into multiple processes if you wish to
synthesize it.
-- demolbl
vvv
/ \ demolbl@263.net
@ ==
/\ \ "pay no attention to that man behind the curtain!"
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity dou is
port ( clk1 : in std_logic;
clk2 : in std_logic;
q : out std_logic_vector(0 to 3)
);
end dou;
architecture rtl of dou is
signal q1,q2 : integer:=0;
begin
process(clk1)
begin
if clk1'event and clk1='1' then
q1<=q1+1;
end if;
end process;
process(clk2)
begin
if clk2'event and clk2='1' then
q2<=q2+1;
end if;
end process;
process(q1,q2)
begin
q<=conv_std_logic_vector(q1+q2,4);
end process;
end rtl;
==============================
neither maxplus nor any other rtl synthesis tool that the doctor is
familar with can cope with processes that are sensitive to more than one
clock, or more than one clock edge.
you must recast your model into multiple processes if you wish to
synthesize it.
-- demolbl
vvv
/ \ demolbl@263.net
@ ==
/\ \ "pay no attention to that man behind the curtain!"
如何設計一個雙時鐘的計數(shù)器,其中一個時鐘是clk_up另一個是clk_down?
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity dou is
port ( clk1 : in std_logic;
clk2 : in std_logic;
q : out std_logic_vector(0 to 3)
);
end dou;
architecture rtl of dou is
signal q1,q2 : integer:=0;
begin
process(clk1)
begin
if clk1'event and clk1='1' then
q1<=q1+1;
end if;
end process;
process(clk2)
begin
if clk2'event and clk2='1' then
q2<=q2+1;
end if;
end process;
process(q1,q2)
begin
q<=conv_std_logic_vector(q1+q2,4);
end process;
end rtl;
==============================
neither maxplus nor any other rtl synthesis tool that the doctor is
familar with can cope with processes that are sensitive to more than one
clock, or more than one clock edge.
you must recast your model into multiple processes if you wish to
synthesize it.
-- demolbl
vvv
/ \ demolbl@263.net
@ ==
/\ \ "pay no attention to that man behind the curtain!"
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity dou is
port ( clk1 : in std_logic;
clk2 : in std_logic;
q : out std_logic_vector(0 to 3)
);
end dou;
architecture rtl of dou is
signal q1,q2 : integer:=0;
begin
process(clk1)
begin
if clk1'event and clk1='1' then
q1<=q1+1;
end if;
end process;
process(clk2)
begin
if clk2'event and clk2='1' then
q2<=q2+1;
end if;
end process;
process(q1,q2)
begin
q<=conv_std_logic_vector(q1+q2,4);
end process;
end rtl;
==============================
neither maxplus nor any other rtl synthesis tool that the doctor is
familar with can cope with processes that are sensitive to more than one
clock, or more than one clock edge.
you must recast your model into multiple processes if you wish to
synthesize it.
-- demolbl
vvv
/ \ demolbl@263.net
@ ==
/\ \ "pay no attention to that man behind the curtain!"
上一篇:正確認識SPC