1、概述

  格雷码执行加1操作最多只会变1位,可用在多位地址指针中消除毛刺。

2、verilog代码

 `timescale 1ns / 1ps

 module gray_adder
#(parameter length = )
(
input clk,
input rstn,
input inc,
output [length-:] Gray
); reg [length-:] Gray_reg;
reg [length-:] Gray_next_reg; reg [length-:] Bin_reg;
reg [length-:] Bin_next_reg; integer i; always @(posedge clk or negedge rstn) begin
if(!rstn) begin
Gray_reg <= ;
end
else begin
Gray_reg <= Gray_next_reg;
end
end always @(*) begin
Bin_reg[length-] = Gray_reg[length-]; // 格雷码转二进制码
for(i=length-;i>=;i=i-)
Bin_reg[i] = Bin_reg[i+]^Gray_reg[i];
Bin_next_reg = Bin_reg + inc; // 二进制码加1
Gray_next_reg = (Bin_next_reg>>)^Bin_next_reg; // 二进制码转回格雷码
end assign Gray = Gray_reg; endmodule

3、仿真波形

最新文章

  1. Visual C++ 的代码折叠
  2. cocos2d-x WebSocket
  3. 【我所理解的Cocos2d-x】第六章 精灵Sprite 读书笔记
  4. 最长回文子串Manacher算法模板
  5. IDA 使用技巧
  6. 监听某个div或其它标签的大小改变来执行相应的处理
  7. nginx+php-fpm 的配置下,php的错误日志
  8. 201521123064 《Java程序设计》第13周学习总结
  9. CodeForces 553E Kyoya and Train 动态规划 多项式 FFT 分治
  10. python模块部分----模块、包、常用模块
  11. siimpleHttpServer 快速建立一个文件服务器
  12. C# 反编译项目修复
  13. react 学习笔记 npm 命令
  14. shiro实战系列(十三)之单元测试
  15. 深度 | 机器学习敲门砖:任何人都能看懂的TensorFlow介绍【转】
  16. Python学习札记(三十四) 面向对象编程 Object Oriented Program 5
  17. linux 命令行基础
  18. 深入探索C++对象模型(一)
  19. Azure继续降价云 价格战就此终结?
  20. Java SE之break和continue标签

热门文章

  1. Nginx之常用基本配置
  2. python笔记23(面向对象课程五)
  3. Spring Boot 2从入门到放弃(持续更新)
  4. js函数与作用域,了解函数基本概念
  5. 使用 Apache James 3.3.0(开源免费) 搭建内网电子邮件服务器(基于 Windows + Amazon Corretto 8)
  6. SAP 对HU做转库操作,系统报错 - 系统状态HUAS是活动的 - 分析
  7. 洛谷P1331-搜索基础-什么是矩形?(我的方案)
  8. 解决jmeter5.1高版本linux CPU,IO,Memory监控性能测试 java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/t
  9. SpringBoot项目自定义浏览器选项卡左上角图标(favicon.ico)-sunziren
  10. 数组工具Array的基本使用