「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
相关推荐
米饭不加菜18 小时前
常用基本求导公式与法则(超详细推导版——上)
经验分享·笔记
艾莉丝努力练剑18 小时前
【QT:解决问题】Qt5Core.dll:无法定位程序输入点
java·开发语言·qt·学习·面试
青山是哪个青山1 天前
LangChain 学习笔记(四):Message 与提示词模板
笔记·学习·langchain
hsjiasb1 天前
FreeRTOS学习(二十六)——动态内存管理heap_1到heap_5
stm32·单片机·学习·学习笔记·freertos
崇子嵘1 天前
基于zynqMP15eg的linux驱动学习
学习
知识分享小能手1 天前
线性代数学习教程,从入门到精通,向量组的线性相关性 — 完整知识点梳理(7)
学习·线性代数·机器学习
Shell运维手记1 天前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
FakeOccupational1 天前
【电路笔记 STM32】Cortex-M7 内核上的数据缓存(D-Cache)结构+MPU+DMA&Cache+STM32CubeMX配置
笔记·stm32·缓存
动词ing1 天前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习
z落落1 天前
C# Modbus-ASCII 超详细完整笔记(协议原理+LRC算法+读写源码全拆解)
笔记