HDLBits个人刷题详解合集18-Verification:Reading Simulations-Build a circuit from a simulation wave-HDBits题目分析

Sim/circuit1

这是一个组合电路。读取仿真波形以确定电路的作用,然后实现它。

代码如下:

module top_module (

    input a,

    input b,

    output q );//


    assign q = a & b; // Fix me


endmodule

Sim/circuit2

这是一个组合电路。读取仿真波形以确定电路的作用,然后实现它。

代码如下:

module top_module (

    input a,

    input b,

    input c,

    input d,

    output q );//


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


endmodule

Sim/circuit3

这是一个组合电路。读取仿真波形以确定电路的作用,然后实现它。

代码如下:

module top_module (

    input a,

    input b,

    input c,

    input d,

    output q );//


    assign q = b&d | b&c | a&d | a&c; // Fix me列真值表,画卡诺图


endmodule

Sim/circuit4

这是一个组合电路。读取仿真波形以确定电路的作用,然后实现它。

代码如下:

module top_module (

    input a,

    input b,

    input c,

    input d,

    output q );//


    assign q = b | c; // Fix me


endmodule

Sim/circuit5

这是一个组合电路。读取仿真波形以确定电路的作用,然后实现它。

代码如下:

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)

            0: q = b;

            1: q = e;

            2: q = a;

            3: q = d;

            default: q = 4'hf;

        endcase

    end

endmodule

Sim/circuit6

这是一个组合电路。读取仿真波形以确定电路的作用,然后实现它。

代码如下:

module top_module (

    input [2:0] a,

    output [15:0] q );


    always@(*)begin

        case(a)

            0: q = 16'h1232;

            1: q = 16'haee0;

            2: q = 16'h27d4;

            3: q = 16'h5a0e;

            4: q = 16'h2066;

            5: q = 16'h64ce;

            6: q = 16'hc526;

            7: q = 16'h2f19;

        endcase

    end

endmodule

Sim/circuit7

这是一个组合电路。读取仿真波形以确定电路的作用,然后实现它。

代码如下:

module top_module (

    input clk,

    input a,

    output q );

    always@(posedge clk)

        q <= ~a;

endmodule

Sim/circuit8

这是一个组合电路。读取仿真波形以确定电路的作用,然后实现它。

代码如下:

module top_module (

    input clock,

    input a,

    output p,

    output q );


    always@(negedge clock)

        q <= p;

    

    always@(*)

        if(clock)

            p = a;

     else

         p = p;

endmodule

Sim/circuit9

这是一个组合电路。读取仿真波形以确定电路的作用,然后实现它。

代码如下:

module top_module (

    input clk,

    input a,

    output [3:0] q );

//a相当于复位信号,置为4,;计数器计到6

    always@(posedge clk)

        if(a)

            q <= 4'd4;

     else if(q == 4'd6)

         q <= 4'd0;

     else

         q <= q + 1'd1;

endmodule

Sim/circuit10

这是一个时序电路。该电路由组合逻辑和一位存储器(即一个触发器)组成。触发器的输出已通过输出状态进行观察。

读取仿真波形以确定电路的作用,然后实现它。

代码如下:

module top_module (

    input clk,

    input a,

    input b,

    output q,

    output state  );


    always@(posedge clk)begin

        state <= a & b | state & a | state & b;

    end

    assign q = ~state & ~a & b |

        ~state & a & ~b |

        state & ~a & ~b |

        state & a & b;

endmodule

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值