「Verilog学习笔记」格雷码计数器

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

复制代码
`timescale 1ns/1ns

module gray_counter(
   input   clk,
   input   rst_n,

   output  reg [3:0] gray_out
);
    reg [3:0] binary_cnt ; 
    reg flag ; 

    always @ (posedge clk or negedge rst_n) begin 
        if (~rst_n) flag <= 0 ; 
        else flag <= ~flag ;
    end

    always @ (posedge clk or negedge rst_n) begin 
        if (~rst_n) binary_cnt <= 0 ; 
        else binary_cnt <= flag ? binary_cnt + 1 : binary_cnt ; 
    end

    always @ (*) begin 
        gray_out = binary_cnt ^ (binary_cnt >> 1) ; 
    end  

endmodule
相关推荐
辞旧 lekkk2 分钟前
【c++】c++11(上)
开发语言·c++·学习·萌新
走在路上的菜鸟24 分钟前
Android学Dart学习笔记第二十一节 类-点的简写
android·笔记·学习·flutter
黑客思维者25 分钟前
机器学习009:监督学习【回归算法】(岭回归)-- 给模型一个“清醒”的约束
学习·机器学习·回归·监督学习·岭回归
深蓝海拓28 分钟前
PySide6从0开始学习的笔记(十一) QSS 属性选择器
笔记·python·qt·学习·pyqt
中屹指纹浏览器32 分钟前
2025技术解析:分布式指纹协同管理技术底层实现与规模化运营逻辑
经验分享·笔记
风123456789~41 分钟前
【健康管理】第8章 身体活动基本知识 2/2
笔记·考证·健康管理
代码游侠1 小时前
学习笔记——Linux进程间通信(IPC)
linux·运维·笔记·学习·算法
xyx-3v1 小时前
RK3506G移植APM飞控的可行性
单片机·学习
IMPYLH1 小时前
Lua 的 Math(数学) 模块
开发语言·笔记·lua
才鲸嵌入式1 小时前
香山CPU(国产开源)的 SoC SDK底层程序编写,以及其它开源SoC芯片介绍
c语言·单片机·嵌入式·arm·cpu·verilog·fpga