用VHDL语言描述一个分频器,将1000HZ分频成1HZ,

用VHDL语句描述一个分频器。将1000HZ变成1HZ.最好是基于74LS90的。

第1个回答  2010-06-08
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity ffpin is
port (clk1k:in std_logic;
ft:out std_logic);
end ffpin;
architecture a of ffpin is
signal fm:std_logic;
begin
process(clk1k)
variable num:integer range 0 to 1000;
begin

if clk1k'event and clk1k='1' then
if num<500 then
num:=num+1;
else
num:=1;
fm<=not fm;
end if ;
end if;
ft<=fm;
end process;
end a;

这个程序输入为1kHz时,输出为1Hz本回答被提问者采纳
第2个回答  2010-06-21
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned;
entity share is
generic (n:integer:=1000);
port(clk:in std_logic;
cout:out std_logic);
end share;
architecture rtl of share is
signal counter:integer:=0;
begin
process(clk)
begin
if(clk'event and clk='1') then
if((n rem 2)=0)then
if(counter<n/2) then
cout<='0';
counter<=counter+1;
elsif(counter<n-1) then
cout<='1';
counter<=counter+1;
else
counter<=0;
end if;
elsif(counter<(n+1)/2)then
cout<='0';
counter<=counter+1;
elsif(counter<n) then
cout<='1';
counter<=counter+1;
else
counter<=0;
end if;
end if;
end process;
end rtl;

参考资料:你还可以改变程序中的n值实现任意进制的分频

用VHDL语言描述一个分频器,将1000HZ分频成1HZ,
这个程序输入为1kHz时,输出为1Hz

vhdl语言做分频器,1000000hz变成1hz的
就是把1MHz分频成1hz,两种方法,一种是用fpga自带的锁相环或者时钟管理器,直接设置输出成1hz就行了。另外一种方法就是用hdl实现,包括vhdl和verilog。分频算法如下:计数器开始计数,寄到500000,输出高电平或者低电平;再从500000计数到1000000,输出电平反向。如此反复即可输出1hz时钟信号。友情提醒:虽...

vhdl语言编写1mhz分频为1hz
port (clk:in std_logic;q:out std_logic);end div;architecture behave of div is signal count :integer range n-1 downto 0:=n-1;begin process(clk)begin if rising_edge(clk) then count<=count-1;if count>=n\/2 then q<='0';else q<='1';end if;if count<=0 then count<...

用VHDL语言描述一个分频器,将10MHZ分频成1KHZ,拜托高手帮忙!
begin if clk'event and clk='1' then if count=500000 then ---频率多大,你可以改这个 计算公式为 count<=0; f1=2*count*f2,f1为分频前的频率 clk_data<=not clk_data; f2为分频后的频率 else count<=count_1;end if;end if;clock<=clk_data;end process;end art;

VHDL 分频器 为什么要调用计数器呢??
首先:分频,就是将频率缩小;比如之前的频率是10Hz(时钟周期为0.1),那2分频后就是5Hz(时钟周期为0.2)好,那我问你,如果时钟频率是10Hz,1秒钟内有多少个时钟呢(就是clk cycle是怎样的呢);显然画出的波形就是1秒钟内有10个clock,那要怎么体现在代码里面呢?-->计数器 用计数器就是...

用VHDL编写一个分频器,实现输出1MHz-1Hz之间的任意频率
clk 输入一个相对较大的频率,频率要多少就用N_diviseur除!LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;ENTITY div IS GENERIC( n_diviseur : INTEGER := 2 );PORT ( clk : IN Std_Logic;clock : OUT Std_Logic);END ENTITY;ARCHITECTURE beha OF div IS BEGIN PROCESS (clk)VARIABLE ...

用VHDL编写N分频器
分频没必要一定用锁相环啊,普通分频就可以了啊,锁相环一般是用倍频的,我把代码给你,你研究一下,这个电路我前两天刚调试成功 --- -- This section contains clock manager.--- IBUFG_clock : IBUFG generic map (IBUF_DELAY_VALUE => "0", -- Specify the amount of added input delay ...

求用VHDL语言设计一个5MHZ到1Hz的分频器
signal count :integer range n-1 downto 0:=n-1;begin process(clk)begin if (clk'event and clk='1' and clk'last_value ='0') then count<=count-1;if count>=n\/2 then q<='0';else q<='1';end if;if count<=0 then count<=n-1;end if;end if;end process;end behave...

各位大神,请问用VHDL写一个频率计,clk为1Hz 怎么来的,这个信号从什么地 ...
1Hz就是每秒1周期,就是每秒有一个CLK的高低电平切换 至于怎么得到1HZ的频率,可以将一个50MHZ的CLK进行分频 即,创建一个PROCESS,用一个计数器对50M的CLK进行计数,等记到50M的时候,OUT进行电位切换,就得到1HZ的频率了。

【菜鸟求教:请用vhdl语言设计一个分频器。50分拜谢!!!】
SIGNAL clk1hz,clk1khz:STD_LOGIC;SIGNAL count : integer range 0 to 31999;BEGIN P1: PROCESS(clk32mhz)VARIABLE clk_temp : STD_LOGIC;BEGIN IF (clk32mhz'event AND clk32mhz='1') THEN IF(count=31999) THEN count <= 0;ELSE count <= count +1;END IF ;END IF ;IF (...

相似回答