「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
相关推荐
bolink57 小时前
大模型学习
学习
xw-busy-code7 小时前
npm私服搭建学习笔记
笔记·学习·npm·npm 私服
丝斯20117 小时前
AI学习笔记整理(77)——Python学习6
笔记·学习
正经人_x7 小时前
学习日记35:Rep3d
学习
九成宫7 小时前
IT项目管理期末复习——Chapter 4 项目综合管理
笔记·项目管理·软件工程
抠脚学代码7 小时前
Linux开发--> UBoot学习
linux·学习·uboot
zero15977 小时前
Python 8天极速入门笔记(大模型工程师专用):第二篇-Python基础入门(变量、数据类型、print输出)
开发语言·笔记·python
客梦7 小时前
数据库基础
数据库·笔记
FPGA小迷弟7 小时前
FPGA工程师面试题汇总(九)
网络协议·tcp/ip·fpga开发·面试·verilog·fpga
人还是要有梦想的7 小时前
QT的基本学习路线
开发语言·qt·学习