Verilog学习笔记 HDLBits——Build a circuit from a simulation waveform

该博客通过一系列组合和顺序电路的实例,介绍了如何根据仿真波形分析电路功能并用Verilog进行实现。涵盖了基本逻辑门、多变量逻辑函数以及简单的时序逻辑设计。每个电路都有对应的解决方案和时序图,帮助读者加深对数字电路设计的理解。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

一、Build a circuit from a simulation waveform

1.Combinational circuit 1

Practice:This is a combinational circuit. Read the simulation waveforms to determine what the circuit does, then implement it.
翻译:
这是一个组合电路。读取仿真波形来确定电路的功能,然后实现它。
在这里插入图片描述

Solution(不唯一,仅供参考):

module top_module (
    input a,
    input b,
    output q );//

    assign q = a & b; // Fix me

endmodule

Timing Diagram
在这里插入图片描述

2.Combinational circuit 2

Practice
This is a combinational circuit. Read the simulation waveforms to determine what the circuit does, then implement it.

翻译:这是一个组合电路。读取仿真波形来确定电路的功能,然后实现它。
在这里插入图片描述

Solution(不唯一,仅供参考):

module top_module (
    input a,
    input b,
    input c,
    input d,
    output q );//

    assign q = ~(a^b^c^d); // Fix me

endmodule

Timing Diagram
在这里插入图片描述

3.Combinational circuit 3

Practice
This is a combinational circuit. Read the simulation waveforms to determine what the circuit does, then implement it.

翻译
这是一个组合电路。读取仿真波形来确定电路的功能,然后实现它。
在这里插入图片描述

Solution(不唯一,仅供参考):

module top_module (
    input a,
    input b,
    input c,
    input d,
    output q );//

    assign q = (a|b)&(d|c); // Fix me

endmodule

Timing Diagram
在这里插入图片描述

4.Combinational circuit 4

Practice:This is a combinational circuit. Read the simulation waveforms to determine what the circuit does, then implement it.
翻译:这是一个组合电路。读取仿真波形来确定电路的功能,然后实现它。
在这里插入图片描述

Solution(不唯一,仅供参考):

module top_module (
    input a,
    input b,
    input c,
    input d,
    output q );//

    assign q = b|c; // Fix me

endmodule

Timing Diagram
在这里插入图片描述

5.Combinational circuit 5

Practice:This is a combinational circuit. Read the simulation waveforms to determine what the circuit does, then implement it.
翻译:这是一个组合电路。读取仿真波形来确定电路的功能,然后实现它。
在这里插入图片描述

Solution(不唯一,仅供参考):

module top_module (
    input [3:0] a,
    input [3:0] b,
    input [3:0] c,
    input [3:0] d,
    input [3:0] e,
    output [3:0] q );
    always @(*)begin
        case(c) 
            4'b0000: q=b;
            4'b0001: q=e;
            4'b0010: q=a;
            4'b0011: q=d;
            default: q=4'hf;
        endcase
    end
endmodule

Timing Diagram
在这里插入图片描述

6.Combinational circuit 6

Practice
This is a combinational circuit. Read the simulation waveforms to determine what the circuit does, then implement it.

翻译
这是一个组合电路。读取仿真波形来确定电路的功能,然后实现它。
在这里插入图片描述

Solution(不唯一,仅供参考):

module top_module (
    input [2:0] a,
    output [15:0] q ); 
    always @(*)begin
        case(a)
            3'd0: q=16'h1232;
            3'd1: q=16'haee0;
            3'd2: q=16'h27d4;
            3'd3: q=16'h5a0e;
            3'd4: q=16'h2066;
            3'd5: q=16'h64ce;
            3'd6: q=16'hc526;
            3'd7: q=16'h2f19;
            default:;
        endcase
    end
endmodule

Timing Diagram
在这里插入图片描述

7.Sequential circuit 7

Practice
This is a sequential circuit. Read the simulation waveforms to determine what the circuit does, then implement it.

翻译
这是一个顺序电路。读取仿真波形来确定电路的功能,然后实现它。
在这里插入图片描述

Solution(不唯一,仅供参考):

module top_module (
    input clk,
    input a,
    output reg q );
    always @(posedge clk)begin
        q<=!a;       
    end
endmodule

Timing Diagram
在这里插入图片描述

8.Sequential circuit 8

Practice
This is a sequential circuit. Read the simulation waveforms to determine what the circuit does, then implement it.

翻译
这是一个顺序电路。读取仿真波形来确定电路的功能,然后实现它。
在这里插入图片描述

Solution(不唯一,仅供参考):

module top_module (
    input clock,
    input a,
    output reg p,
    output reg q );
    
    always @(*)begin
        if(clock)
            p<=a;
        else 
            p<=p;
    end
    
    always @(negedge clock)begin
        	q<=p;
    end
endmodule

Timing Diagram
在这里插入图片描述

9.Sequential circuit 9

Practice
This is a sequential circuit. Read the simulation waveforms to determine what the circuit does, then implement it.
Read the simulation waveforms to determine what the circuit does, then implement it.

翻译
这是一个顺序电路。读取仿真波形来确定电路的功能,然后实现它。
读取仿真波形来确定电路的功能,然后实现它。
在这里插入图片描述

Solution(不唯一,仅供参考):

module top_module (
    input clk,
    input a,
    input b,
    output q,
    output state  );
    
    assign q=a^b^state;
    
    always @(posedge clk)begin
        if(a==b)
            state<=a;
        else
            state<=state;
    end
endmodule

Timing Diagram
在这里插入图片描述

继续加油!!!!!
继续加油!!!!!
继续加油!!!!!
继续加油!!!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值