HDLBits自学笔记1:Getting Started + Verilog language.Basic

Getting Started

输出1

module top_module(
    output one
);
    assign one = 1'b1;
endmodule

Output Zero

输出0

module top_module(
    output zero
);
	assign zero = 1'b0;
endmodule

Simple wire

建立一个模块将out和in连线

module top_module( input in, output out );
	assign out = in;
endmodule

Four wires

建立一个三输入四输出模块,其连线如下:

a -> w
b -> x
b -> y
c -> z

module top_module( 
    input a,b,c,
    output w,x,y,z
);
    assign {w,x,y,z} = {a,b,b,c};
endmodule

Inverter

建立一个模块实现非门

module top_module( 
    input  in,
    output out
);
	assign out = ~in;
endmodule

AND gate

建立一个模块实现与门

module top_module( 
    input a, 
    input b, 
    output out );
	assign out = a & b;
endmodule

NOR gate

建立一个模块实现或非门

module top_module( 
    input a, 
    input b, 
    output out
);
    assign out = ~(a | b);
endmodule

XNOR gate

建立一个模块实现同或门

module top_module( 
    input a, 
    input b, 
    output out 
);
	assign out = a ~^ b;
endmodule

Declaring wires

实现如下电路:

在这里插入图片描述

module top_module(
    input a,
    input b,
    input c,
    input d,
    output out,
    output out_n
); 
    wire w1 = a & b;
    wire w2 = c & d;
    assign out = w1 | w2;
    assign out_n = ~out;
endmodule

7458 chip

实现7458芯片:

在这里插入图片描述

module top_module ( 
    input  p1a, p1b, p1c, p1d, p1e, p1f,
    output p1y,
    input  p2a, p2b, p2c, p2d,
    output p2y 
);
    assign p1y = (p1a & p1b & p1c) | (p1d & p1e & p1f);
    assign p2y = (p2a & p2b) | (p2c & p2d);
endmodule
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值