EDA技术与应用课笔记

EDA技术与应用


课程内容:就学一点点Verilog语法

  • 使用工具:
    涉及工具
    课程资料
    资料说明

电路描述

  • 描述电路的级别:
  1. MOS级别(慢)
  2. 门电路级别(慢)
  3. RTL级别(寄存器传输级)成熟、常用
  4. 功能级、系统级

Verilog支持上述四种级别的描述

综合

RTL代码转化成门级网表

仿真

仿真电路运行,验证功能,合法的HDL均可用于仿真

Verilog语法

与C语言类似,大小写敏感,有关键词,语法结构
基本模块结构
基本模块

  • 标识符:字母开头,无空格,避免特殊字符(转义字符\可以将特殊字符转化成普通字符)
  • 注释: ///* */
  • 四值逻辑: 0、1、x(未知值)、z(高阻态)

综合工具不关心x的值,所有真值表都没有输出为z

  • 数值表达
[[位宽]'数基]数值

数基:二进制、八进制、十进制、十六进制

  • data types:
    data types
  • 基本门语法:
    基本门语法
  • 实例化:
    在这里插入图片描述
  • ModelSim仿真过程
    在这里插入图片描述
    仿真命令行代码要考!10分
    -novopt不要优化
    不要在中文目录仿真,

PLD器件

原理: 最小项
组合电路无记忆性
时序电路输出依赖当前状态,有记忆

表达组合逻辑(与或非)

真值表、最简式、最小项和
组合逻辑是其他逻辑的基础

FPGA(比CPLD更复杂)

Verilog语法

===只可用于testbech

  • !和~的区别:
    !操作是变量整体,~是按位操作
    最好用括号规定运算符优先级

时延

Verilog中用

#(min:tyo:max,min:typ:max,min:typ:max)

时延语法含义:rise->1、fall->0、turn off->z
软件延时信息在综合时被无视

语法

连续赋值:assign

过程块

系统任务

displaymonitortimefinishstop
IEEE中规定的部分系统任务(可以直接调用)

2022/4/25

第六章-时序逻辑描述与实现

  1. 由基本们构建时序逻辑
    组合电路:电路输出至于输入有关,与先前值无关
    反馈:
    奇数个反相器连接:震荡
    偶数个反相器连接:两个稳定状态
  2. 时序电路:
    两个稳定状态,但没有状态控制
    复习数电:D锁存器、SR触发器
    Latch缺点:CLK = 1的时间内。D的边哈均会传递到Q,实际需要是边沿触发
  3. 同步电路:比异步电路好设计
  4. 设计电路避免用锁存器
  5. 阻塞赋值/非阻塞赋值
    通常用非阻塞赋值,
    • 数字仿真器工作原理:仿真时间只能向前推进,只有当t时刻的事件全部执行完时仿真时间才向前推进,所有事件执行完,仿真结束
always a=b	//缺少敏感条件(判定为1),always一直执行,死循环
begin…end		//顺序执行
fork… join		//并行执行
=	//阻塞赋值
<=	//非阻塞赋值

阻塞赋值含义:仿真器时间未向前推进
延迟阻塞赋值:

initial begin
			#1 a = b;		//先延时一个时间单位,再将一个时间单位之后的b的值赋给a
end

内部延迟阻塞赋值语句

initial begin
   		a = #1 b;		//赋延时之前的b的值
end

非阻塞赋值:

initial begin
		a <= b;
end

阻塞赋值和非阻塞赋值不能一起用,可以仿真,但综合工具会报错

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liweiei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值