题目
用你熟悉的设计方式设计一个可预置初值的7进制循环计数器
核心思路
实现预置计数器,当为7进制时,直接修改数据位宽为3bit即可。
答案
`timescale 1ns / 1ps
module counter77(
clk,
rst_n,
set,
data,
out
);
input clk;
input rst_n;
input set;
input [2:0]data;
output reg[2:0]out;
reg [2:0]cnt;
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)begin
cnt<=0;
end
else if(set)
cnt<=data;
else
cnt<=cnt+1'b1;
end
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
out<=0;
else