TAG
- F P G A 、 V e r i l o g 、有限状态机 FPGA、Verilog、有限状态机 FPGA、Verilog、有限状态机
-
Moore
莫尔型:输出只依赖于状态而不依赖于其输入信号 -
Mealy
米里型:输出不仅依赖状态而且依赖于它的输入 -
//
-
竞争冒险
-
//
-
二进制码
-
BCD码(Binary-Coded Decimal): 用4位二进制表示一个十进制数,直观但浪费空间。
-
格雷码(Gray Code): 相邻数仅有一个位不同,用于减少数字转换时的误差。
-
独热码(One-Hot Code): N位二进制中只有一个位为1,用于表示N个状态,具备容错性。
-
//
-
序列 10010 检测器
// Moore
module Check_10010_Moore(
input CLK,CLR_,in,
output reg out
);
parameter s0 = 4'b 0000;
parameter s1 = 4'b 0001;
parameter s2 = 4'b 0010;
parameter s3 = 4'b 0011;
parameter s4 = 4'b 0100;
parameter s5 = 4'b 0101;
reg [3:0] now,next;
// now
always @(posedge CLK or negedge CLR_) begin
if (!CLR_) now = s0;
else now = next;
end
// next
always @(now or in or CLR_) begin
if (!CLR_) next = s0;
else begin
case (now) // next 只取决于输入 in,常量 s 仅表示当前处在的阶段/状态
s0: next = in==1 ? s1 : s0 ; // 0 -> 1 : 0
s1: next = in==0 ? s2 : s1 ; // 1 -> 10 : 1
s2: next = in==0 ? s3 : s1