用VHDL实现分频
展开全部
模N计数器的实现
一般设计中用到计数器时,我们可以调用lpm库中的计数器模块,也可以采用VHDL语言自己设计一个模N计数器。本设计采用VHDL语言设计一个最大模值为16的计数器。输入端口为:使能信号en,复位信号clr和时钟信号clk;输出端口为:qa、qb、qc、qd。其VHDL语言描述略。
带使能控制的异或门的实现
输入端为:xor_en:异或使能,a和b:异或输入;输出端为:c:异或输出。当xor_en为高电平时,c输出a和b的异或值。当xor_en为低电平时,c输出信号b。其VHDL语言略。
2分频(触发器)的实现
输入端为:时钟信号clk,输入信号d;输出端为:q:输出信号a,q1:输出信号a反。其VHDL语言略。
4.分频器的实现
本设计采用层次化的设计方法,首先设计实现分频器电路中各组成电路元件,然后通过元件例化的方法,调用各元件,实现整个分频器。其VHDL语言略。
北京康思
2018-09-20 广告
2018-09-20 广告
1、基本功能。市面上的电子负载均有基本的四项功能:恒流、恒压、恒阻和恒功率(安捷伦没有恒功率)。在功能基本相同,精确度相差不大的情况下,怎么判断是否符合要求呢?CHROMA和博计的电子负载只有一套工作电路,就是恒流功能。其他功能是根据欧姆定...
点击进入详情页
本回答由北京康思提供
推荐于2017-11-26
展开全部
最近好多人问分频的问题啊。50MHz到1KHz,做一个25000的计数器,计数清零的时候让输出反向,这样就使频率除以50000.语句为:
process(cp)
begin
if cp'event and cp='1' then
if q="xxxxxxxxxxx“ --25000的二进制形式
q<="00000000" --确保q的位数相等
cp_out<=not cp_out; --cp_out就是输出。
else
q<=q+1;
end if
end if;
把上面的xxxxxxxx分别设为25000、25、4、10做成50000、50、8、20分频的分频器,50MHz50000分频为1KHz,1KHz25分频成20Hz,20Hz分别进行8、20分频成2.5Hz和1Hz。
抛砖引玉,具体程序你自己就可以写了。注意文件开头要写:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
否则可能要报错哦。
希望能采纳。
process(cp)
begin
if cp'event and cp='1' then
if q="xxxxxxxxxxx“ --25000的二进制形式
q<="00000000" --确保q的位数相等
cp_out<=not cp_out; --cp_out就是输出。
else
q<=q+1;
end if
end if;
把上面的xxxxxxxx分别设为25000、25、4、10做成50000、50、8、20分频的分频器,50MHz50000分频为1KHz,1KHz25分频成20Hz,20Hz分别进行8、20分频成2.5Hz和1Hz。
抛砖引玉,具体程序你自己就可以写了。注意文件开头要写:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
否则可能要报错哦。
希望能采纳。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询