草庐IT

格雷格

全部标签

c++ - 格雷码加法

是否有任何已知的方法来计算两个格雷码的加法(可能还有减法),而不必将两个格雷码转换为常规二进制,执行二进制加法然后将结果转换回格雷码?我设法编写了递增和递减函数,但加法和减法似乎记录得更少,更难编写。 最佳答案 在thisdocument#6下,有串行格雷码加法的算法(直接复制;注意,⊕是xor):procedureadd(n:integer;A,B:word;PA,PB:bit;varS:word;varPS:bit;varCE,CF:bit);vari:integer;E,F,T:bit;beginE:=PA;F:=PB;for

FPGA中有限状态机的状态编码采用格雷码还是独热码?

        有限状态机是由寄存器组和组合逻辑构成的硬件时序电路,其状态(即由寄存器组的1和0的组合状态所构成的有限个状态)只可能在同一时钟跳变沿的情况下才能从一个状态转向另一个状态,究竟转向哪一状态还是留在原状态不但取决于各个输入值,还取决于当前所在状态。这里是指Mealy型有限状态机。Moore型有限状态机的状态转移只取决于当前状态,与输入值无关。        在VerilogHDL中可以用许多种方法来描述有限状态机,最常用的方法是用always语句和case语句。下面的状态转移图表示了一个有限状态机:上面的状态转移图表示了一个四状态的有限状态机,它的同步时钟是Clock,输入信号是A