EDA技术与应用上机任务书

  1. 上机目的
  1. 熟悉掌握Quartus II或Quartus Prime开发工具的使用。
  2. 掌握利用硬件描述语言(Verilog)设计简单程序的步骤及方法。
  3. 掌握若干组合逻辑电路及简单时序逻辑电路的Verilog程序设计方法,以及仿真测试方法。
  1. 上机内容
  1. 独立设计一个如图1所示,带同步置位/复位的D触发器,两个反相的输出端为q,qb。其中置位端为pset,复位/清零端为clr,时钟端为clk,数据输入端为d,注意:置位信号的优先级要比复位信号优先级高。

图1 带同步置位/复位的D触发器示意图

(2)用Verilog语言设计一位半减器,然后在该半减器的基础上利用元件调用的方法设计一位全减器。

1)半减器真值表如表1。

输入减数(x)

输入被减数(y)

减法差值输出(diff)

减法借位标志输出(s_out)

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

1

表1 半减器真值表

2)全减器对应原理图如图2。

图2 全减器对应原理图

(3)设计带有异步复位的可加减控制的50进制加减计数器。

. 程序实现

具体代码和上机报告参考:

EDA技术与应用上机报告D触发器半减器全减器50进制加减计数器.zip-专业指导文档类资源-CSDN文库

例如:D触发器:

.仿真附图

(1)D触发器的波形图如图3所示,该图中的clk,pest,clr,d信号在激励文件中已经行进设置,因为题目中要求置位信号的优先级要比复位信号优先级高,所以在该波形中,在置位信号和清零信号同时有效时,q端为高电平。

激励代码主要部分:

Initial begin

clk = 0;

clr = 0;

pset = 0;//首先初始化各个变量,置零

forever begin

#60 d <= 1;

#20 d <= 0;//在80ps中,每隔20ps,d信号置零,每隔60ps,d信号置1

end

end

always #720 clr = $random;//每隔720ps,clr信号变化

always #360 pset = $random;//每隔360ps,pest信号变化

always #20  clk <= ~clk;//每隔20ps,clk信号取反

图3  D触发器波形图

  1. 半减器的波形图如图4所示,该图中的clk,x,y信号在激励文件中已经行进设置,输出信号为差值diff和借位标志s_out。如图可知在clk信号有效时,该波形如图4所示,符合半减器真值表内容。

激励代码主要部分:

`define clock_period 20//宏定义clock_period为20ps

initial clk = 0;//clk初始化为0

always #(`clock_period/2) clk = ~clk;//每隔10ps,clk信号取反

initial begin

x = 0;//x初始化为0

repeat(20)

#(`clock_period) x = $random;//每隔20ps,x信号变化,重复20次

end

initial begin

y = 0;//y初始化为0

repeat(20)

#(`clock_period) y = $random;//每隔20ps,y信号变化,重复20次

end

initial begin

#(`clock_period*20)

$stop;//每隔20*20ps,停止

end

图4 半减器波形图

  1. 全减器的波形图如图5所示,该图中的clk, x,y,sub_in信号在激励文件中已经行进设置,全减器在调用了两个半减器的基础上增加了或门,使结果满足全减器真值表。

激励代码主要部分:

`define clock_period 20//宏定义clock_period为20ps

initial clk = 0;//clk初始化为0

always #(`clock_period/2) clk = ~clk;//每隔10ps,clk信号取反

initial begin

x = 0;//x初始化为0

repeat(20)

#(`clock_period) x = $random;//每隔20ps,x信号变化,重复20次

end

initial begin

y = 0;//y初始化为0

repeat(20)

#(`clock_period) y = $random;//每隔20ps,y信号变化,重复20次

end

initial begin

sub_in = 0;//sub_in初始化为0

repeat(20)

#(`clock_period) sub_in = $random;;//每隔20ps,sub_in信号变化,重复20次

end

initial begin

#(`clock_period*20)

$stop;//每隔20*20ps,停止

end

图5 全减器波形图

(4)50进制加减计数器的波形图如图6所示,clk作为系统时钟,rst为复位信号低电平触发,当rst=0时输出即为0。adds控制加减,当adds=0时计数器做减法计数,当adds=1时计数器做加法计数。此外当计数器计到49时cout=1即产生进位标志。经过仿真测试,仿真出的波形符合预期计算。

激励代码主要部分:

initial begin

clk=1;rst=0;//clk,rst初始化为0

#100;clk=0;rst=0;//100ps后,clk,rst置为0

#100;clk=0;rst=0;//100ps后,clk,rst置为0

#100;adds=1;//100ps后,adds置为1

repeat(50)

begin

clk=0;rst=1;//clk,rst分别初始化为0,1

#100;clk=1;rst=1;//100ps后,clk,rst置为1

#100;

end

clk=0;rst=1;;//clk,rst分别初始化为0,1

#100;clk=1;rst=1;//100ps后,clk,rst都置为1

#100;clk=1;rst=0;//100ps后,clk,rst分别置为1,0

#100;clk=0;rst=0;//100ps后,clk,rst都置为0

#100;clk=1;rst=1;//100ps后,clk,rst都置为1

#100;$stop;//100ps后,停止

end

图6  50进制加减计数器的波形图

.上机总结

通过本次上机任务,我不仅复习了以前学过的数字电路逻辑设计相关知识,也对EDA知识以及对Verilog 语言的运用有了更深一步的理解。通过本次上机任务,我也比较熟悉实验的操作流程,相关的功能菜单选项和Quartus软件的使用,并进一步学习了一些对基本时序电路器件进行描述和仿真。在开始上机时,我对quartus软件的使用不够了解,编译运行上出现了很多问题,也不知道如何调试出波形图。后来,通过对教材第三章的研究,询问同学,以及在网上找资料,知道了module名称要保持与顶层实体一致,建立测试脚本(Test Bench)文件,Test Bench可以自动生成,但是核心语句需要自己添加。同时可以通过修改激励文件调整波形图。这次上机课在软件学习方面花费时间长,锻炼了我的自学能力,提高了我的自学能力。

在设计D触发器时,在复习数字电路逻辑设计相关知识的同时,也对Verilog语言有了更深的理解,并了解了D触发器的工作原理以及如何设计D触发器。在设计一位半减器和全减器的时候,刚开始构建好半减器后,不知道全减器如何调用半减器,后来通过网上查资料解决了问题。对于异步复位可加减50进制加减计数器运用了综合知识,刚开始写的代码在软件中运行有错误,后来通过参考课本解决了该问题。通过这次上机的四个内容,激发了我对eda学习的兴趣,有助于我以后的学习。

EDA技术与应用上机任务 电子信息类 Quartus II或Quartus Prime D触发器、半减器、全减器、可加减控制的50进制加减计数器。相关推荐

  1. 致此刻选专业发愁的你 | 从学技术到做CEO:电子信息类专业在大学时期的正确打怪升级路径

    祝福你们,迎接完这人生的高考伟大战役.经历此役,你们踏上了更高的一层阶梯! "滴水石穿何所惧,蟾宫摘桂正当时",高中过程中只要拼尽全力,此役不管结果如何,我们都要向着自己的目标迈进 ...

  2. 计算机仿真技术-基于matlab的电子信息类课程课后答案,计算机仿真技术:基于MATLAB的电子信息类课程(第4版)...

    目 录 第1章 MATLAB语言概述\t1 1.1 MATLAB语言及特点\t1 1.2 MATLAB的工作环境\t2 1.2.1 MATLAB系统的安装\t2 1.2.2 MATLAB系统的启动\t ...

  3. 计算机科学与技术和电子信息类哪个好,电子信息类七个专业哪个最好

    很多同学想知道电子信息类七个专业哪个最好,以下是一些相关信息的整理,希望能对同学们有所帮助. 电子信息类七个专业哪个最好 信息与通信工程 首先,信息与通信工程属于典型的一级学科,在双一流学科名单.教育 ...

  4. 电子信息类学生必看的就业形势分析(转)

    电子信息工程专业就业形势分析近几年来,IT.信息与电子类的毕业生在市场供求关系上普遍还是保持稳定的状况,社会需求量相对乐观.按照2005年毕业生就业情况统计,信息产业.IT.电子类的毕业生在各理工类中 ...

  5. 电子信息计算机专业院校排名,2021电子信息类专业大学全国排名

    2021电子信息类专业大学全国排名2021-06-10 11:33:28文/叶丹 中国电子信息类专业最好的大学有哪几所,中国哪些本科大学电子信息门类专业实力最强?下面是全国最好的电子信息类专业大学排名 ...

  6. 计算机电子信息相关专业介绍,电子信息类专业有哪些

    电子信息类专业有哪些 导读:小编根据大家的需要整理了一份关于<电子信息类专业有哪些>的内容,具体内容:电子信息类专业包括电子信息工程.电子科学与技术.通信工程.微电子科学与工程.光电信息科 ...

  7. 计算机硬件有关的课程,电气、电子信息类专业计算机硬件.PDF

    电气.电子信息类专业计算机硬件.PDF 第23卷第3期 电气电子教学学报 V01.23No.3 2001年6月 OFEEEE OO1 J()URNAL Jun.2 电气.电子信息类专业计算机硬件 课程 ...

  8. 大数据统计分析毕业设计_基于大数据分析的电子信息类专业毕业设计成绩影响因素研究...

    基于大数据分析的电子信息类专业毕业设计成绩影响因素 研究 温芳琴 [期刊名称] <佳木斯教育学院学报> [年 ( 卷 ), 期] 2019(000)011 [摘要] 通过收集苏州科技大学天 ...

  9. 清华大学成立人工智能学堂班,土木类、电子信息类实行全程大类培养

    高考在即,5月18日,清华大学一年一度的校园开放日暨招生信息交流会如期举行.人工智能.大类贯通培养和专业认知,是本次校园开放日的关键词. 关键词1:人工智能 清华大学成立人工智能学堂班 开放日当天,清 ...

最新文章

  1. Idea不能新建package的解决
  2. xp系统下访问的两个组策略设置
  3. Xilinx基于模型的设计工具—Model Composer
  4. Nginx http和反向代理配置实例介绍
  5. 对传入的值,转成整数
  6. 外卖ERP管理系统(二)
  7. JVM(一) ---JVM的数据模型
  8. STM32中的timers中断处理函数
  9. ubuntu系统靠谱的清理内存的方法(can not allocate memory 问题)
  10. SiameseFC超详解
  11. .net项目开发工具最新动态
  12. HCL打开显示当前系统用户怎么解决_Mac键盘突然停止响应怎么办?
  13. python glob模块的应用
  14. mongodb、mysql、redis的性能对比
  15. 【路径规划】基于matlab GUI粒子群算法机器人避障路径规划【含Matlab源码 923期】
  16. OpenGL超级宝典(第7版)笔记7 细分曲面初介绍 清单3.7-3.8
  17. Vue项目中 实现ElementUi框架el-select拼音搜索功能
  18. 【数学】弧度和角度的转换
  19. linux设置mysql防火墙端口映射_Linux防火墙默认是关闭3306端口,iptables实现端口转发、端口映射及双向通路...
  20. 几款磁力搜索引擎,找资料更方便

热门文章

  1. linux输入法大小,推荐linux下的输入法--五笔+拼音
  2. Python实现元胞自动机——十字路口
  3. python学习笔记(九)异常处理
  4. 计算机毕业设计JavaWeb美食网站设计(源码+系统+mysql数据库+lw文档)
  5. 惠普打印机介质不匹配_惠普打印机的常见故障
  6. Java——Shape类
  7. STM32之SWD连接配置说明
  8. 切比雪夫1型滤波器C语言,切比雪夫1型滤波器.doc
  9. JDBC 基础、CRUD、分页 第一节
  10. 4. js移动端点触(tap)事件