【Day02】Verilog 基本简介

Verilog 电路基本架构

举个简单电路的例子:

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

    • 模组内只可接 wire
    • 模组外可接 wire、reg
  • Output

    • 模组内可接 wire、reg
    • 模组外只可接 wire
  • InOut(双向埠)

    • 模组内&外只可接 wire

那甚麽时候才会用到 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

>>:  【Day 02】变数型态

Day 20 : 模型优化 - 训练後量化 Post Training Quantization

当我们训练模型需要部署在硬体较为受限的智慧型装置、IOT设备,模型运算在吃紧的硬体资源中显得笨重,...

Day15 AR装置的编年史(上) 最早的AR其实在半个世纪前就有个雏型了!?

1968年 在1968年,犹他大学的Ivan Sutherland和他的学生Bob Sproull创...

盘点清查与检测扫描 - 资通安全健诊

买啦,哪次不买好买满,都到这最後一步了,能通过稽核就是最终目标! 适用人员: 技术人员 适用法规: ...

Day31 完赛心得

完赛心得 虽然我自己熟悉的软件是 PhotoShop,但接触了 GIMP 这套自由软件後,觉得也还满...

Day 5 - 透过 RKE 架设第一套 Rancher(下)

本文将於赛後同步刊登於笔者部落格 有兴趣学习更多 Kubernetes/DevOps/Linux 相...