|
|
| | -文章搜索 - 最新文章 - | |
第2586篇:格雷码计数器的设计思路VHDL实例 |
| 发布时间:2006年7月28日 点击次数:2634 |
| 来源: 作者: |
先将格雷码换算成二进制码,此二进制码中从LSB到MSB第一个为''0''的比特对应的格雷码位置即为所需位置,如果全''1''则MSB的位置为所需位置。 下面以循环格雷码为例,给出一个VHDL程序。 Library ieee; Use ieee.std_logic_1164.all; Entity Demo is Port( clock :in std_logic; q : out std_logic_vector(3 downto 0)); --vector的长度随用户而定,这里只是一个示例。 End Demo; Architecture myFavor of Demo is Function NxG(argv :std_logic_vector) return std_logic_vector is --此函数完成输入一个格雷码返回下一个数的格雷码 alias GV :std_logic_vector(1 to argv''length) is argv; variable BV,GC :std_logic_vector(1 to argv''length); Begin BV(1) := GV(1); for i in 2 to argv''length loop BV(i) := GV(i) xor BV(i - 1); end loop; GC := GV; for i in argv''length downto 1 loop if BV(i) = ''0'' or i = 1 then GC(i) := not GC(i); exit; end if; end loop; return GC; End NxG; Signal GC :std_logic_vector(3 downto 0); Begin Process(clock) begin if rising_edge(clock) then GC <= NxG(GC); end if; End process; q <= GC; End myFavor; |
|
|
|
|
[EDA/IC设计] 相关文章: 代码规范-状态机编码选择依据VHDL实例简介: 经常会看到在状态机设计中别人使用各种不同的编码方式,那么一般情况下,这种编码方式的选择依据是什么? 我们知道,在数字逻辑设计中最常用的有三种编码方式:二进制,格雷码 Gray,独热编码One-hot One hot 编码使用一组码元,每一个码元仅有1bit有效,例如 IDLE = 0001, &...... 8*8位的fifo数据缓冲器的vhdl源程序VHDL实例 半整数分频的VHDL程序VHDL实例 [转载]透视 FPGA 的安全性 [转载]FPGA器件在嵌入式系统中的配置方式的探讨 |
|
|
|