数字系统设计与Verilog HDL
更新时间:2024-05-04 02:05:01 阅读量: 综合文库 文档下载
数字系统设计与Verilog HDL (复习)
EDA(Electronic Design Automation)
就是以计算机为工作平台,以EDA软件工具为开发环境,以PLD器件或者ASIC专用集成电路为目标器件设计实现电路系统的一种技术。 1.电子CAD(Computer Aided Design)
2.电子CAE(Computer Aided Engineering) 3.EDA(Electronic Design Automation) EDA技术及其发展 p2
EDA技术的应用范畴
1.3 数字系统设计的流程
基于FPGA/CPLD
的数字系统设计流程
1. 原理图输入(Schematic diagrams ) 2、硬件描述语言 (HDL文本输入) 设计输入
硬件描述语言与软件编程语言有本质的区别
综合(Synthesis)
将较高层次的设计描述自动转化为较低层次描述的过程
◆行为综合:从算法表示、行为描述转换到寄存器传输级(RTL) ◆逻辑综合:RTL级描述转换到逻辑门级(包括触发器) ◆版图综合或结构综合:从逻辑门表示转换到版图表示,或转换到PLD器件的配置网表表示
综合器是能自动实现上述转换的软件工具,是能将原理图或HDL语言描述的电路功能转化为具体电路网表的工具
适 配
适配器也称为结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,并产生最终的可下载文件
对CPLD器件而言,产生熔丝图文件,即JEDEC文件;对FPGA器件则产生Bitstream位流数据文件 p8
仿真(Simulation)
功能仿真(Function Simulation) 时序仿真(Timing Simulation) 仿真是对所设计电路的功能的验证 p9
编程(Program)
把适配后生成的编程文件装入到PLD器件中的过程,或称为下载。
通常将对基于EEPROM工艺的非易失结构PLD器件的下载称为编程(Program),将基于SRAM工艺结构的PLD器件的下载称为配置(Configure)。
习 题
1.1 现代EDA技术的特点有哪些? 1.2 什么是Top-down设计方式?
1.3 数字系统的实现方式有哪些?各有什么优缺点?
1.4 什么是IP复用技术?IP核对EDA技术的应用和发展有什么意义? 1.5 用硬件描述语言设计数字电路有什么优势?
1.6 基于FPGA/CPLD的数字系统设计流程包括哪些步骤? 1.7 什么是综合?常用的综合工具有哪些?
1.8 功能仿真与时序仿真有什么区别? 第2章 FPGA/CPLD器件
2.1 PLD的分类 PLD的发展历程
PLD的集成度分类
可编程逻辑器件(PLD) 简单PLD 复杂PLD PROM PLA PAL GAL CPLD FPGA
一般将GAL22V10(500门~750门 )作为简单PLD和高密度PLD的分水岭
PLD器件按照可以编程的次数可以分为两类:
(1) 一次性编程器件(OTP,One Time Programmable) (2) 可多次编程器件
OTP类器件的特点是:只允许对器件编程一次,不能修改,而可多次编程器件则允许对器件多次编程,适合于在科研开发中使用。 按编程特点分类 p15
(1)熔丝(Fuse)
(2)反熔丝(Antifuse)编程元件
(3)紫外线擦除、电可编程,如EPROM。
(4)电擦除、电可编程方式,(EEPROM、快闪存储器(Flash Memory)),如多数CPLD (5)静态存储器(SRAM)结构,如多数FPGA 按编程元件和编程工艺分类
PLD器件的原理结构图 2.2 PLD的基本原理与结构
PLD电路符号表示
与门、或门的表示
PLD连接表示法
PLD的输入缓冲电路
简单阵列的表示
p20 PROM
PROM表达的PLD阵列图
p21 PROM
用PROM完成半加器逻辑阵列
F0?A0A1?A0A1F1?A1A0
p22
2.5 FPGA的原理与结构 查找表结构
4输入LUT及内部结构图 p23
习 题
2.1 PLA和PAL在结构上有什么区别?
2.2 说明GAL的OLMC有什么特点,它怎样实现可编程组合电路和时序电路? 2.3 简述基于乘积项的可编程逻辑器件的结构特点? 2.4 基于查找表的可编程逻辑结构的原理是什么? 2.5 基于乘积项和基于查找表的结构各有什么优缺点?
2.6 CPLD和FPGA在结构上有什么明显的区别,各有什么特点? 2.7 FPGA器件中的存储器块有何作用? p24
第3章 Quartus II集成开发工具
基于Quartus II进行EDA设计开发的流程 p26
设计一个半加器
p27
设计一个全加器
连接好的全加器原理图f_adder.bdf
习 题
3-1 基于Quartus II软件,用D触发器设计一个2分频电路,并做波形仿真,在此基础上,设计一个4分频和8分频电路,做波形仿真。 。 3-2 基于Quartus II软件,用7490设计一个能计时(12小时)、计分(60分)和计秒(60秒)的简单数字钟电路。设计过程如下:
(1)先用Quartus II的原理图输入方式,用7490连接成包含进位输出的模60的计数器,并进行仿真,如果功能正确,则将其生成一个部件;
(2)将7490连接成模12的计数器,进行仿真,如果功能正确,也将其生成一个部件; (3)将以上两个部件连接成为简单的数字钟电路,能计时、计分和计秒,计满12小时后系统清0重新开始计时。
(4)在实现上述功能的基础上可以进一步增加其它功能,比如校时功能,能随意调整小时、分钟信号,增加整点报时功能等。
第4章 基于宏功能模块的设计
8位有符号乘法器电路 功能仿真波形 p31
p76
思考与练习
7.1 试编写求补码的Verilog程序,输入是带符号的8位二进制数。 7.2 试编写两个四位二进制数相减的Verilog程序。
7.3 有一个比较电路,当输入的一位8421BCD码大于4时,输出为1,否则为0。试编写出Verilog程序。
7.4 试编写一个实现3输入与非门的Verilog源程序。 p77
思考与练习
7.5 用Verilog语言设计一个类似74138的译码器电路,用Synplify软件对设计文件进行综合,观察RTL级综合视图和门级综合视图。
7.6 用Verilog语言设计一个功能类似74161的电路,用Synplify软件对设计文件进行综合,观察RTL级综合视图和门级综合视图。
7.7 用Verilog设计一个8位加法器,用Quartus II软件进行综合和仿真。 7.8 用Verilog设计一个8位计数器,用Quartus II软件进行综合和仿真。
第8章 数字设计的层次与风格 p79
Verilog设计的描述风格 结构(Structural)描述 行为(Behavioural)描述 数据流(Data Flow)描述 p80
在Verilog程序中可通过如下方式描述电路的结构 ◆ 调用Verilog内置门元件(门级结构描述) ◆ 调用开关级元件(晶体管级结构描述) ◆ 用户自定义元件UDP(也在门级) 8.2 结构(Structural)描述 p81
门级结构描述的2选1MUX
module MUX1(out, a, b, sel); output out;
input a, b, sel; not (sel_, sel); and (a1, a, sel_), (a2, b, sel); or (out, a1, a2); endmodule
p82
8.3 行为描述
就是对设计实体的数学模型的描述,其抽象程度远高于结构描述方式。行为描述类似于高级编程语言,当描述一个设计实体的行为时,无需知道具体电路的结构,只需要描述清楚输入与输出信号的行为,而不需要花费更多的精力关注设计功能的门级实现。 p83
行为描述的2选1MUX
module mux2(out, a, b, sel); output out;
input a, b, sel; reg out;
always @(a or b or sel) begin
if(sel) out = b; else out = a; end
endmodule
p84
8.4 数据流描述
数据流描述方式主要使用持续赋值语句,多用于描述组合逻辑电路,其格式为:
assign LHS_net=RHS_expression;
右边表达式中的操作数无论何时发生变化,都会引起表达式值的重新计算, 并将重新计算后的值赋予左边表达式的net型变量。 p85
数据流描述的2选1MUX
module MUX3(out, a, b, sel); output out;
input a, b, sel;
assign out = sel ? b : a; endmodule
p86
`include \
module add4_1(sum, cout, a, b, cin); output [3:0] sum; output cout;
input [3:0] a, b; input cin;
full_add1 f0(a[0],b[0],cin,sum[0],cin1); full_add1 f1(a[1],b[1],cin1,sum[1],cin2); full_add1 f2(a[2],b[2],cin2,sum[2],cin3); full_add1 f3(a[3],b[3],cin3,sum[3],cout); endmodule
结构描述的4位级连全加器 p87
module add4_2(cout,sum,a,b,cin); output[3:0] sum; output cout; input[3:0] a,b; input cin;
assign {cout,sum}=a+b+cin; endmodule
数据流描述的4位加法器 p88 习 题
8.1 Verilog支持哪几种描述方式,各有什么特点?
8.2 分别用结构描述和行为描述方式设计一个基本的D触发器,并进行综合。 8.3 分别用结构描述和行为描述方式设计一个JK触发器,并进行综合。 8.4 试编写同步模5计数器程序,有进位输出和异步复位端。 8.5 编写4位串/并转换程序。 8.6 编写4位并/串转换程序。 8.7 编写4位除法电路程序。
正在阅读:
数字系统设计与Verilog HDL05-04
全国2003年4月高等教育自学考试模拟电路与数字电路试题02-02
思想政治教育学原理知识点04-19
孝歌06-08
民间借贷相关内容问答(一)06-12
专题十稳恒电流考点例析01-06
江苏省旅游度假区发展考核评分细则06-05
播音主持培训绕口令02-08
- 《江苏省环境水质(地表水)自动监测预警系统运行管理办法(试行)》
- 安乐死合法化辩论赛立论稿(浙大新生赛)
- 公共科目模拟试卷公务员考试资料
- 我国固定资产投资FAI对GDP的影响
- 大学生创新创业训练计划项目申请书大创项目申报表
- 完美版—单片机控制步进电机
- 2013资阳中考化学试题
- 18.两位数减一位数退位(397道)
- 工程量计算规则
- 二年级操行评语(下)
- 第3章 流程控制语句
- 浅基桥墩加固技术
- 课题研究的主要方法
- 5100软件说明书 - 图文
- 车间技术员年终总结
- 关于印发《中铁建工集团开展项目管理实验室活动方案》的通知
- 经典诵读结题报告
- 地下水动力学习题答案
- 2018年全国各地高考数学模拟试题平面解析几何试题汇编(含答案解
- 街道办事处主任2018年度述职述廉报告
- Verilog
- 数字
- 设计
- 系统
- HDL
- 双机热备无共享存储方案
- 小学四年级人美版美术下册教案全集及教学设计
- 精品工艺工法(房地产篇)安装部分 - 图文
- 江苏省2016年证券从业资格考试:金融期权与期权类金融衍生产品试
- 中海地产集团有限公司施工图设计任务书
- 合肥要素大市场调研 - 图文
- 瓷砖颜色的选择和搭配?瓷砖的拼花方法
- 岩体力学复习题
- 二年级安全教育教案 1
- 绍兴市2016年继续教育《诚信建设》
- 城市规划案例解析 - 图文
- 2015-2016学年新人教版六年级下册数学期末多套复习题
- 141081 - 概预算知识问答
- 英语26个字母总结与练习(排版)
- 客车后轮制动器设计
- “十三五”重点项目-饲料猪油项目节能评估报告(节能专篇)
- 广药2016研究生导师招生名额分配情况
- 热电材料综述
- 最新审定西师大版语文二年级上册《我真希望》优质课教学设计第二
- 2012-2016年中国激光二极管市场监测及发展趋势研究报告