基于VHDL的高速分频器设计:有一个10MHZ的时钟源,为得到4HZ,3HZ,2HZ和1HZ的信号.紧急紧急!!!求求各位高手
答案:1 悬赏:30 手机版
解决时间 2021-02-04 00:44
- 提问者网友:愿为果
- 2021-02-03 16:33
基于VHDL的高速分频器设计:有一个10MHZ的时钟源,为得到4HZ,3HZ,2HZ和1HZ的信号.紧急紧急!!!求求各位高手
最佳答案
- 五星知识达人网友:空山清雨
- 2021-02-03 17:49
这个很简单啊。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt10 is
port(clk,rst,en : in std_logic;
cq : out std_logic_vector(3 downto 0);
cout : out std_logic);
end cnt10;
architecture behav of cnt10 is
begin
process(clk,rst,en)
variable cqi : std_logic_vector(3 downto 0);
begin
if rst='1' then cqi:=(others=>'0');
elsif clk'event and clk='1' then
if en='1' then
if cqi<9 then cqi:=cqi+1;
else cqi:=(others=>'0');
end if;
end if;
end if;
if cqi=9 then cout<='1';
else cout<='0';
end if;
cq<=cqi;
end process;
end;
你把这个程序里面的cqi计数器的值改一下就能满足你的所有需求。计算好他们之间的换算关系
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cnt10 is
port(clk,rst,en : in std_logic;
cq : out std_logic_vector(3 downto 0);
cout : out std_logic);
end cnt10;
architecture behav of cnt10 is
begin
process(clk,rst,en)
variable cqi : std_logic_vector(3 downto 0);
begin
if rst='1' then cqi:=(others=>'0');
elsif clk'event and clk='1' then
if en='1' then
if cqi<9 then cqi:=cqi+1;
else cqi:=(others=>'0');
end if;
end if;
end if;
if cqi=9 then cout<='1';
else cout<='0';
end if;
cq<=cqi;
end process;
end;
你把这个程序里面的cqi计数器的值改一下就能满足你的所有需求。计算好他们之间的换算关系
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯