当前课程知识点:现代电子系统设计 > 第八章 FPGA与数字系统设计 > 8.9 Verilog硬件设计语言 > 8.9.3 Verilog设计方法
下面讲第八章第九节
Verilog硬件描述语言
第三小节Verilog设计方法
怎么用Verilog来设计电路呢
我们前面讲过
Verilog它的设计
可以看作是一个模块
而模块又可以根据它的功能
和连接关系
划分为子模块
子模块再可以划分为更小的模块
因此对于Verilog的设计而言
它可以说是由一些
互联的模块组成的
那么怎么样来定义模块
怎么样来描述一个模块呢
下面我们看一下
首先对于模块的描述
它有一个标识符
module
接下来是它的名字
也就是模块的名字name
在name的后面的括号中
列举了这个模块的端口
也就是它的输入和输出变量
另外如果有必要的话
可以在这个括号中
再继续描述这些端口
具体的变量的类型
另外还可以描述参数
与模块相对应的
还有一个标识符
就是endmodule
表示模块声明的结束
在模块的内部
首先可以对这个变量
进行进一步的描述
例如变量可以是input output
或者是wire reg型
另外也可以对参数再做描述
接下来就可以设计电路了
设计电路的时候可以总结为
三种方式
第一种方式就是调用更底层的模块
也就是它的子模块
那这时候
我们是用一个实例化低层模块来表示的
这个就相当于
C语言当中的调用子函数
第二种描述方式
就是数据流的描述方式
第三种描述方式
就是行为描述方式
这是一个模块它的这个结构
下面我们举一个例子
在这个例子中
模块它的名字叫M
它的括号中有四个端口变量
P1 P2 P3和P4
接下来对这个变量
它的具体类型进行描述
P1 P2是input型
P3是8位的output型
P4是in out型
也就是说既可以做输入
也可以做输出
另外还定义了四个wire变量
W1到W4
还有就是R1是8位的reg型的变量
另外定义了一个参数C1
它等于一个字符串
This is a string
接下来就是模块的实例化
它调用了一个子模块
COMP
然后实例化的名称是U1
它有两个参数
W3和W4
再接下来就是数据流的描述方式
它采用的是一个连续赋值语句
assign
W1等于W2反
它描述的是W1和W2之间的关系
再接下来就可以是行为描述的
一些电路
那它主要用的是一个过程赋值语句
always
在这个always模块中
有一个begin和end的标识符
然后它们之间是这个行为的描述
在always后面的括号中
列举了所有的输入的变量input
然后在always模块中
主要描述的是组合逻辑
然后它描述的语句
是顺序执行的
这是第一种always模块
另外也可以有另外一种always模块
那么这种always模块
跟前面不同的地方
就是它的括号中
列举的是变量的上升沿
或者是下降沿
例如这个例子中
是clock的上升沿
这个always模块
它内部主要描述的
是时序电路的行为
那么在时钟的作用下
它可以同步地动作
也就是说它内部的这些语句
是同步执行的
最后是模块的结束符
endmodule
感谢您的观看
-课程简介
-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 实验结果展示
-第十章 作业
-期末考试
--期末考试