「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
相关推荐
senator参议员6 小时前
【软件使用】Calibre部分提参
学习
鲸落落丶6 小时前
webpack学习
前端·学习·webpack
zhangrelay6 小时前
操作系统全解析:Windows、macOS与Linux的深度对比与选择指南(AI)
linux·笔记·学习
程序边界7 小时前
AI时代如何高效学习Python:从零基础到项目实战de封神之路(2025升级版)
人工智能·python·学习
灰太狼大王灬7 小时前
Node.js 本地服务部署、常驻及调用完整笔记
笔记·node.js
聪明的笨猪猪7 小时前
Java SE “面向对象”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
聪明的笨猪猪7 小时前
Java 集合 “List + Set”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
charlie1145141917 小时前
精读C++20设计模式——行为型设计模式:命令模式
c++·学习·设计模式·程序设计·命令模式·c++20
岑梓铭8 小时前
《考研408数据结构》第三章(3.1 栈)复习笔记
数据结构·笔记·考研·408
丶Darling.9 小时前
26考研 | 王道 | 计算机组成原理 | 二、数据的表示和运算
笔记·学习·计算机组成原理