74LS190内部功能电路设计报告_第1页
74LS190内部功能电路设计报告_第2页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 成 绩 评 定 表XXX班级学号74LS190 内部功能课程设计题目电路设计20 年 月 日 课程设计任务书信息科学与工程学院 专 业电子科学与技术XXX(1)74LS190 内部功能电路设计;(2)使用 SMIC 工艺库 smic18mm_1P6M 完成设计;(3)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、物理验证等。第1-2 天:讲解题目,准备参考资料,检查、调试实验软硬件,进入设计环境,开始设计方案和验证方案的准备;第11-12 天:布局布线,完成版图(验收版图结果);第13-14 天:物理验证、后仿真,修改设计(验收物理验证结果和时序仿

2、真结果);第15 天:整理设计资料,验收合格后进行答辩。学院教学副院长:201 年 月 日201 年 月 日 201 年 月 日 EDA 技术课程设计报告摘 要74LS190 电路是十进制同步可逆计数器,它是单时钟控制的,能够完成置数、加减计数、保持功能,还有进位或借位、级联等功能。本文详细介绍了依据功能要求 74ls190内部电路方案设计的过程。并在此基础上将整体电路分为加法模块、减法模块、RC 信号产生模块、进位借位等主要功能模块。实现中采用 Verilog HDL描述、ModelSim 进行功能仿真、通过 Design Compiler 进行逻辑综合,然后在 Cadence 公司的 en

3、counter13.1上完成布局布线并输出网表,最后再用 Modelsim 进行后仿真,验证设计的功能与时序的正确性。关键词 Verilog HDL;FPGA;仿真;综合;74LS190 可逆计数器 ;PRIII 目录引 言.11 总体电路结构设计.21.1 电路功能与性能.21.2 主要调度算法.21.3 电路接口 .31.4 电路功能框图.31.5 74ls190 电路原理框图.42 模块设计.52.1 加、减法计数器模块设计.53 设计仿真.63.1 仿真的功能列表.63.2 仿真平台构建和仿真结果.63.2.1 仿真平台与激励.63.2.2 电路功能仿真结果.74 约束及综合实现.84

4、.1 约束策略 .84.2 脚本 .84.3 综合文件 .104.4 综合过程 .115 布局布线.135.1 文件准备 .135.2 布局布线过程.135.3 物理验证 .156 后仿真.18总结.19参考文献.20附录A 电路源代码.21附录B 顶层设计源代码.22附录C 设计约束代码.24附录D IO 文件代码.26 EDA 技术课程设计报告引 言随着可编程器件 FPGA/CPLD 成本的逐渐降低,以及开发测试技术的日益普及,FPGA/CPLD 以其较好的集成度和稳定性、可编程实现与升级的特点,在电子设计领域得到了越来越多的应用。本设计要实现一个 74ls190 内部电路功能设计,要求完

5、成加减可逆计数、保持、置数等功能的电路设计。本设计采用 FPGA/CPLD 的方案,使用 Altera 的 Cyclone 芯片,开发过程中采用 Altera 的集成工具 Quartus II 11.0 实现设计。基本流程是这样的:首先根据设计任务要求进行方案的设计,包括引脚确定、时序关系、功能框图与模块划分等;然后依据模块设计进行模块 HDL 代码的输入与功能仿真,功能仿真采用 HDL 仿真工具 Modelsim SE 10.1a;完成功能仿真后再 Quartus II 11.0 平台下进行电路的约束与综合;综合结果无误后进行布局与布线,生成配置文件;在下载前进行时序分析;最后下载、测试,从

6、而完成设计。本设计主要采用的是 LED 灯的显示来记加减可逆计数、保持、置数等功能的。1 1 总体电路结构设计1.1 电路功能与性能74ls190 就是用同一个时钟信号通过一定的电路结构完成计数功能。在异步并行置数的作用下实现异步置数功能,在使能端和加减控制端的共同作用下实现加法计数、减法计数功能。根据题目要求,输入频率是 1HZ 时,通过控制端实现加减可逆计数、保持、置数等功能。1.2 主要调度算法74ls190 内部电路设计,该表反映的是集成可逆计数器 74ls190 具有:同步可逆计数功能,异步并行置数功能,保持功能。74ls190 没有专用的清零输入端,但可以借助LD 异步并行置数端置

7、数 0000 间接实现清零功能。状态如表 1.1 所示。表 1.1 状态表输入注0111X001X01XXd3 d2 d1 d0X X X XX X X XX X X XCB=(Q3)*(Q2)*(Q1)*(Q0)X保持 EDA 技术课程设计报告1.3 电路接口74ls190 内部电路具体接口如下表 1.2 所示。表 1.2 接口信号表描述In置数端口输入保持端口输入加减法选择控制端口输入时钟控制端口输入输入信号CtuInInCpdIn上升沿有效InqOutOut输出信号Co进位和借位1.4 电路功能框图依照功能,将电路分为 5 个功能模块:加法、减法计数器模块,保持模块,置数模块,运算结果存

8、储模块。加法计数器主要完成加法计数,减法计数器主要完后减法计数,保持模块保持输出原信号,置数模块输出输入值,存储模块储存上次运算产生的结果并送到下一次运算。电路的功能框如图 1.1 所示。存储运算结果加 法计 数图 1.1 可逆计数器电路功能框图3 74ls190 电路原理 RTL 级图如图 1.2 所示。图 1.2 74ls190 电路 RTL 级原理图 设计共有 5 个功能模块,分别是加法、减法计数器模块,保持模块,置数模块,运算结果存储模块。这里对模块的详细功能和时序关系进行细致说明。加、减法计数器主要完成对输入信号进行上升沿有效判断,进而完成计数器的计数功能。加、减法计数器模块的接口信

9、号为 CP,具体说明如下表 2.1 所示:表 2.1 信号处理模块接口信号表名称IO 属性描述备注LdCtuIn置数端口输入保持端口输入加减法选择控制端口输入时钟控制端口输入输入信号Cpdq输出信号Co图 2.3 加、减计数器模块的流程图5 3 设计仿真功能验证分为两部分,一部分是电路功能与时序的软件仿真,采用 Moldsim SE 10.1a完成;另一部分是将配置文件下载后在开发板上对设计进行测试,通过开关、按键、LED等方式进行。3.1 仿真的功能列表功能仿真与测试要针对每一条设计需要实现的功能进行。设计中要求实现的、需要仿真与测试功能列表如下:1) 异步置数功能当异步置数信号低有效时,电

10、路应处于异步置数状态:运行控制信号处于无效、任何输入没有响应、计数器显示置数数值;当异步置数信号变为高电平时,电路正常工作。2) 时钟信号当有时钟时电路正常工作;没有时钟信号时,除异步置数信号外所有的输入没有响应,所有的输出没有变化。3) 使能端口控制信号当使能端控制信号为高电平正常的计数功能,当使能信号处于低电平时处于保持状态。4) 加、减法控制信号当加、减法控制信号处于低电平时做加法运算,当加减法控制信号处于高电平时做减法运算。5) LED 显示LED 亮是高电平、灭是低电平。3.2 仿真平台构建和仿真结果3.2.1 仿真平台与激励仿真激励的构造只要针对需要验证的功能即可,这里构造一个测试

11、平台,相应文件为 mydesign_tb.v,其中将源代码 design.v 中的激励信号引入,并采用查看波形的方式确认输出。 电路功能仿真结果如图 3.1(a)、3.1(b)、3.1(c)所示:图 3.1(a) 电路功能仿真图图 3.1(b) 电路功能仿真图图 3.1(c) 电路功能仿真图如图所示:上升沿有效,输入时钟为1Hz 脉冲。图 3.1(a)主要是异步置数、使能控制、加减控制、并行置数的波形图。图3.1(b)主要是实现在加减控制的作用下进行加法计数的波形图。图 3.1(c)主要是实现在加减控制的作用下进行减法计数的波形图。7 4 约束及逻辑综合4.1 约束策略对于一个由时钟控制的数字

12、逻辑电路来说,时序是最为重要的。Top_iopad.v 是本设计所要约束的文件。本设计定的时钟 CLK 的频率为 25MHz,即周期为 40ns。输入为 LD,CT,UD,D3:0,输出为 Q3:0和 CO,他们都是由 CLK 信号同步控制,所以这些信号延时约占时钟信号的 60%,即输入输出延时设置 24ns。本设计所有输入输出信号都是 clk 信号同步控制,故并不存在纯组合逻辑电路。4.2 脚本首先是读入源代码,也就是 HDL 文本描述的设计文件,此处不用制定目录,Design Compiler会在搜索目录中搜索。tcl 语句如下:read_file -format verilog core

13、.v Top_iopad.v读入设计原文件后,一般设定当前设计,这样约束条件才可能有针对性的施加。tcl 语句如下:current_design dcLabTop设定当前设计后,要完成链接,也就是将设计与库链接起来,用于映射过程中搜索相应的单元,完成综合。tcl 语句如下:Link检查设计,主要完成检查转换的设计。tcl 语句如下:check_design然后对设计设定时序约束,这是最重要的一项约束,用于设定设计的工作速度。针对不同的设计部分,有不同的约束方法。针对本次设计,采用全同步,双时钟工作的实际情况。以下语句设定时钟及属性、输入输出信号时间余量。设定名称为 CLK 的时钟,由于采用 2

14、5MHz 的时钟,故设定时钟周期为 40ns。tcl 语句如下:create_clock -name CP -period 40 -waveform 20 40 CP 设定输入信号最大时间延时。tcl 语句如下:set_input_delay -clock CP -max -rise 20 D3 D2 D1 D0 D0 UD CT LD D3D2 D1 EDA 技术课程设计报告set_input_delay -clock CP -max -fall 20 D3 D2 D1 D0 D0 UD CT LD D3D2 D1set_input_delay -clock CP -min -rise 5

15、D3 D2 D1 D0 D0 UD CT LD D3D2 D1set_input_delay -clock CP -min -fall 5 D3 D2 D1 D0 D0 UD CT LD D3D2 D1设定输出信号最大时间延时。tcl语句如下:set_output_delay -clock CP -max -rise 10 Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0COset_output_delay -clock CP -max -fall 10 Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0COset_output_delay -clock CP -min -rise 5 Q3 Q2

16、Q1 Q0 Q3 Q2 Q1 Q0COset_output_delay -clock CP -min -fall 5 Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0CO告诉综合器不要对时钟网络进行驱动,这个工作将在后续版图布局布线中进行。tcl 语句如下:set_dont_touch_network get_clocks CP检查时序。tcl 语句如下:check_timing设定综合的操作条件。tcl 语句如下:set_operating_conditions -max slow -max_library slow -min fast -min_library fast设定线负载模型,本设计

17、选择 tsmc18_wl20 模型。tcl 语句如下:set_wire_load_model -name tsmc18_wl20 -library slow设定扇出最大负载能力。tcl 语句如下:set_max_fanout 20 dcLabTop设定输出网表的格式规则,以消除 gate level nelist 中的 assign。tcl 语句如下:set verilogout_no_tri trueset_fix_multiple_port_nets -all -buffer_constants中等能力进行综合。tcl 语句如下:compile -map_effort medium -ar

18、ea_effort medium9 输出时序报告。tcl 语句如下:rc ./log/tim.log输出网表。tcl 语句如下:write -f verilog -hier -o ./ntlst/74LS190_top.sv输出综合数据文件。tcl语句如下:write -f ddc-hier -o ./log/74LS190_top.ddc输出延时文件。tcl语句如下:write_sdf -version 2.1 ./log/74LS190_top.sdf输出面积文件。tcl语句如下:report_area ./log/74LS190_top.area.log4.3 综合文件首先在 DC 工程

19、目录下建立 74LS190 文件夹作为本次实验 dc 的操作主目录。在该目录下,建立设计存放目录如 source、约束文件目录如 constrn、输出网表文件目录 ntlst、报告输出目录 rpt、log文件目录 log、dc 启动目录 work,等等。在综合前需要准备以下几个文件,以便使软件可以正常工作。.synopsys_dc.setup 文件即启动项文件:在这个文件中,需要将所用到的库单元文件的路径和电路设计文件所存放的路径写入,以便软件在工作时能够找到这些文件并正确识别,本设计将它存放在work 目录下。*.v 文件:因为本次课程设计所使用电路描述语言为 verilog HDL 语言,

20、所以至少需要将顶层 TOP 设计文件、功能电路的设计文件,即准备好一个正确可用的设计,以便用于约束综合,本设计将*.v 文件存放在 code 目录下。Tcl 语句文件:在本次课程设计中使用的是命令界面,使用 Tcl 语言进行操作,所以需要准备好相应的 Tcl 命令,以便对设计进行约束综合等相应操作,本设计将它存放在constrn 目录下。库文件:本设计采用的是 tsmc 公司的 0.18um 标准单元库的所有文件,存放在目录:/opt/eda/designKit/下面。 EDA 技术课程设计报告4.4 综合过程4.4.1 综合流程按照所定义的电路的测量特征所要达到的目标,Design Comp

21、iler综合一个电路并将其放入目标库中,这样可以生成适用于你的计算机辅助设计工程(CAE)工具的原理图或网表。综合的过程如下:读入设计及其子设计设置顶层的设计特性参数设置实际时序和面积目标参数执行check_design验证设计,识别并且更正错误进行Design Compiler优化综合流程如下:设置启动项文件读入源代码链接,设计检查时序路径约束编译综合结束4.4.2 综合操作过程首先打开 Linux 中命令终端。进入以准备好的.synopsys_dc.setup 文件所在路径。执行命令,打开Design Compiler。进入Tcl 命令界面,命令如下:cd Project/synopsys

22、/DC2013.3/74LS190/workdc_shell-t运行后,读入文件将在终端得到如下图图4.1 界面,即已经进入DC 的Tcl 命令界面。11 图 3.1 Design Compiler 的 Tcl 命令界面因为已经将所要使用的 Tcl 语句准备好并形成文件,所以可以使用 source 命令来将 Tcl 命令全部读入并执行。命令如下:这里我们逐一运行命令,运行后,将在终端得到如下界面,即已经进入约束综合过程。 同所有的 EDA 工具一样,Encounter 在进行设计之前也要准备文件。一般必须要有时序文件 lib、SI 工具 CeltIC 进行信号完整性分析的 cdb 文件、用于

23、RC 提取的电容表文件 capTbl、综合工具输出的门级综合网表、定义工艺的版图交换文件LEF(Library Exchange Format)、时序约束的 s d(c SynthesisDesign Constraints)文件、PAD位置约束的 io 文件。其中经过Design Compiler 对其进行综合后获得了网表文件 FIR_top.sv 以及约束文件 74LS190_top.sdc,pad 约束的 io 文件需要手工书写。这里, I/O PAD已经在综合前添加进入网表中,所以在布局布线前只需在网表中的顶层模块下加入电源 PAD和拐角连接 PAD,就行了如下图所示。图 5.1 在网

24、表中加入电源 PAD和拐角连接 PADSOC Encounter 软件正常启动后按照以下流程操作:1) Design_import,读入设计所需要的库文件和设计文件;2) FloorPlan,对整个版图进行布局规划;3) Global Net Connection,把标准单元,电源 PAD 等版图中用到的 cell 的 pin 和电源的 net 一一对应起来;13 4) Add Power Rings,添加 core 的电源环和地环,在数字标准单元区域的周围放置power ring,用于提供数字部分的电源和地;9) Trail Routing,进行初步的布线,布线完成进行 setup time

25、 的时序分析和优化;10) Create Clock Tree,为大扇出的时钟线布时钟树,完成建立时钟树后进行 hold time时序分析和优化; 这里物理验证主要是通过 Encounter 的 Verify进行几何规则检查(Verify Geometry)、连线的连接性(Verify Connectivity)和金属密度检查(Verify Metal Destiny)。几何规则检查的报告如下。图 5.3 几何规则检查报告15 图 5.4 连线的连接性检查报告金属密度验证报告图 5.5 金属密度检查报告 因为该电路结构较简单,所以完成的版图金属密度会很低,可以考虑添加对电路没有影响的金属填充物

26、,添加 Matel Filler,金属密度会有所升高。图 5.6 添加金属后的金属密度检查报告17 本设计采用的后仿真工具同样是 Modelsim。从之前的布局布线中导出电路的网表(*.v)和延时文件(*.sdf),并构建测试平台和激励,在测试平台中通过加入以下句子就会在仿真时引用延时文件:initial $sdf_annotate(./74LS190_soce.sdf,mydesign);图 6.2 放大后的后仿真图如图 6.2 所示,当 CLK 上升沿到来到输出 Q 的变化,有大约 1.4ns 的延迟。 EDA 技术课程设计报告总结本电路可以完成 74ls190 内部电路设计的要求。将 L

27、ED 灯、开关等和 FPGA 连接,下载到 FPGA 中。当异步置数端是低电平时实现异步置数功能,当异步置数端是高电平是可以正常的计数;当使能端是低电平时实现保持功能,当使能端是高电平时可以正常的计数功能;当加减控制端是低电平时实现加法计数,当加减控制端是高电平时实现减法计数。设计程序的功能达到了设计的要求。通过对 74ls190 内部电路原理的理解、分析、设计出74ls190 内部电路的思路,设计后对程序进行测试,测试通过后应用 MODELSIM 仿真软件对程序进行波形仿真,通过对输出时钟波形的分析,程序功能最终达到了设计的目的和要求。在设计过程中充分发挥了 MODELSIM 的仿真功能。设

28、计完成后基本掌握了 MODELSIM 软件的操作过程。采用硬件描述语言和原理图输入方式,利用 synopsys 公司的 Design_compiler 逻辑综合软件,方便地完成了 74ls190 内部电路的逻辑综合,并输出网表文件以及延时文件。之后运用 encounter13.1 软件进行了布局布线的工作并产生了对应的网表,延时和GDS文件。最后在 encounter 生成的网表和延时文件基础上进行后仿真,结果与预期的效果吻合。该设计方法简单方便、节约资源、可移置性强、便于系统升级,因此,在时钟要求不太严格的系统中应用非常广泛,同时在以后的 FPGA 设计发展中也有很大的应用空间。本次课程设计

29、主要是运用工具 encounter 实现 74ls190 内部电路的布局布线和优化,相对于其他的题目来说,比较简单,但在实验做的时候还是遇到不少的问题。而在解决这些问题的过程中,不仅学到了知识,吸取了经验,还掌握了工具的使用方法甚至锻炼了我学习和探索的能力。19 参考文献1潘松,黄继业,EDA 技术实用教程(第三版)M.北京科学出版社,20062擦光辉,CPLD/FPGA 的开发与应用M.北京:电子工业出版社,20023张静亚.FPGA 系统设计中资源分配的分析和研究J.信息化研究,20094吴玉吕,胡水强,王文娟。基于 CPLD/FPGA 的 74ls190 的设计与实现L.世界电子元器件,2007.035王金明 数字系统设计与 verilog HDL(第四版),电子工业出版社,2011

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论