首页 >> 知识 >> hdlbits个人学习交流分享(带答案)

hdlbits个人学习交流分享(带答案)

hdlbits网站:HDLBits (01xz.net)

其他hdlbits博客:

【hdlbits】个人学习交流分享(带答案)——verilog language部分-CSDN博客

【hdlbits】个人学习交流分享(带答案)——combinational logic部分-CSDN博客

【hdlbits】个人学习交流分享(带答案)——sequential logic部分-CSDN博客

【hdlbits】个人学习交流分享(带答案)——Reading Simulations和Writing Testbenches部分-CSDN博客

有限状态机部分难度比较大,在这一部分我花了比其他另外四个部分都多的时间,几乎占了我刷整个hdlbits一半的时间,死了很多脑细胞,写的我头昏脑胀。一个是很多有些题目作者的表达并不好,项目要求描述的并不清楚,最准确的还是时序图,时序图是不会说谎的。另外一个就是这一部分对初学者难度确实更大,先要弄懂作者题目的需求,然后根据需求要做出正确的状态机设计和输出逻辑的设计,这部分代码长一些,状态机部分也是整个hdlbits的精华内容,所以这部分除了代码,我写的分析的内容也会多一些。

正文:

finite state machines simple FSM1(asynchronous reset)

Moore状态机,一个输入in,一个输出out,两个状态A和B,异步复位areset

module top_module( input clk, input areset, // Asynchronous reset to state B input in, output out);//三段式状态机 parameter A=0, B=1; reg state, next_state; always @(*) begin //组合逻辑块:状态转换的逻辑判断 case(state) A:next_state=in?A:B; B:next_state=in?B:A; default:next_state=B;//防止进入未设定状态产生latch锁死,设定default后可以自启动 endcase end always @(posedge clk, posedge areset) begin // 时序逻辑块:执行状态变换 if(areset) state
网站地图