「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
相关推荐
我的xiaodoujiao18 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 40--完善优化 Allure 测试报告显示内容
python·学习·测试工具·pytest
Quintus五等升18 分钟前
深度学习②|实现人数回归预测
人工智能·深度学习·学习·机器学习·回归
妄汐霜42 分钟前
小白学习笔记(MySQL基础中其他知识)
笔记·学习·mysql
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 41--自定义定制化展示 Allure 测试报告内容
python·学习·测试工具·pytest
码农客栈1 小时前
小程序学习(十一)之uni-app和原生小程序开发区别
学习·小程序·uni-app
一个响当当的名号1 小时前
lectrue1 关系模型和代数
笔记
淦。。。。1 小时前
题解:P14013 [POCamp 2023] 送钱 / The Generous Traveler
开发语言·c++·经验分享·学习·其他·娱乐·新浪微博
GLDbalala1 小时前
GPU PRO 4 - 5.1 An Aspect-Based Engine Architecture 笔记
笔记
小裕哥略帅1 小时前
PMP学习笔记--过程
笔记·学习
好奇龙猫1 小时前
【人工智能学习-AI入试相关题目练习-第六次】
人工智能·学习