步长可变加减计数器设计VHDL代码Quartus仿真

名称:步长可变加减计数器设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

步长可变加减计数器

加减步长可变,模为100,即比如步长为3,加到99后不清零 而是2;步长为3,减到0后不清零 而是97

用vhdl代码


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 仿真图







部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
   USE ieee.std_logic_unsigned.all;
--计数器
ENTITY counter IS
   PORT (
      clk        : IN STD_LOGIC;--时钟
      rst_n      : IN STD_LOGIC;--复位,低电平复位
      add_sub    : IN STD_LOGIC;--加减控制,高电平加,低电平减
      step       : IN STD_LOGIC_VECTOR(6 DOWNTO 0);--计数步进
      count_out  : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)--计数器输出
   );
END counter;
ARCHITECTURE RTL OF counter IS
   
   SIGNAL count : STD_LOGIC_VECTOR(6 DOWNTO 0);--定义信号
BEGIN
   PROCESS (clk, rst_n)
   BEGIN
      IF ((NOT(rst_n)) = '1') THEN--复位,低电平复位
         count <= "0000000";
      ELSIF (clk'EVENT AND clk = '1') THEN
         IF (add_sub = '1') THEN--加减控制,高电平加
            IF ((count  + step ) > 99 ) THEN--判断相加后大于99
               count <= (count + step) - "1100100";--输出为相加后减去100
            ELSE
               count <= count + step;--相加不大于99可以正常相加
            END IF;
         ELSE--低电平减
            IF (count < step) THEN--判断count < step
               count <= (count + "1100100") - step;--输出将计数器加上100后再减去step
            ELSE
               count <= count - step;--count大于等于step可以直接相减
            END IF;

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 步长可变加减计数器设计VHDL代码Quartus仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员