「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
相关推荐
lcomecon14 小时前
强化学习基石:Bellman 方程从直觉到推导(附手写笔记与 Python 示例)
笔记
Byron__18 小时前
AI学习_06_短期记忆与长期记忆
人工智能·python·学习
ysa05103019 小时前
【并查集】判环
c++·笔记·算法
试剂界的爱马仕19 小时前
Anti-mouse PD-1 mAb (Clone RMP1-14) 与 Axitinib 小鼠实验使用方案整理汇总
大数据·人工智能·深度学习·学习
Gp7HH6hrE20 小时前
OpenAI 与 Anthropic 开放公共学习平台
人工智能·学习·chatgpt
FakeOccupational21 小时前
【电路笔记 通信】IEEE 1588精密时间协议(PTP):时间戳格式+精确到ns的时间表示与处理
笔记
kaixin_learn_qt_ing21 小时前
2026.7.3---学习记录
学习
99乘法口诀万物皆可变1 天前
PcanToVectorXL_V01:打通 Vector 与 PCAN 的双向 CAN/CAN‑FD 桥梁
c++·学习
MartinYeung51 天前
[论文学习] CAMIA:下文感知成员推理攻击
人工智能·深度学习·学习
secondyoung1 天前
Cortex-R52学习:存储系统
arm开发·单片机·学习·arm