verilog HDL学习笔记(基本概念)

1. 作为一种硬件描述语言,verilog可以直接描述硬件结构,也可以通过描述系统行为实现建模,其主要特点和功能有:

*描述基本逻辑门和基本开关模型。

* 允许用户定义基元。

* 可以指定设计中的端口到端口的延时,路径时延和设计中的时序检查。

*可以采用多种方式进行建模,这些方式包括(1)顺序行为描述建模——使用过程化结构建模,(2)数据流行为方式——使用连续赋值语句方式建模,(3)结构化方式——使用门和模块实例语句描述建模。

* Verilog中有两类数据类型,线网数据类型和寄存器数据类型。线网数据类型表示构件间的连线,而寄存器类型表示抽象的数据存储元件。

* 能描述层次设计,可使用模块实例结构描述任何层次。

*不仅能在RTL上进行设计描述,而且能在体系结构级和算法级行为上进行描述。

*可以对并发行为和定时行为进行建模。

2. 模块

module是verilog HDL最基本的组成单元,模块的实际意义是代表硬件电路上的逻辑实体(实现特定逻辑功能的一组电路),其范围可以从门到很大的系统。模块的描述方式有行为建模和结构建模,模块之间并行运行。模块分层,各模块连接完成整个系统需要用一个顶层模块。

每个系统无论多么复杂,总能划分成多个小的功能模块,按下步骤:

(1)把系统划分层模块。

(2)规划各模块的接口。

(3)对模块编程并连接各模块完成系统设计。

Verilog HDL通过模块调用(模块实例化)来实现子模块与高层模块的连接。

模块实例化是通过结构建模的方法来完成的,verilog HDL中的子模块的调用确切的说是“嵌入”,这种引用会把子模块电路完全放在高层模块中。

3. verilog HDL驱分大小写。

4. 用parameter来声明参数。

5. 常用预处理指令:

‘define   ‘undef    ‘ifdef   ‘else   ‘endef   ‘include    ‘timescale

6. 线网数据类型:表示元件之间的物理连线,它不能存储数据,线网是被驱动的,可以用连续赋值语句或把元件的输出连接到线网等方式给线网提供驱动,给线网提供驱动的赋值和元件就是驱动源。Verilog HDL有11种线网类型。

7. 寄存器表示一个抽象的数据存储单元,可以通过赋值语句改变寄存器内存储的值,寄存器只能在always语句和initial中赋值,有5种寄存器类型值。

8. 数据流建模是一种简单的行为建模,它只有一种形式,用关键词“assign”引导的一条连续赋值语句,其赋值目标只能是线网,而且这种赋值行为没有任何附加的判断条件,常用来描述组合逻辑。

9. 顺序行为建模。

10. 结构建模方法

门级建模和开关级建模在verilog HDLk 都属于结构建模法,因为它们的建模都是对电路结构的具体描述。也即是把所需的基本电路单元(逻辑门,MOS,开关)调出来,再用连线把这些基本单元连接起来,这种描述简单严格,必须对底翅的门电路和MOS管功能及连接方式熟悉。

用于结构建模的门电路和MOS开关称为“基元”,verilog HDL内置了26个基元模型,基元的调用称为实例化,调用语句也称为实例语句,每次基元调用都将产生这个基元的一个实例,应该给该实例起一个名子,即实例名。

结构描述方法还有一个重要用途——调用子模块!!!

时间: 2024-10-09 03:55:56

verilog HDL学习笔记(基本概念)的相关文章

JavaScript高级程序设计学习笔记--基本概念

1.语句 ECMAScript中的语句以一个分号结尾:如果省略分号,则由解析器确定语句的结尾,如下例所示: var sum=a+b //即使没有分号也是有效的语句--推荐 var diff=a-b; //有效的语句--推荐 虽然语句结尾的分号不是必需的,但我们建议任何时候都不要省略它.两个原因:1.加上分号可以避免很多错误 2.加上分号也会在某些情况下增进代码的性能,因为这样解析器就不必再花时间 推测应该在哪里插入分号了. 2.变量 var message="hi"; 像这样初始化变量

Java IO学习笔记:概念与原理

Java IO学习笔记:概念与原理 一.概念 Java中对文件的操作是以流的方式进行的.流是Java内存中的一组有序数据序列.Java将数据从源(文件.内存.键盘.网络)读入到内存 中,形成了流,然后将这些流还可以写到另外的目的地(文件.内存.控制台.网络),之所以称为流,是因为这个数据序列在不同时刻所操作的是源的不同部分. 二.分类 流的分类,Java的流分类比较丰富,刚接触的人看了后会感觉很晕.流分类的方式很多: 1.按照输入的方向分,输入流和输出流,输入输出的参照对象是Java程序. 2.

ETL学习笔记之概念篇

导读:ETL,Extraction-Transformation-Loading的缩写,即数据抽取(Extract).转换(Transform).装载(Load)的过程,它是构建数据仓库的重要环节. 关键词:ETL 数据仓库 OLTP OLAP ETL,Extraction-Transformation-Loading的缩写,即数据抽取(Extract).转换(Transform).装载(Load)的过程,它是构建数据仓库的重要环节. ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库

WCF学习笔记 -- 基本概念

WCF是实现WebService的一种微软提出的技术,整合了.Remote, .NET及ASP.NET服务的一种框架.是Windows Communication Foundation的缩写.WebService就是分布式应用程序间实现互操作性的一种标准.它与语言和平台无关,你可以使用任务语言编写发布到任何平台.它在底层通过SOAP协议来传送数据. WebService必须包含的几个要素: Address – 地址,也就是在哪找到该服务.地址必须唯一. Binging – 绑定协议,即通过什么方

1、Websphere学习笔记之一概念篇

1.Websphere学习笔记之一概念篇 最近因为工作需要使用Websphere,下班后就适当学习下这中间件吧.今天就看下一些概念和Websphere本身的架构. l Websphere 概念摘自百度百科: WebSphere 是IBM 的软件平台.它包含了编写.运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台.跨产品解决方案所需要的整个中间件基础设施,如服务器.服务和工具.WebSphere 提供了可靠.灵活和健壮的软件. WebSphere ApplicationServer

《推荐系统》学习笔记 -- 基本概念

实战推荐(开发维护电子商务网站的推荐系统)几个月之后,感觉到达一个瓶颈. 从实战角度来讲,对于一个中型的电子商务网站(比如千万PV),独立构建一个推荐系统,完成基础的推荐功能,比如:ViewView(看过还看过).ViewWant(看过还加车).WantWant(加车还加车).CollectCollect(收藏还收藏)之类的基于协同过滤的推荐:Similar(猜您喜欢)之类的基于内容的推荐,从数据的收集.抽取.计算.分析,已经没有问题. 但是对推荐的理论性认识,推荐策略及其适用场景,推荐算法,推

《JavaScript高级程序设计》学习笔记 基本概念

系统学习JS, 从<JavaScript高级程序设计>入门,通过学习jQuery或者angularJS源码来进阶. 第1章 JavaScript简介 1.JS问世的目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作,由Netscape主导开发,那时候微软的IE还不能独领风骚.最初叫做LiveScript,当时媒体热炒Java,于是改名为JavaScript.JavaScript和ECMAScript通常指同一门语言,但是,JavaScript是ECMA-262标准的实现和扩展.E

Verilog HDL学习_1:分频器的实现

(一)参考学习资料 (二)实际操作 1. 相关变量计算:   First Initial Second Initial Upper case H X ASCII (Dec) 72 88 Lengths of the pulse     Mu Mu_1 2.5*105 Mu_2 2.5*105 k : mu ku_1 : mu_1 1.2812:3.7188 ku_2 : mu_2 1.3438:3.6562 nu nu_1 18 nu_2 18 Ku Ku_1 64060 Ku_2 67190

[软件架构设计学习笔记] - 软件架构概念

组成派的概念 计算组件及组件之间的交互 1.组件(程序模块.独立程序).连接件(过程调用.管道.消息   组件间的关系).约束(组件连接条件) 2.是一组具有特定形式的架构元素,这些元素分为三类:负责完成数据加工的处理元素.作为被加工信息的数据元素.用于把架构的不同部分组合在一起的连接元素 3.某个软件或计算机系统的软件架构是该系统的一个或多个结构,每个结构均由软件元素.这些元素的外部可见属性.这些元素之间的关系组成. 决策派的概念 一些重要方面做出的决策的组合 1.决策? 软件的组织,构成系统