用vhdl实现递增斜波;递减斜波;三角波;递增阶梯波的函数发生器程序

用vhdl实现递增斜波;递减斜波;三角波;递增阶梯波的函数发生器程序
2009-07-02  匿名提问 发布
1个回答
时间
投票
  • 0

    dudeshengcai

    一、 设计任务与要求
    函数发生器能够产生递增斜波、递减斜波、方波、三角波、正弦波及阶梯波,可通过开关选择输出的波形。
    二、 总体框图
    CPLD模块部分由七个模块组成:ZENG(递增斜波模块)、JIAN(递减斜波模块)、DELTA(三角波模块)、LADDER(阶梯波模块)、SQUARE(方波模块)、SIN(正弦波模块)、SEL(波形选择模块)。
    三、 选择器件
    1. 主芯片:EPF10K10LC84-4
    2.  数模转换器(DAC558)
    3.  示波器
    4.  拨码开关
    5.  按键开关
    6. 配有MAXPLUSII的PC机
    7.  时钟源
    四、功能模块
    1、ZENG(递增斜波模块)
    功能描述:
    当CLK输入时钟信号时,该模块对应输出递增斜波。当RESET输入低电平时,模块复位。由Q【7..0】输出斜波信号。
    VHDL程序如下:
    LIBRARY IEEE;
    USE IEEE.STD_LOGIC_1164.ALL;
    USE IEEE.STD_LOGIC_UNSIGNED.ALL;
    ENTITY ZENG IS
     PORT(clk,reset:in std_logic;
         q:out std_logic_vector(7 downto 0));
    END ZENG;
    ARCHITECTURE AA OF ZENG IS
    BEGIN
     PROCESS(clk,reset)
     VARIABLE tmp:std_logic_vector(7 downto 0);
      BEGIN
        IF reset='0'THEN
           tmp:="00000000";
        ELSIF clk'event and clk='1'THEN
          IF tmp="11111111"THEN
              tmp:="00000000";
          ELSE
              tmp:=tmp+1;
          END IF;
         END IF;
        q<=tmp;
      END PROCESS;
    END AA;
    MAXPLUSII仿真
    波形输入:
    仿真结果:
    结果分析:
    当CLK输入为1时,对应输出波形。当RESET输入低电平时,输出波形复位。
    硬件验证:
    CLK接实验箱上的时钟源,RESET接按键开关。当SEL模块输入为000时对应输出为递增斜波。硬件验证正确。
    2、JIAN(递减斜波模块)
    功能描述:
    当CLK输入时钟信号时,该模块对应输出递减斜波。当RESET输入低电平时,模块复位。由Q【7.。0】输出斜波信号。
    VHDL程序如下:
    LIBRARY IEEE;

    2009-07-02 | 添加评论 | 打赏

    评论读取中....

精华知识
更多  
意见反馈 帮助