设计与验证Verilog HDL 笔记一

本文为Verilog HDL的学习笔记,涵盖了设计方法简介、语言基础及描述方法和设计层次。重点讲解了Verilog的特点、HDL设计流程、编程思想,以及模块、端口、语法、数据流描述、行为描述、结构化描述等基础知识。
摘要由CSDN通过智能技术生成


前言

这里主要是写一些读后的笔记和要点,算是一种巩固吧


Chapter1–设计方法简介

该章节主要是讲了Verilog HDL等的概念和一些基本设计

1.Verilog特点

  • 互连
  • 并发
  • 时间

2.HDL设计与验证的流程

  1. 系统与功能模块定义 System Level
  2. 行为级描述测试激励 Behavior Level
  3. 寄存器传输级 RTL Register Transfer Level
  4. 对RTL级描述进行仿真功能
  5. 逻辑综合
  6. 门级 Gate Level
  7. 综合后门级仿真
  8. 布局规划和布局布线
  9. 布局布线后的时序仿真和验证

3.Verilog编程思想

  • 心中要有电路
  • 要对时序有清楚了解
  • 不追求代码简洁

Chapter2–Verilog语言基础

1.Top-Down&Bottom-Up

其实就是所谓自顶向下和自低向上,当然推荐的是自顶向下来实现

2.语法

(1)描述方法

  • 数据流描述:使用assign语句进行连续赋值语句
  • 行为描述:使用always/initial来进行过程赋值语句
  • 结构化描述:实例化已有的功能模块

(2)注释和标识符

  • 注释:
//这里可以插入注释
/*这里可以插入注释*/
  • 标识符
可以使用0-9,a-z,A-z,$,_的任意组合

(3)模块和端口

  1. 模块:module/endmodule
module module_name(port_list);

endmodule
  1. 端口:input,output
input wire input_name
output reg output_name

(4)编译指令和延时指令

  1. 预处理指令
//用来设定仿真时间单位和时间精度
`timescale
//用来定义一些宏
`define/`undef
//用来避免重复定义宏
`ifdef/`else/`endif
//用来包含一些头文件
`include
//将其他编译指令重新设置为缺省值
`resetall
  1. 延时指令
//延时指令一般要结合timescale的设定延时单位和时间精度
#time 

(5)逻辑值和常量

  1. 逻辑值
    -1.0:低电平
    -2.1:高电平
    -3.X:未知状态,用作条件判断时候表示不关心
    -4.Z:高阻态,没有任何驱动
  2. 常量
    -1.整数型:长度'数值符号 数字
    -2.实
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值