当前课程知识点:现代电子系统设计 > 第八章 FPGA与数字系统设计 > 8.9 Verilog硬件设计语言 > 8.9.1 Verilog简介
下面讲第八章第九节
Verilog硬件描述语言
这一节又分为八个小节
首先看第一小节
Verilog简介
Verilog我们已经知道
它是一个硬件描述语言
那么什么是硬件描述语言呢
就是它是一种来描述
硬件电路的行为和结构的
一种语言
那么Verilog语言
已经成为了IEEE的一个标准
硬件描述语言除了Verilog
还有一种就是VHDL
那么下面我们对这两种语言
进行一个对照
Verilog是1985年由
Gateway Design Automation公司
设计的
那么之后1989年Cadence公司
收购了这个公司
所以拥有了Verilog
在1995年的时候
它成为了IEEE的一个标准
它最开始是为门级仿真
设计的一种翻译语言
它对大型的设计没有特别的扩展
所以不是特别适合大型的设计
但是它有一个特点
就是跟C语言特别相似
VHDL语言
它是在1981年的时候
由美国军方主导设计的
在1987年的时候
它成为了一个IEEE的标准
它最开始是为ASIC综合而设计的
它具有强大的封装管理
和对大型设计的支持的功能
这是这两种语言不同的地方
由于Verilog与C语言特别像
所以容易学
容易入门
另外由于在我们实验中
设计都是一些中等规模
到小规模的设计
所以我们选择了Verilog语言
当学习完了Verilog语言以后
要转换到VHDL
也是非常容易的
下面看Verilog的可综合子集
Verilog它的语言分为
可综合的子集和不可综合的子集
什么叫可综合的子集呢
就是说用这些子集写出来的设计文件
可以比较容易地翻译成
对应的硬件
那这些硬件包括组合逻辑
时序逻辑和控制逻辑
以及状态机等等
那么不可综合的呢
就包括比如说一些精确的
时序的模块
例如延迟两纳秒
这种就不太能够综合成电路
还有就是大容量的存储器
这些存储器也可以综合
但是它的效率比较低
所以一般也不用于综合
那么不可综合的部分有什么用呢
不可综合的部分可以用来进行仿真
和验证设计
也就是可以用来写
这个仿真的测试文件
所以Verilog它包括一个
可综合的子集
这个可以用来设计FPGA的硬件
然后不可综合的部分
可以用来仿真电路的行为
然后可以用来写这个测试集
接下来看建模的方式
所谓建模
就是对电路进行描述的一种方式
建模可以分为几个层次
可以由低到高
分为四个层次
第一个层次是最高的层次
最高的层次也叫行为
或者算法级的这个建模方式
那么这种方式
它是最常用的一种描述方式
它主要是描述
这个电路的功能和算法
而不去设计电路的硬件细节
所以它有点像C语言的
一种设计方式
这种设计方式也是常用的
和比较有用的
一种设计方式
第二种设计方式
是数据流的设计方式
那这种方式下
它实际上是对数据的处理流程
进行描述
也就是描述电路如何把输入信号
通过电路然后传递到输出信号的
那这时候实际上描述的
就是输入和输出之间的一个逻辑关系
那这种描述方式
也是比较有用
和常用的一种描述方式
第三种方式
就是门级的描述方式
它描述的特点
就是要定义具体的电路结构
另外定义逻辑门之间的连线
所以这种描述方式
就涉及到具体的电路的结构了
这种描述方式通常不是很实用
所以在一般的设计应用中不常用
接下来第四个层次
就是开关级的设计方式
或者是建模方式
这个层次就是更低一层
也就是会具体描述
这个管子和管子的一些连接关系
那这个方式是不太有用的
一种设计方式
就不太常用的一种设计方式
在我们的实验中
主要用到的是前两种方式
再接下来看一下层次建模的方法
也就是基于模块的设计的方法
对于一个电路来讲
它整体的电路我们可以看做是
一个整体的模块
然后再根据电路中不同的功能
或者是不同电路之间的关联性
可以把它分为一个一个的子模块
每一个子模块里头包含一个
或者是多个电路
然后子模块又可以向下
再分为更小的模块
那么这种对电路的建模
或者是描述的方式
就是基于模块化的
而且是一种层次化的
这种建模的方式
那这种方式
我们有时候也称为
自顶向下设计的方式
那么首先在顶层
是一个整体的电路模块
然后向下可以分为子模块
子模块再向下
又可以分为更小的模块
我们叫叶子单元
那每一个模块或者单元
我们都可以称它为是一个模块
在Verilog设计中
都可以称为模块
这是一种自顶向下的设计方式
那么与它相反的呢
我们称它为自底向上的
一种设计方式
也就是说在设计的时候
我们可以先把最底层的
这些叶子单元的模块设计出来
然后由这些小模块再组合成
大一些的这个中间的模块
然后在中间的模块
最后再组合成一个
大的叫顶层的模块
感谢您的观看
-课程简介
-1.1 电子系统简介
-1.2 现代电子系统举例
-1.3 现代电子系统的组成
-1.4 现代电子系统设计方法
-第一章 作业
-2.1 传感器定义
-2.2 传感器的分类和性能指标
-2.3 常用传感器介绍
-2.4 常用执行器介绍
-第二章 作业
-3.1 模拟信号处理简介
-3.2 信号放大和隔离电路
-3.3 滤波电路
--3.3 滤波电路
-3.4 运算电路(一)
-3.5 运算电路(二)
-3.6 电压比较器
-3.7 功率放大电路
-3.8 模-数转换器
-3.9 数-模转换器
-第三章 作业
-4.1 直流电源简介
-4.2 线性稳压电源
-4.3 开关稳压电源
-第四章 作业
-5.1 微处理器简介
-5.2 微处理器和片上系统的发展历程
-5.3 微处理器分类
-5.4 微处理器和片上系统举例
-5.5 微处理器和片上系统硬件结构
-5.6 外围接口和设备
-5.7 嵌入式软件开发方法
-5.8 嵌入式操作系统
-5.9 外围设备应用程序开发简介
-第五章 作业
-6.1 TM4C123 简介
-6.2 TM4C123 实验板
-6.3 TM4C123 软件开发
-6.4 TM4C123 实验举例
-第六章 作业
-7.1 PSoC简介
-7.2 PSoC实验板
-7.3 PSoC软件开发
-7.4 PSoC实验举例
-第七章 作业
-8.1 FPGA简介
-8.2 FPGA的发展趋势
-8.3 FPGA的特点
-8.4 FPGA的结构
-8.5 FPGA结构举例
-8.6 FPGA设计工具和方法
-8.7 QuartusⅡ集成开发环境
-8.8 DE2-115实验平台简介
-8.9 Verilog硬件设计语言
-- 8.9.8 设计仿真
-8.10 数字电路设计与仿真举例
-第八章 作业
-9.1 SOPC简介
-9.2 Nios II 微处理器简介
-9.3 Avalone总线简介
-9.4 SOPC设计方法简介
-9.5 SOPC设计举例
-- 9.5.1 设计内容
-9.6 Nios II 软件设计
-第九章 作业
-10.1 实验内容与要求
-10.2 实验设备与器材
-10.3 注意事项与调试方法
-10.4 实验结果展示
-第十章 作业
-期末考试
--期末考试