data2

clr result q

clk

图 5。1 频率预置与调节电路示意图

    下面是程序的关键部分功能的阐述:

    这个程序主要用了三个过程来实现,分别为P1,P2,P3;

 p1:process(clk,clear,en,result)

  begin

   if(clear='1')then

     q<="00000000";

   elsif(clk'event and clk='1')then

       if(en='1')then

         q<=result;

       end if;

   end if;

  end process p1;

    P1程序部分是用于确定系统是否已清零。如果系统已清零,就把计数器置零;如果系统没有处在清零状态,那么就在时钟信号上升沿时刻,把暂存值赋值给输出。

p2: process(q,data2)

variable result9,p:unsigned(8 downto 0);

variable data1: unsigned (7 downto 0);

begin

data1:=q;

result9:=’0’data1+data2;

p:=”011111111”;

if(result9<=9)then

   result<=result((7 downto 0);

else

   result<=”00000000”;

   flag<=not flag;

end if;

end process p2;

    P2程序部分,采取了添加一个中间变量比较的方式,把中间变量和中间结果比较,这样可以防止累加过程中结果产生溢出。如果得到的数值超出范围,那么就进行清零,并把零赋值到输出端。通过这种方式,我们能够完成频率控制。

p3:process(flag)

  variable i:integer;

  begin

   if(flag'event and flag=('1'or'0'))then

     for i in 0 to 15 loop

     end loop;   

   end if; 

   if (i=16)then

      q<="00000000";

   end if; 

  end process p3;

end leijia;

    在完成程序编写并能够编译运行后,打开QUARTUS中FILES栏的CREAT SYMBOL FILES FOR CURRENT FILE 命令得到一个封装好的模块(如图5。2所示),这样这个模块就可以在BLOCK原理图中使用。文献综述

图5。2频率预置与调节电路模块

5。3相位累加器的实现

    相位累加器的VHDL语言程序如下:

  process(datapha)

  variable result9:std_logic_vector(8 downto 0);

  constant b:std_logic_vector:="011111111";

  begin

   if(clear='1')then

   output<="00000000";

   elsif(clear='0')then

     result9:='0'&input+datapha;

      if(result9>b)then

       result9:=result9-b;

       output<=result9(7 downto 0);

       else output<=result9(7 downto 0);

      end if;

   end if;

 end process;

   process(clk)

    begin

    if(clk'event and clk='1')then

     p<=output;

    end if;

   end process;

end add;

    在相位累加器中,datapha为频率控制字;result1为中间暂存变量;b为引入的比较量;clear为清零端;clk为时钟端;output为最终输出结果。给清零端赋值为1时,那么系统处于清零状态,输出为0,给清零端赋值0,不断累加频率控制字,如果产生了溢出,就减去模值。不断循环,最终能够获得稳定的输出。

上一篇:ADS无接触人体生命体征检测雷达设计
下一篇:TMS320C6678的FFT算法的多核DSP实现研究

基于混沌的数字图像加密技术研究

VHDL巴克码群同步电路设计

VHDL+EDA波形发生器设计

直接序列扩频通信系统仿...

STM32基于WIFI通信的数字温湿度监测系统设计

STC89C51单片机多功能数字频率计的设计+电路图

数字音频流的FPGA的AES流编解码监测系统设计

老年2型糖尿病患者运动疗...

麦秸秆还田和沼液灌溉对...

ASP.net+sqlserver企业设备管理系统设计与开发

安康汉江网讯

LiMn1-xFexPO4正极材料合成及充放电性能研究

我国风险投资的发展现状问题及对策分析

互联网教育”变革路径研究进展【7972字】

新課改下小學语文洧效阅...

张洁小说《无字》中的女性意识

网络语言“XX体”研究