前言
这里主要是写一些读后的笔记和要点,算是一种巩固吧
Chapter1–设计方法简介
该章节主要是讲了Verilog HDL等的概念和一些基本设计
1.Verilog特点
- 互连
- 并发
- 时间
2.HDL设计与验证的流程
- 系统与功能模块定义 System Level
- 行为级描述测试激励 Behavior Level
- 寄存器传输级 RTL Register Transfer Level
- 对RTL级描述进行仿真功能
- 逻辑综合
- 门级 Gate Level
- 综合后门级仿真
- 布局规划和布局布线
- 布局布线后的时序仿真和验证
3.Verilog编程思想
- 心中要有电路
- 要对时序有清楚了解
- 不追求代码简洁
Chapter2–Verilog语言基础
1.Top-Down&Bottom-Up
其实就是所谓自顶向下和自低向上,当然推荐的是自顶向下来实现
2.语法
(1)描述方法
- 数据流描述:使用assign语句进行连续赋值语句
- 行为描述:使用always/initial来进行过程赋值语句
- 结构化描述:实例化已有的功能模块
(2)注释和标识符
- 注释:
//这里可以插入注释
/*这里可以插入注释*/
- 标识符
可以使用0-9,a-z,A-z,$,_的任意组合
(3)模块和端口
- 模块:module/endmodule
module module_name(port_list);
endmodule
- 端口:input,output
input wire input_name
output reg output_name
(4)编译指令和延时指令
- 预处理指令
//用来设定仿真时间单位和时间精度
`timescale
//用来定义一些宏
`define/`undef
//用来避免重复定义宏
`ifdef/`else/`endif
//用来包含一些头文件
`include
//将其他编译指令重新设置为缺省值
`resetall
- 延时指令
//延时指令一般要结合timescale的设定延时单位和时间精度
#time
(5)逻辑值和常量
- 逻辑值
-1.0:低电平
-2.1:高电平
-3.X:未知状态,用作条件判断时候表示不关心
-4.Z:高阻态,没有任何驱动 - 常量
-1.整数型:长度'数值符号 数字
-2.实