日常记录(8)Verilog和VIM

2021-12-14 15:24:38 浏览数 (1)

状态机区别

Moore状态机∶

在时钟脉冲的有限个门延时后,输出达到稳定。

输出会在一个完整的时钟周期内保持稳定值,即使在该时钟内输入信号变化了,输出信号也不会变化。

输入对输出的影响要到下一个时钟周期才能反映出来(输入影响状态间接影响输出)

把输入和输出分开,是moore状态机的重要特征。输出只和状态有关

Mealy状态机︰

由于输出直接受到输入影响,而输入可以在时钟周期的任意时刻变化,这就使的输出状态比moore状态的输出状态提前一个周期到达。

(和实际第三段写法有关)

输入信号的噪声可能会出现在输出信号上。输出和状态与输入有关

在同一个问题中,Moore状态机的状态个数可能会比Mealy状态个数多。

不完整的语句与锁存器

在组合逻辑电路中,不完整的if else和case会生成锁存器。

https://blog.csdn.net/qq_40696831/article/details/88855164。

不太理解的是,时序逻辑和组合逻辑生成的图怎么看。为什么在加了else,组合逻辑生成的图不变。

时序逻辑:

代码语言:javascript复制
 1 module latch_dff (q, d, en, clk);
 2 output reg q;
 3 input d, en, clk;
 4 
 5 always @(posedge clk) begin
 6     if(en)
 7         q<=d;
 8 
 9 end
10     
11 endmodule

组合逻辑:

代码语言:javascript复制
module latch_dff (q, d, en);
output reg q;
input d, en;

always @(d, en) 
    if(en)
        q<=d;
endmodule

VIM的使用

gf命令,跳转到指定的文件处

:bd命令,返回上一个文件处

Makefile

用“@”字符在命令行前,那么,这个命令将不被make显示出来

0 人点赞