Verilog刷题笔记45

题目:Given the finite state machine circuit as shown, assume that the D flip-flops are initially reset to zero before the machine begins.

Build this circuit.

解题:

bash 复制代码
module top_module (
    input clk,
    input x,
    output z
); 
    wire [2:0]size;
    dtouch state0(
        .Clk(clk),
        .d(x^size[0]),
        .q(size[0])
    );
    dtouch state1(
        .Clk(clk),
        .d(x&(~size[1])),
        .q(size[1])
    );
    dtouch state2(
    	    .Clk(clk),
        	.d(x|(~size[2])),
            .q(size[2])
    );
    assign z=~(size[0]|size[1]|size[2]);
        

endmodule
       
        module dtouch(
        	input Clk,
            input d,
            output q
        
        );
            always@(posedge Clk)begin
                q<=d;
            end
        endmodule

结果正确:

注意点:该题有三个门电路,三个触发器,考虑用例化的办法实现。

相关推荐
一米阳光86616 小时前
软考(中级)软件设计师核心笔记(3)数据库系统——概念、数据库设计
数据库·笔记·职场发展·软考·软件设计师
漏刻有时7 小时前
PHP GeoJSON转PNG地图渲染程序开发笔记、源码解读、问题复盘与整改方案
android·笔记·php
暗影凋落7 小时前
CMake构建学习笔记-SQLite库的构建
笔记·学习·sqlite
zzm6289 小时前
精读KDD 2017最佳论文:通过类比挖掘加速创新 | 阅读笔记
笔记
你有哈莫吗9 小时前
CMake构建学习笔记-iconv库的构建
笔记·学习
tt55555555555513 小时前
电工证学习笔记(二)
笔记·学习·电力
阿米亚波15 小时前
【C++ STL】std::unordered_multiset
开发语言·数据结构·c++·笔记·stl
AnsonNie15 小时前
Ubuntu系统安装裕太微YT6801网卡驱动【笔记】
笔记·ubuntu
xqqxqxxq16 小时前
DML 表数据:插入、删除、修改
笔记·mysql
不会代码的小猴17 小时前
Linux note2
linux·笔记