EDA技术及应用 Verilog HDL版(第三版) 第7章
eda技术及应用第三版课后答案谭会生

eda技术及应用第三版课后答案谭会生【篇一:《eda技术》课程大纲】>一、课程概述1.课程描述《eda技术》是通信工程专业的一门重要的集中实践课,是通信工程专业学生所必须具备的现代电子设计技术技能知识。
eda是电子技术的发展方向,也是电子技术教学中必不可少的内容。
本课程主要介绍可编程逻辑器件在电子电路设计及实现上的应用,介绍电路原理图和pcb图的设计技术。
开设该课程,就是要让学生了解大规模专用集成电路fpga和cpld的结构,熟悉一种以上的硬件描述语言,掌握一种以上的开发工具的使用等,掌握电路原理图和pcb图的现代设计技术与方法,从而提高学生应用计算机对电子电路和高速智能化系统进行分析与设计的能力。
2.设计思路本课程坚持“以学生为中心”的原则,以项目任务驱动的方式,采取理论知识与案例相结合的方式授课,提高学生的学习主动性。
通过必要的理论知识讲授、大量的实践训练和案例分析,培养学生的动手设计和实践能力,掌握eda开发的整个流程和基本技巧。
课程采用演示讲授和实践相结合,边讲边练的方法,让学生切身体会并掌握eda开发产品的流程和方法。
本课程集中2周时间开设,注重实践性,边讲边练,让学生切身体会并掌握eda开发技术。
3.实践要求(1)纪律和安全要求①不得将食物带入实验室,每次实训后请将使用后的废弃物带走。
违反者每次扣罚平时分2分。
②实训期间不得做与实训无关的其他事情,不得大声喧哗或做其他影响实训正常进行的事宜。
违反者每次扣罚平时分2分。
③实训期间,若学生有事不能正常参加实训,须提前以书面形式请假,并按指导教师的安排补做实训。
未经指导教师许可,学生不得任意调换实训时间和实训地点。
违反者每次扣罚平时分4分。
④学生不得以任何理由替代他人进行实训,违者直接取消实训成绩。
⑤学生除操作自己所分配的计算机外,不得操作实验室内其他任何设备。
违者每次扣罚平时分2分。
(2)业务要求实训所使用的软件protel和quartus ii,所有数据均通过服务器中转以及储存在服务器上,所以重启自己所用的电脑不会造成数据丢失。
天津大学Verilog HDL课件第7章

数值比较器
module MagnitudeComparator (A,B,AgtB,AeqB,AltB); parameter BUS=8; parameter EQ_DELAY=5, LT_DELAY=8,GT_DELAY =8; input [1:BUS] A,B; output AgtB,AeqB,AltB; assign #EQ_DELAY AeqB=A==B; assign #GT_DELAY AgtB=A>B; assign #LT_DELAY AltB=A<B; endmodule
7.5 线网时延
wire #5 Arb;//注意#delay的位置 表示从驱动源数值改变到线网本身随之改变 的时间; assign #2 Arb=Bod & Cap;
线网时延和赋值时延所处的位置:
线网时延和赋值时延的鉴别: wire #4 A=B+C;//赋值时延
7.6 主从D触发器
module MSDFF_DF (D,C,Q,Qbar); input D,C; output Q,Qbar; wire NotC,NotD,NotY,Y,D1,D2,Ybar,Y1,Y2; assign NotD=~D; assign NotC=~C; assign NotY=~Y; assign D1=~(D&C); assign D2=~(C&NotD); assign Y=~(D1&Ybar); assign Ybar=~(Y&D2); assign Y1 =~(Y&NotC); assign Y2 =~(NotY&NotC); assign Q =~(Qbar&Y1); assign Qbar =~(Y2&Q); endmodule
(完整版)VerilogHDL数字设计与综合(第二版)第七章课后习题答案

1.声明一个名为oscillate的寄存器变量并将它初始化为0。
使其每30个时间单位进行一次取反操作。
不要使用always语句。
提示:使用forever循环。
答:代码如下:reg oscillate;initialbeginoscillate<=0;forever #30 oscillate<=~oscillate;end2.设计一个周期为40个时间单位的时钟信号,其占空比为25%。
使用always和initial块进行设计。
将其在仿真0时刻的值初始化为0。
答:代码如下:reg clock;initialclock<=0;alwaysbegin#30 clock<=1;#10 clock<=0;end3.给定下面含有阻塞过程赋值语句的initial块。
每条语句在什么仿真时刻开始执行?a,b,c 和d在仿真过程中的中间值和仿真结束时的值是什么?答:仿真输出结果:4.在第3题中,如果initial块中包括的是非阻塞过程赋值语句,那么各个问题的答案是什么?答:第7章行为级建模79最终d没有输出,因为d<= #20 {a,b,c};语句执行的是先将a,b,c取值存储,在20个时间单位后将存储的值赋给d,因为b,c在初始时刻没有值,所以d值也是不确定的。
5.指出在下面的Verilog代码中各条语句的执行顺序。
其中是否含有不确定的执行顺序?a,b,c和d的最终值是什么?答:先执行a=1’b0,b=1’b1,然后执行#0 c=b,#0 d=a,执行顺序不确定,最终输出结果a=0,b=1,c=1,d=0. 6.在下面的例子中,d的最终值是什么?答:仿真输出波形如下,最终输出结果d=1。
0时刻b|c的值是1,在25个时间刻度后赋给d。
7.使用带有同步清零端的D触发器(清零端高电平有效,在时钟下降沿执行清零操作)设计一个下降沿触发的D触发器,只能使用行为语句。
提示:D触发器的输出q应当声明为寄存器变量。
EDA技术及应用—基于FPGA的电子系统设计:基于Verilog hdl的数字电路设计

10100
1111
15
10101
8421BC 余三码 D码
0000
0011
0001
0100
0010
0101
0011
0110
0100
0111
0101
1000
0110
1001
0111
1010
1000
1011
1001
1100
-
-
-
-
-
-
-
-
-
-
-
-
4位格雷码
0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000
4'b0011:a_to_g=7'b1111001; //显示3
4'b0100:a_to_g=7'b0110011; //显示4
4'b0101:a_to_g=7'b1011011; //显示5
4'b0110:a_to_g=7'b1011111; //显示6
4'b0111:a_to_g=7'b1110000; //显示7
4: y= {d[2:0],d[3]}; // rol
5: y= {d[3],d[3:1]}; // asr
6: y= {d[1:0],d[3:2]}; // ror2
7: y= d;
// noshift
default: y = d;
图6-2 基本门电路仿真结果
综合结果如图6-3所示。
图6-3 基本门电路综合结果
2、 三态逻辑电路
Verilog HDL 7

图7-3 带异步置位端的D触发器
此触发器的建模程序如下: module dff_async_pre (data, clk, preset, q); input data, clk, preset; output q; reg q;
always @(posedge clk or negedge preset) if (~preset) q = 1'b1; //预置信号将 给输出赋一个固定的值 else q = data; //数据输出 endmodule
// in[5]为
// in[6]为 // in[7]为
7.4 解码器
与编码器对应的是解码器,解码器是指能 实现将二进制代码所表示的输入变量翻译 出来的电路,对每一种输入代码组合,仅 有一个输出信号有效。按照应用的不同, 解码器又可分为一般解码器和显示解码器 两种,一般解码器输出以二进制形式体现, 显示解码器是按数字的结构来确定输出段 的高低电平的。
图7-5 带同步复位端的D触发器
此触发器的建模程序如下: module dff_sync_rst (data, clk, reset, q); input data, clk, reset; output q; reg q;
always @ (posedge clk) //注意比较此处 与异步复位的不同 if (~reset) q = 1'b0; //复位 else q = data; //数据输出 endmodule
module encoder (in,out); input [7:0] in; output [2:0] out; reg [2:0] out; always @(in) case(in)
EDA技术及应用—Verilog HDL版(第三版) (1)

第2章 大规模可编程逻辑器件
(4) 封装代码。如Altera公司的EPM7128SLC84中的LC, 表示采用PLCC封装(Plastic Leaded Chip Carrier,塑料方形扁 平封装)。PLD封装除PLCC外,还有BGA(Ball Grid Array, 球形网状阵列)、C/JLCC(Ceramic /J-Leaded Chip Carrier,)、 C/M/P/TQFP(Ceramic/Metal/Plastic/Thin Quard Flat Package)、 PDIP/DIP(Plastic Double In line Package)、PGA(Ceramic Pin Grid Array)等,多以其缩写来描述,但要注意各公司稍有差 别,如PLCC,Altera公司用LC描述,Xilinx公司用PC描述, Lattice公司用J来描述。
第2章 大规模可编程逻辑器件
2.1.1 PLD的发展进程
最早的可编程逻辑器件出现在20世纪70年代初,主要是 可编程只读存储器(PROM)和可编程逻辑阵列(PLA)。20世 纪70年代末出现了可编程阵列逻辑(Programmable Array Logic,简称PAL)器件。20世纪80年代初期,美国Lattice公 司推出了一种新型的PLD器件,称为通用阵列逻辑(Generic Array Logic,简称GAL),一般认为它是第二代PLD器件。 随着技术进步,生产工艺不断改进,器件规模不断扩大,逻 辑功能不断增强,各种可编程逻辑器件如雨后春笋般涌现, 如PROM、EPROM、EEPROM等。
第2章 大规模可编程逻辑器件
采用ISP技术之后,硬件设计可以变得像软件设计那样灵活 而易于修改,硬件的功能也可以实时地加以更新或按预定的 程序改变配置。这不仅扩展了器件的用途,缩短了系统的设 计和调试周期,而且还省去了对器件单独编程的环节,因而 也省去了器件编程设备,简化了目标系统的现场升级和维护 工作。
EDA技术及应用-VHDL版(第三版)(潭会生)第7章详解

第7章 EDA技术实验
CLK CLR ENA
CNT10
CLK
U0
CLR
ENA
CQ[3..0] CO
DOUT[3..0] S0
CNT10
CLK
U1
CLR
ENA
CQ[3..0] CO
DOUT[7..4] S1
CNT10
CLK CLR ENA
U2 CQ[3..0] CO
DOUT[11..8] S2
CNT10 U3
第7章 EDA技术实验
ห้องสมุดไป่ตู้验证清零功能
验证使能有效
验证计数功能
预计可能结果
图7.2 CNT10仿真输入设置及可能结果估计图
第7章 EDA技术实验
4) 管脚锁定文件 根据图7.1所示的CNT9999电路原理图,本设计实体的 输入有时钟信号CLK、清零信号CLR和计数使能信号ENA, 输出为DOUT[15..0],据此可选择实验电路结构图NO.0,对 应实验模式0。 根据图7.5所示的实验电路结构图NO.0和图7.1确定引脚 的锁定。选用EPM7128S-PL84芯片,其引脚锁定过程如表 7.1所示,其中CLK接CLOCK2,CLR接键3,ENA接键4, 计数结果DOUT[3..0]、DOUT[7..4]、DOUT[11..8]、 DOUT[15..12]经外部译码器译码后,分别在数码管1、数码 管2、数码管3、数码管4上显示。
第7章 EDA技术实验
3.实验要求 (1) 画出系统的原理框图,说明系统中各主要组成部分 的功能。 (2) 编写各个VHDL源程序。 (3) 根据系统的功能,选好测试用例,画出测试输入信 号波形或编好测试程序。 (4) 根据选用的EDA实验开发装置编好用于硬件验证的 管脚锁定表格或文件。 (5) 记录系统仿真、逻辑综合及硬件验证结果。 (6) 记录实验过程中出现的问题及解决办法。
EDA技术及应用—Verilog HDL版(第三版) (7)

第1章 绪论
由于FPGA/CPLD的集成规模非常大,因此可利用先进的EDA 工具进行电子系统设计和产品开发。由于开发工具的通用性、 设计语言的标准化以及设计过程几乎与所用器件的硬件结构无 关,因而设计开发成功的各类逻辑功能块软件有很好的兼容性 和可移植性。它们几乎可用于任何型号和规模的FPGA/CPLD中, 从而使得产品设计效率大幅度提高,可以在很短时间内完成十 分复杂的系统设计,这正是产品快速进入市场最宝贵的特征。 美国IT公司认为,一个ASIC 80%的功能可用IP核等现成逻辑合 成。而未来大系统的FPGA/CPLD设计仅仅是各类再应用逻辑与 IP核(Core)的拼装,其设计周期将更短。
第1章 绪论
未来的EDA技术将向广度和深度两个方向发展,EDA将会超 越电子设计的范畴进入其他领域,随着基于EDA的SOC(单片系 统)设计技术的发展,软、硬核功能库的建立,以及基于VHDL 的所谓自顶向下设计理念的确立,未来的电子系统的设计与规 划将不再是电子工程师们的专利。有专家认为,21世纪将是 EDA技术快速发展的时期,并且EDA技术将是对21世纪产生重大 影响的十大技术之一。
第1章 绪论
1.2 EDA技术的发展历程
1.20世纪70年代的计算机辅助设计CAD阶段 早期的电子系统硬件设计采用的是分立元件,随着集成电 路的出现和应用,硬件设计进入到发展的初级阶段。初级阶段 的硬件设计大量选用中、小规模标准集成电路。人们将这些器 件焊接在电路板上,做成初级电子系统,对电子系统的调试是 在组装好的PCB(Printed Circuit Board)板上进行的。
第1章 绪论
3.20世纪90年代电子系统设计自动化EDA阶段 为了满足千差万别的系统用户提出的设计要求,最好的办 法是由用户自己设计芯片,让他们把想设计的电路直接设计在 自己的专用芯片上。微电子技术的发展,特别是可编程逻辑器 件的发展,使得微电子厂家可以为用户提供各种规模的可编程 逻辑器件,使设计者通过设计芯片实现电子系统功能。EDA工 具的发展,又为设计师提供了全线EDA工具。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4. 参考资料 第4.3节、第4.4节、第4.5节、第5.1节、第5.2节和第6.4 节。
7.4 实验四:数字频率计的设计
1.实验目的 (1) 熟悉Quartus Ⅱ/ISE Design Suite/ispLEVER软件的基 本使用方法。 (2) 熟悉GW48-CK或其他EDA实验开发系统的基本使用 方法。 (3) 学习和掌握Verilog HDL过程区块语句、if条件语句、 连续赋值语句和元件实例化语句等的综合使用。 (4) 学习计数器、寄存器等Verilog HDL基本逻辑电路的 综合设计应用。
2.实验内容 设计一个可调信号发生器,可产生正弦波、方波、三角 波和锯齿波四种信号,能够实现信号的转换,并具有频率可 调的功能。 用GW48-CK或其他EDA实验开发系统(事先应选定拟采 用的实验芯片的型号)进行硬件验证。
3.实验要求 (1) 画出系统的原理框图,说明系统中各主要组成部分 的功能。 (2) 编写各个Verilog HDL源程序。 (3) 根据系统的功能,选好测试用例,画出测试输入信 号波形或编好测试程序。 (4) 根据选用的EDA实验开发装置编好用于硬件验证的 管脚锁定表格或文件。 (5) 记录系统仿真、逻辑综合及硬件验证结果。 (6) 记录实验过程中出现的问题及解决办法。
7.1 实验一:计数器电路的设计
1.实验目的 (1) 学习Quartus Ⅱ/ISE Design Suite/ispLEVER软件的基 本使用方法。 (2) 学习GW48-CK或其他EDA实验开发系统的基本使用 方法。 (3) 熟悉Verilog HDL程序的基本结构和元件实例化语句 的使用。
2.实验内容 设计并调试好一个计数范围为0~9999的4位十进制计数 器电路cnt9999,并用GW48-CK或其他EDA实验开发系统(可 选用的芯片为ispLSI 1032E-PLCC84,或EPM7128S-PL84, 或XCS05/XCS10-PLCC84芯片)进行硬件验证。
3.实验要求 (1) 画出系统的原理框图,说明系统中各主要组成部分 的功能。 (2) 编写各个Verilog HDL源程序。 (3) 根据系统的功能,选好测试用例,画出测试输入信 号波形或编好测试程序。 (4) 根据选用的EDA实验开发装置编好用于硬件验证的 管脚锁定表格或文件。 (5) 记录系统仿真、逻辑综合及硬件验证结果。 (6) 记录实验过程中出现的问题及解决办法。
3.实验要求 (1) 画出系统的原理框图,说明系统中各主要组成部分 的功能。 (2) 编写各个Verilog HDL源程序。 (3) 根据系统的功能,选好测试用例,画出测试输入信 号波形或编好测试程序。 (4) 根据选用的EDA实验开发装置编好用于硬件验证的 管脚锁定表格或文件。 (5) 记录系统仿真、逻辑综合及硬件验证结果。 (6) 记录实验过程中出现的问题及解决办法。
2. 实验内容 设计并调试好8位十进制数字频率计,用GW48-CK或其 他EDA实验开发系统(事先应选定拟采用的实验芯片的型号) 进行硬件验证。
3.实验要求 (1) 画出系统的原理框图,说明系统中各主要组成部分 的功能。 (2) 编写各个Verilog HDL源程序。 (3) 根据系统的功能,选好测试用例,画出测试输入信 号波形或编好测试程序。 (4) 根据选用的EDA实验开发装置编好用于硬件验证的 管脚锁定表格或文件。 (5) 记录系统仿真、逻辑综合及硬件验证结果。 (6) 记录实验过程中出现的问题及解决办法。
ห้องสมุดไป่ตู้
4.参考资料 第4.2节、第4.3节、第4.4节、第4.5节、第5.1节和第5.2 节。
7.2 实验二:算术运算电路的设计
1.实验目的 (1) 进一步熟悉和掌握Quartus Ⅱ/ISE Design Suite/ispLEVER软件的使用。 (2) 进一步熟悉和掌握GW48-CK或其他EDA实验开发系 统的使用。 (3) 学习和掌握Verilog HDL过程区块语句、if条件语句、 case选择语句、for循环语句和元件实例化语句等的综合使用。
2.实验内容 进行加法器、乘法器与除法器等算术运算电路的设计与 调试:① 设计并调试好一个由两个4位二进制并行加法器级 联而成的8位二进制并行加法器;② 设计并调试一个8位的 移位乘法器/定点乘法器/布斯乘法器;③ 设计并调试一个8 位的移位除法器/重存除法器/非重存除法器。并用GW48-CK 或其他EDA实验开发系统(事先应选定拟采用的实验芯片的 型号)进行硬件验证。
第7章 EDA技术实验
7.1 实验一:计数器电路的设计 7.2 实验二:算术运算电路的设计 7.3 实验三:可调信号发生器的设计 7.4 实验四:数字频率计的设计 7.5 实验五:数字秒表的设计 7.6 实验六:交通灯信号控制器的设计 7.7 实验七:FIR滤波器的设计 7.8 实验八:CORDIC算法的应用设计 7.9 实验报告范例
4.参考资料 第4.3节、第4.4节、第4.5节、第5.1节、第5.2节和第6.6 节。
7.5 实验五:数字秒表的设计
1. 实验目的 (1) 熟悉Quartus Ⅱ/ISE Design Suite/ispLEVER软件的基 本使用方法。 (2) 熟悉GW48-CK或其他EDA实验开发系统的基本使用 方法。 (3) 学习和掌握Verilog HDL过程区块语句、if条件语句 和元件实例化语句等的综合使用。 (4) 熟悉计数器、分频器等Verilog HDL基本逻辑电路的 综合设计应用,掌握程序仿真时根据实际情况进行有关参数 调整的方法。
4.参考资料 第4.3节、第4.4节、第4.5节、第5.1节、第5.2节和第 6.1~6.3节。
7.3 实验三:可调信号发生器的设计
1.实验目的 (1) 熟悉Quartus Ⅱ/ISE Design Suite/ispLEVER软件的基本 使用方法。 (2) 熟悉GW48-CK或其他EDA实验开发系统的基本使用 方法。 (3) 学习和掌握Verilog HDL过程区块语句、case选择语句、 if条件语句和元件实例化语句等的综合使用。 (4) 学习LPM兆功能只读存储块ROM的使用及存储器模 块的初始化方法。 (5) 学习使用Quartus Ⅱ 8.0中的SignalTap Ⅱ嵌入式逻辑分 析仪的使用。