Verilog 基础回顾 (一)

Verilog 大小写敏感, 且所有关键字都是小写

1  寄存器

 register = storage,是数据存储单元的抽象,可视为能够存储数值的变量 (variable that can hold value)

关键字 reg;  缺省值 x;  

2  网络连接

net = connection, 表示寄存器之间的连接,只能采用连续赋值 (must be driven continuously)

关键字 wire;  缺省值 z;  

例 1)  D 触发器 (同步复位)

module  dff(clk, rst, d, q);  //dff with syn reset
  input  clk,  rst,  d;
  output  q;
  reg  q;

always @(posedge clk)
begin
  if (rst)
      q <= 1‘b0;
   else
      q <= d;
end

endmodule

例 2)  D 触发器 (异步复位)

module  dff(clk, rst, d, q); // dff with asyn reset
  input  clk,  rst,  d;
  output  q;
  reg  q;

always @(posedge clk or posedge rst)
begin
  if (rst)
      q <= 1‘b0;
  else
      q <= d;
end

endmodule 

3  连续赋值 continuous assignment

assign  data_left  =  data_right;  // right drive left(net)

例 3)  选择器 mux

assign  data_out  =  select ? data_in1 : data_in0;

4  procedural assignment

1)  阻塞赋值 ("=")

execute sequential

2)  非阻塞赋值 ("<=")

read (right)  -> schedule (left) ->  execute (<=)

例 4)  synchronizer

reg  [1:0]  data_sync;

always @ (posedge clk or posedge rst)
begin
  if (rst)
        data_sync  <=  2‘b00;
  else
        data_sync  <= {data_sync[0], data_in};
end

assign  data_out  =  data_sync[1];
时间: 2025-01-22 18:20:07

Verilog 基础回顾 (一)的相关文章

【DAY26】JAVA 基础回顾

基础回顾 ---------------- 1.跨平台 os JVM : sandbox 1995 2.基本数据类型 byte //1 -128 ~ 127 short //2 -32768 - 32767 int //4 long //8 float //4 doule //8 char //2 boolean //1 3.引用类型 [] class interface 4.运算符 && //短路 || //短路 & // | // ^ //抑或,相同0,不同为1 >>

Linux基础回顾(2)——Linux系统分区二三事

问题来自Linux教材,答案自我整理难免会有不足之处.这是我Linux期末的总结 1. 一块硬盘上可以有几种类型的分区?各自可以有多少个?(各个分区能安装操作系统吗?) 硬盘分区有三种类型的分区:主分区,扩展分区,逻辑分区:一个硬盘最多能划分4个主分区,或者3个主分区加上一个扩展分区,扩展分区上可以划分多个逻辑分区(最多20个).能安装操作系统. 2.用户能否在安装过程中创建扩展分区呢? 分区工具在文件系统类型中没有提供扩展(extended)分区类型,即用户不能根据需要不能手工创建扩展分区.安

PHP移动互联网开发笔记(6)——MySQL数据库基础回顾

最近看了一些架构方面的资料,但是发现基础知识都不怎么牢固,接下来的一段时间,我会定期总结基础知识. 一.数据类型 1.整型 数据类型 存储空间 说明 取值范围 TINYINT 1字节 非常小的整数 带符号值:-128~127 无符号值:0~255 SMALLINT 2字节 较小的整数 带符号值:-32768~32767 无符号值:0~65535 MEDIUMNT 3字节 中等大小的整数 带符号值:-8388608~8388607 无符号值:0~16777215 INT 4字节 标准整数 带符号值

[C#] C# 基础回顾 - 匿名方法

C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ≥ C# 3.0 的版本中,我们会用 Lambda 表达式进行取代匿名方法,并且用 Lambda 表达式作为编写内联代码的首选方式,因为它更简洁. 匿名方法是,顾名思义,匿名方法就是没有名称的方法.匿名方法最明显的好处就是:可以降低额外另写一个方法的工作量:另外一个好处就是可以直接访问调用者的变量,

四、Android学习第四天——JAVA基础回顾(转)

(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的第四天,在程序中已经遇到了JAVA中以前不常用的一些知识点,赶紧回顾复习一下,打下基础 这里就做个简单的小结: 一.匿名内部类 匿名内部类说白了就是个没有被命名的JAVA类 在以下条件下使用匿名内部类比较适合: ①只用到该类的一个实例时 ②类在定义后被马上用到 ③类非常小(SUN推荐是在4行代码以下

spring 基础回顾 tips01

spring 属性注入时,类中必须有setter 和 getter方法. spring配置文件中: java业务类中注入DAO: private StudentDao studentDao; // 通过属性注入 public StudentDao getStudentDao() { return studentDao; } public void setStudentDao(StudentDao studentDao) { this.studentDao = studentDao; } spri

spring 基础回顾 tips02

spring注入list .set. map. properties 1.list 在xml中这样写: <property name="list"> <list> <value>Michael Huang</value> <ref bean="student"></ref> <value>110</value> </list> </property>

1、java基础回顾与加强

一.    基础回顾 1   集合 1.1  集合的类型与各自的特性 ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList:    数组实现, 查找快, 增删慢 由于是数组实现, 在增和删的时候会牵扯到数组 增容, 以及拷贝元素. 所以慢.数组是可以直接按索引查找, 所以查找时较快 ---|LinkedList:   链表实现, 增删快, 查找慢由于链表实现, 增加时只要让前一个元素记住自己就可以, 删除时让前一个元素记住后一个元素, 后

基础回顾:get方法和set方法(类的继承多态)

基础回顾:get方法和set方法 定义类成员变量时,可以在@interface中定义,也可以在@implementation中定义: 在@interface中声明,成员变量的状态是受保护的,即“@protected”: 在@implementation中声明,成员变量的状态是私有的,即“@private” 在类的外面,是无法直接访问成员变量的,只有将成员变量修改为@public时,才可以外部访问. 使用@public时,访问成员变量使用“->”,如: time->hour=25; 但使用@pu