举个简单电路的例子:
module adder(
a,
b,
c
);
input a; //输入埠 叙述
input b; //输入埠 叙述
output c; //输出埠 叙述
wire c; //资料型态 叙述
assign c = a & b;//内部电路 叙述
endmodule
上方为一个 AND 逻辑闸,由此可知,一个完整的模组是由 module
以及 endmodule
包起来的,而 adder 那个位置就要放的则是模组名称
,而後面的括号内则是放所有的输入及输出脚位
,接着里面的最上方会宣告每只脚位是输出还是输入,再来是宣告变数的资料型态。
在这里,只要是输入,一律都是 input
,输出的话,如果没有特别宣告则默认 wire
。
input
Output
InOut(双向埠)
举个例子,在实现 I2C protocol 时就会用到这个好用的东西了,为甚麽这麽说呢?先来看看下面这张图
I2C 的运作机制是这样的,I2C 仅使用两个 BUS,串列资料线(SDA)和串列时钟线(SCL),因此当 master 送资料给 slave 时此时 master 的 SDA 要设成 out 状态,而 slave 的 SDA 要设成 in 的状态,相反过来,当 slave 送资料给 master 时此时 slave 的 SDA 要设成 out 状态,而 master 的 SDA 要设成 in 的状态,所以会需要可输入又可输出的 inout 资料型态。
<<: [Day-02] - Annotation Modulize Introduction
当我们训练模型需要部署在硬体较为受限的智慧型装置、IOT设备,模型运算在吃紧的硬体资源中显得笨重,...
1968年 在1968年,犹他大学的Ivan Sutherland和他的学生Bob Sproull创...
买啦,哪次不买好买满,都到这最後一步了,能通过稽核就是最终目标! 适用人员: 技术人员 适用法规: ...
完赛心得 虽然我自己熟悉的软件是 PhotoShop,但接触了 GIMP 这套自由软件後,觉得也还满...
本文将於赛後同步刊登於笔者部落格 有兴趣学习更多 Kubernetes/DevOps/Linux 相...