格雷码是一种循环二进制编码,特点是相邻数变化时只有一位数据跳变。
- 4位二进制和格雷码对应如下:
1、二进制到格雷码转换
- Verilog实现
1module bin_to_gray
2#(
3 parameter WIDTH = 4
4)
5(
6 input [WIDTH-1:0] in,
7 output [WIDTH-1:0] out
8);
9
10assign out = in ^ (in >> 1);
11
12endmodule
- 仿真波形:
2、格雷码转二进制
- Verilog实现:
1module gray_to_bin
2#(
3 parameter WIDTH = 4
4)
5(
6 input [WIDTH-1:0] in,
7 output [WIDTH-1:0] out
8);
9
10// assign out[0] = ^in[3:0];
11// assign out[1] = ^in[3:1];
12// assign out[2] = ^in[3:2];
13// assign out[3] = in[3];
14
15genvar i;
16generate
17 assign out[WIDTH-1] = in[WIDTH-1];
18 for(i=0; i1; i=i+1) begin
19 assign out[i] = ^in[WIDTH-1:i];
20 end
21endgenerate
- 仿真波形:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
二进制
+关注
关注
2文章
795浏览量
41643 -
仿真
+关注
关注
50文章
4070浏览量
133552 -
Verilog
+关注
关注
28文章
1351浏览量
110074 -
格雷码
+关注
关注
2文章
34浏览量
13185 -
二进制编码
+关注
关注
0文章
8浏览量
3049
发布评论请先 登录
相关推荐
二进制格雷码与自然二进制码的互换分析
其中采用循环二进制编码的绝对式编码器,其输出信号是一种数字排序,不是权重码,每一位没有确定的大小,不能直接进行比较大小和算术运算,也不能直接转换成其他信号,要经过一次码变换,变成自然二进制码
二进制到格雷码转换的Verilog HDL源代码
电子发烧友网核心提示: 本例程是Verilog HDL源代码:关于基本组合逻辑功能中二进制到格雷码转换的功能实现源代码。注意:程序运行在不同
发表于 10-15 11:52
•3731次阅读
评论