为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

74LS190内部功能电路设计报告

2018-04-30 32页 doc 313KB 102阅读

用户头像

is_003124

暂无简介

举报
74LS190内部功能电路设计报告74LS190内部功能电路设计报告 EDA技术课程设计报告 成 绩 评 定 表 学生姓名 XXX 班级学号 10030401 74LS190内部功能电子科学与 专 业 课程设计题目 电路设计 技术 评 语 组长签字: 成绩 20 年 月 日 日期 ?????????????????????????????????????????????????? I EDA技术课程设计报告 课程设计任务书 学 院 信息科学与工程学院 专 业 电子科学与技术 学生姓名 XXX 班级学号 1103040125 课程设...
74LS190内部功能电路设计报告
74LS190内部功能电路设计 EDA技术课程设计报告 成 绩 评 定 表 学生姓名 XXX 班级学号 10030401 74LS190内部功能电子科学与 专 业 课程设计题目 电路设计 技术 评 语 组长签字: 成绩 20 年 月 日 日期 ?????????????????????????????????????????????????? I EDA技术课程设计报告 课程设计任务书 学 院 信息科学与工程学院 专 业 电子科学与技术 学生姓名 XXX 班级学号 1103040125 课程设计题目 74LS190内部功能电路设计 实践教学要求与任务: (1)74LS190 内部功能电路设计; (2)使用SMIC 工艺库smic18mm_1P6M 完成设计; (3)完成全部:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、物理验证等。 与进度安排: 第1-2天:讲解题目,准备参考资料,检查、调试实验软硬件,进入设计环境,开始#设计#和验证方案的准备; 第3-5天:完成设计,经指导老师验收后进入模块电路设计(验收设计文档); 第6-9天:完成模块电路代码输入,并完成代码的仿真(验收代码与仿真结果); 第 9-10天:约束设计,综合(验收约束与综合结果); 第11-12天:布局布线,完成版图(验收版图结果); 第13-14天:物理验证、后仿真,修改设计(验收物理验证结果和时序仿真结果‎‎); 第15天:整理设计资料,验收合格后进行答辩。 指导教师: 专业负责人: 学院教学副院长: 201 年 月 日 201 年 月 日 201 年 月 日 ?????????????????????????????????????????????????? II EDA技术课程设计报告 摘 要 74LS190电路是十进制同步可逆计数器,它是单时钟控制的,能够完成置数、加减计数、保持功能,还有进位或借位、级联等功能。本文详细介绍了依据功能要求74ls190内部电路方案设计的过程。并在此基础上将整体电路分为加法模块、减法模块、RC信号产生模块、进位借位等主要功能模块。实现中采用Verilog HDL描述、ModelSim进行功能仿真、通过Design Compiler进行逻辑综合,然后在Cadence公司的encounter13.1上完成布局布线并输出网表,最后再用Modelsim进行后仿真,验证设计的功能与时序的正确性。 关键词 Verilog HDL;FPGA;仿真;综合;74LS190可逆计数器 ;PR ?????????????????????????????????????????????????? III EDA技术课程设计报告 目录 引 言.............................................................................................................. 错误~未定义书签。 1 总体电路结构设计.................................................................................. 错误~未定义书签。 1.1 电路功能与性能................................................................................. 错误~未定义书签。 1.2 主要调度算法 .................................................................................. 错误~未定义书签。 1.3 电路接口 ......................................................................................... 错误~未定义书签。 1.4 电路功能框图 .................................................................................. 错误~未定义书签。 1.5 74ls190电路原理框图 ...................................................................... 错误~未定义书签。 2 模块设计 ................................................................................................... 错误~未定义书签。 2.1 加、减法计数器模块设计 ................................................................ 错误~未定义书签。 3 设计仿真 ................................................................................................................................. 6 3.1 仿真的功能列表 ............................................................................................................ 6 3.2 仿真平台构建和仿真结果 .............................................................................................. 6 3.2.1 仿真平台与激励.................................................................................................. 6 3.2.2 电路功能仿真结果 .............................................................................................. 7 4 约束及综合实现 ................................................................................................................... 8 ....................................................................................... 8 4.1 约束策略................................ 4.2 脚本.............................................................................................................................. 8 4.3 综合文件......................................................................................................................10 4.4 综合过程...................................................................................................................... 11 5 布局布线 ................................................................................................................................13 5.1 文件准备......................................................................................................................13 5.2 布局布线过程...............................................................................................................13 5.3 物理验证......................................................................................................................15 6 后仿真....................................................................................................................................18 ............................................................................................................................................19 参考文献 .....................................................................................................................................20 附录A 电路源代码 ...................................................................................................................21 附录B 顶层设计源代码 ............................................................................................................22 附录C 设计约束代码 ...............................................................................................................24 附录D IO文件代码 ..................................................................................................................26 ?????????????????????????????????????????????????? IV EDA技术课程设计报告 引 言 随着可编程器件FPGA/CPLD成本的逐渐降低,以及开发测试技术的日益普及,FPGA/CPLD以其较好的集成度和稳定性、可编程实现与升级的特点,在电子设计领域得到了越来越多的应用。 本设计要实现一个74ls190内部电路功能设计,要求完成加减可逆计数、保持、置数等功能的电路设计。本设计采用FPGA/CPLD的方案,使用Altera的Cyclone芯片,开发过程中采用Altera的集成工具Quartus II 11.0实现设计。基本流程是这样的:首先根据设计任务要求进行方案的设计,包括引脚确定、时序关系、功能框图与模块划分等;然后依据模块设计进行模块HDL代码的输入与功能仿真,功能仿真采用HDL仿真工具Modelsim SE 10.1a;完成功能仿真后再Quartus II 11.0平台下进行电路的约束与综合;综合结果无误后进行布局与布线,生成配置文件;在下载前进行时序分析;最后下载、测试,从而完成设计。 本设计主要采用的是LED灯的显示来记加减可逆计数、保持、置数等功能的。 ?????????????????????????????????????????????????? 1 EDA技术课程设计报告 1 总体电路结构设计 1.1 电路功能与性能 74ls190就是用同一个时钟信号通过一定的电路结构完成计数功能。在异步并行置数的作用下实现异步置数功能,在使能端和加减控制端的共同作用下实现加法计数、减法计数功能。根据题目要求,输入频率是1HZ时,通过控制端实现加减可逆计数、保持、置数等功能。 1.2 主要调度算法 74ls190内部电路设计,该表反映的是集成可逆计数器74ls190具有:同步可逆计数功能,异步并行置数功能,保持功能。74ls190没有专用的清零输入端,但可以借助LD异步并行置数端置数0000间接实现清零功能。 状态如表1.1所示。 表1.1 状态表 输入 输出 注 LD CT UD CP D3 D2 D1 D0 Q3 Q2 Q1 Q0 0 X X X d3 d2 d1 d0 d3 d2 d1 d0 异步并行置数 1 0 0 X X X X 加法计数 CB=Q3*Q0 CB=(~Q3)*(~Q2)*(~Q1)*(~Q0) 1 0 1 X X X X 减法计数 1 1 X X X X X X 保持 ?????????????????????????????????????????????????? 2 EDA技术课程设计报告 1.3 电路接口 74ls190内部电路具体接口如下表1.2所示。 表1.2 接口信号表 名称 IO属性 描述 备注 Ld In 置数端口输入 Ct In 保持端口输入 u In 加减法选择控制端口输‎‎入 Cp In 时钟控制端口输入 上升沿有效 d In 输入信号 q Out 输出信号 Co Out 进位和借位 1.4 电路功能框图 依照功能,将电路分为5个功能模块:加法、减法计数器模块,保持模块,置数模块,运算结果存储模块。加法计数器主要完成加法计数,减法计数器主要完后减法计数,保持模块保持输出原信号,置数模块输出输入值,存储模块储存上次运算产生的结果并送到下一次运算。 电路的功能框如图1.1所示。 加 法 计 数 保置 存储运 持 数 算结果 加 法 计 数 图1.1 可逆计数器电路功能框图 ?????????????????????????????????????????????????? 3 EDA技术课程设计报告 1.5 74ls190电路原理框图 74ls190电路原理RTL级图如图1.2所示。 图1.2 74ls190电路RTL级原理图 ?????????????????????????????????????????????????? 4 EDA技术课程设计报告 2 模块设计 设计共有5个功能模块,分别是加法、减法计数器模块,保持模块,置数模块,运算结果存储模块。。这里对模块的详细功能和时序关系进行细致说明。 2.1 加、减法计数器模块设计 加、减法计数器主要完成对输入信号进行上升沿有效判断,进而完成计数器的计数功能。加、减法计数器模块的接口信号为CP,具体说明如下表2.1所示: 表2.1 信号处理模块接口信号表 名称 IO属性 描述 备注 Ld In 置数端口输入 Ct In 保持端口输入 u In 加减法选择控制端口输‎‎入 Cp In 时钟控制端口输入 上升沿有效 d In 输入信号 q Out 输出信号 Co Out 进位和借位 加、减法计数器模块流程图如图2.3所示。 图2.3 加、减计数器模块的流程图 ?????????????????????????????????????????????????? 5 EDA技术课程设计报告 3 设计仿真 功能验证分为两部分,一部分是电路功能与时序的软件仿真,采用Moldsim SE 10.1a完成;另一部分是将配置文件下载后在开发板上对设计进行测试,通过开关、按键、LED等方式进行。 3.1 仿真的功能列表 功能仿真与测试要针对每一条设计需要实现的功能进行。设计中要求实现的、需要仿真与测试功能列表如下: 1) 异步置数功能——当异步置数信号低有效时,电路应处于异步置数状态:运行 控制信号处于无效、任何输入没有响应、计数器显示置数数值;当异步置数信 号变为高电平时,电路正常工作。 2) 时钟信号——当有时钟时电路正常工作;没有时钟信号时,除异步置数信号外 所有的输入没有响应,所有的输出没有变化。 3) 使能端口控制信号——当使能端控制信号为高电平正常的计数功能,当使能信 号处于低电平时处于保持状态。 4) 加、减法控制信号——当加、减法控制信号处于低电平时做加法运算,当加减 法控制信号处于高电平时做减法运算。 5) LED显示——LED亮是高电平、灭是低电平。 3.2 仿真平台构建和仿真结果 3.2.1 仿真平台与激励 仿真激励的构造只要针对需要验证的功能即可,这里构造一个测试平台,相应文件为mydesign_tb.v,其中将源代码design.v中的激励信号引入,并采用查看波形的方式确认输出。 ?????????????????????????????????????????????????? 6 EDA技术课程设计报告 3.2.2 电路功能仿真结果 )、3.1(b)、3.1(c)所示: 电路功能仿真结果如图3.1(a 图3.1(a) 电路功能仿真图 图3.1(b) 电路功能仿真图 图3.1(c) 电路功能仿真图 如图所示:上升沿有效,输入时钟为1Hz脉冲。图3.1(a)主要是异步置数、使能控制、加减控制、并行置数的波形图。图3.1(b)主要是实现在加减控制的作用下进行加法计数的波形图。图3.1(c)主要是实现在加减控制的作用下进行减法计数的波形图。 ?????????????????????????????????????????????????? 7 EDA技术课程设计报告 4 约束及逻辑综合 4.1 约束策略 对于一个由时钟控制的数字逻辑电路来说,时序是最为重要的。Top_iopad.v是本设计所要约束的文件。本设计定的时钟CLK的频率为25MHz,即周期为40ns。输入为LD,CT,UD,D[3:0],输出为Q[3:0]和CO,他们都是由CLK信号同步控制,所以这些信号延时约占时钟信号的60%,即输入输出延时设置24ns。本设计所有输入输出信号都是clk信号同步控制,故并不存在纯组合逻辑电路。 4.2 脚本 首先是读入源代码,也就是HDL文本描述的设计文件,此处不用制定目录,Design Compiler会在搜索目录中搜索。tcl语句如下: -format verilog {core.v Top_iopad.v} read_file 读入设计原文件后,一般设定当前设计,这样约束条件才可能有针对性的施加。tcl语句如下: current_design dcLabTop 设定当前设计后,要完成链接,也就是将设计与库链接起来,用于映射过程中搜索相应的单元,完成综合。tcl语句如下: Link 检查设计,主要完成检查转换的设计。tcl语句如下: check_design 然后对设计设定时序约束,这是最重要的一项约束,用于设定设计的工作速度。针对不同的设计部分,有不同的约束方法。针对本次设计,采用全同步,双时钟工作的实际情况。以下语句设定时钟及属性、输入输出信号时间余量。 设定名称为CLK的时钟,由于采用25MHz的时钟,故设定时钟周期为40ns。tcl语句如下: create_clock -name "CP" -period 40 -waveform { 20 40 } { CP } 设定输入信号最大时间延时。tcl语句如下: set_input_delay -clock CP -max -rise 20 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}" set_input_delay -clock CP -max -fall 20 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} ?????????????????????????????????????????????????? 8 EDA技术课程设计报告 {D[2]} {D[1]}" set_input_delay -clock CP -min -rise 5 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}" set_input_delay -clock CP -min -fall 5 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}" 设定输出信号最大时间延时。tcl语句如下: set_output_delay -clock CP -max -rise 10 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO" set_output_delay -clock CP -max -fall 10 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO" set_output_delay -clock CP -min -rise 5 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO" set_output_delay -clock CP -min -fall 5 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO" 告诉综合器不要对时钟网络进行驱动,这个工作将在后续版图布局布线中进行。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 设定线负载模型,本设计选择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 true set_fix_multiple_port_nets -all -buffer_constants 中等能力进行综合。tcl语句如下: compile -map_effort medium -area_effort medium 输出时序报告。tcl语句如下: ?????????????????????????????????????????????????? 9 EDA技术课程设计报告 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.log 4.3 综合文件 首先在DC工程目录下建立74LS190文件夹作为本次实验dc的操作主目录。在该目录下,建立设计存放目录如source、约束文件目录如constrn、输出网表文件目录ntlst、报告输出目录rpt、log文件目录log、dc启动目录work,等等。 在综合前需要准备以下几个文件,以便使软件可以正常工作。 .synopsys_dc.setup文件即启动项文件: 在这个文件中,需要将所用到的库单元文件的路径和电路设计文件所存放的路径写入,以便软件在工作时能够找到这些文件并正确识别,本设计将它存放在work目录下。 *.v文件: 因为本次课程设计所使用电路描述语言为verilog HDL语言,所以至少需要将顶层TOP设计文件、功能电路的设计文件,即准备好一个正确可用的设计,以便用于约束综合,本设计将*.v文件存放在code目录下。 Tcl语句文件: 在本次课程设计中使用的是命令界面,使用Tcl语言进行操作,所以需要准备好相应的Tcl命令,以便对设计进行约束综合等相应操作,本设计将它存放在constrn目录下。 库文件: 本设计采用的是tsmc公司的0.18um标准单元库的所有文件,存放在目录:/opt/eda/designKit/下面。 ?????????????????????????????????????????????????? 10 EDA技术课程设计报告 4.4 综合过程 4.4.1 综合流程 按照所定义的电路的测量特征所要达到的目标,Design Compiler综合一个电路并将其放入目标库中,这样可以生成适用于你的计算机辅助设计工程(CAE)工具的原理图或网表。 综合的过程如下: , 读入设计及其子设计 , 设置顶层的设计特性参数 , 设置实际时序和面积目标参数 , 执行check_design验证设计,识别并且更正错误 , 进行Design Compiler优化 综合流程如下: 设置启动项文件?读入源代码?链接,设计检查?时序路径约束?编译综合?结束 4.4.2 综合操作过程 首先打开Linux中命令终端。进入以准备好的.synopsys_dc.setup文件所在路径。执行命令,打开Design Compiler。进入Tcl命令界面,命令如下: cd Project/synopsys/DC2013.3/74LS190/work dc_shell-t 运行后,读入文件将在终端得到如下图图4.1界面,即已经进入DC的Tcl命令界面。 ?????????????????????????????????????????????????? 11 EDA技术课程设计报告 图3.1 Design Compiler的Tcl命令界面 因为已经将所要使用的Tcl语句准备好并形成文件,所以可以使用source命令来将Tcl命令全部读入并执行。命令如下: rule.con 这里我们逐一运行命令,运行后,将在终端得到如下界面,即已经进入约束综合过程。 ?????????????????????????????????????????????????? 12 EDA技术课程设计报告 5 布局布线 5.1 文件准备 同所有的EDA工具一样,Encounter在进行设计之前也要准备文件。一般必须要有时序文件lib、SI工具CeltIC进行信号完整性分析的cdb文件、用于RC提取的电容表文件Tblcap、综合工具输出的门级综合网表、定义工艺的版图交换文件LEF(Library Exchange Format)、时序约束的sdc(Synthesis Design Constraints)文件、PAD位置约束的io文件。其中经过Design Compiler对其进行综合后获得了网表文件FIR_top.sv以及约束文件74LS190_top.sdc,pad约束的io文件需要手工书写。 这里, I/O PAD已经在综合前添加进入网表中,所以在布局布线前只需在网表中的顶层模块下加入电源PAD和拐角连接PAD,就行了如下图所示。 图5.1 在网表中加入电源PAD和拐角连接PAD 5.2 布局布线过程 首先打开Linux 中命令终端,进入启动Encounter 的工作目录,执行命令,打开 Encounter。 SOC Encounter 软件正常启动后按照以下流程操作: 1) Design_import,读入设计所需要的库文件和设计文件; 2) FloorPlan,对整个版图进行布局规划; 3) Global Net Connection,把标准单元,电源PAD 等版图中用到的cell 的pin 和 电源的net 一一对应起来; ?????????????????????????????????????????????????? 13 EDA技术课程设计报告 4) Add Power Rings,添加core 的电源环和地环,在数字标准单元区域的周围放置 power ring,用于提供数字部分的电源和地; 5) Add Stripes,用于在芯片中插入一些横的竖的电源线,保证供电; 6) Special Route (SRoute),把标准单元的电源以及给core 供电的电源pad 和core 电源环连接起来; 7) Placement Blockage,在电源的Stripes 和Routing 的blockage 的地方放置一些 blockage,防止在这些地方; 8) Placement,放置标准单元; 9) Trail Routing,进行初步的布线,布线完成进行setup time 的时序分析和优化; 10) Create Clock Tree,为大扇出的时钟线布时钟树,完成建立时钟树后进行hold time 时序分析和优化; 11) NanoRoute,细节优化布线,是encounter 的最强大工具,用于细节、优化布线。 12) SI,对信号有噪声线进行修补和优化; 完成以上操作后得到版图如下。 图5.2 74LS190电路的版图 ?????????????????????????????????????????????????? 14 EDA技术课程设计报告 5.3 物理验证 这里物理验证主要是通过Encounter的Verify进行几何规则检查(Verify Geometry)、连线的连接 和金属密度检查(Verify Metal Destiny)。 性(Verify Connectivity) 几何规则检查的报告如下。 图5.3 几何规则检查报告 连线的连接性检查报告如下。 ?????????????????????????????????????????????????? 15 EDA技术课程设计报告 .4 连线的连接性检查报告 图5 金属密度验证报告 图5.5 金属密度检查报告 ?????????????????????????????????????????????????? 16 EDA技术课程设计报告 因为该电路结构较简单,所以完成的版图金属密度会很低,可以考虑添加对电路没有影响的金属填充物,添加Matel Filler,金属密度会有所升高。 图5.6 添加金属后的金属密度检查报告 ?????????????????????????????????????????????????? 17 EDA技术课程设计报告 6 后仿真 本设计采用的后仿真工具同样是Modelsim。从之前的布局布线中导出电路的网表(*.v)和延时文件(*.sdf),并构建测试平台和激励,在测试平台中通过加入以下句子就会在仿真时引用延时文件: initial $sdf_annotate("./74LS190_soce.sdf",mydesign); 后仿真结果如图6.1和图6.2。 图6.1 后仿真图 图6.2 放大后的后仿真图 如图6.2所示,当CLK上升沿到来到输出Q的变化,有大约1.4ns的延迟。 ?????????????????????????????????????????????????? 18 EDA技术课程设计报告 总结 本电路可以完成74ls190内部电路设计的要求。将LED灯、开关等和FPGA连接,下载到FPGA中。当异步置数端是低电平时实现异步置数功能,当异步置数端是高电平是可以正常的计数;当使能端是低电平时实现保持功能,当使能端是高电平时可以正常的计数功能;当加减控制端是低电平时实现加法计数,当加减控制端是高电平时实现减法计数。设计程序的功能达到了设计的要求。 通过对74ls190内部电路原理的理解、分析、设计出74ls190内部电路的思路,设 测试通过后应用MODELSIM仿真软件对程序进行波形仿真,通过计后对程序进行测试, 对输出时钟波形的分析,程序功能最终达到了设计的目的和要求。在设计过程中充分发挥了MODELSIM的仿真功能。设计完成后基本掌握了MODELSIM软件的操作过程。 采用硬件描述语言和原理图输入方式,利用synopsys公司的Design_compiler逻辑综合软件,方便地完成了74ls190内部电路的逻辑综合,并输出网表文件以及延时文件。之后运用encounter13.1软件进行了布局布线的工作并产生了对应的网表,延时和GDS?文件。最后在encounter生成的网表和延时文件基础上进行后仿真,结果与预期的效果吻合。该设计方法简单方便、节约资源、可移置性强、便于系统升级,因此,在时钟要求不太严格的系统中应用非常广泛,同时在以后的FPGA设计发展中也有很大的应用空间。 本次课程设计主要是运用工具encounter实现74ls190内部电路的布局布线和优化,相对于其他的题目来说,比较简单,但在实验做的时候还是遇到不少的问题。而在解决这些问题的过程中,不仅学到了知识,吸取了经验,还掌握了工具的使用方法甚至锻炼了我学习和探索的能力。 ?????????????????????????????????????????????????? 19 EDA技术课程设计报告 参考文献 [1]潘松,黄继业,EDA技术实用教程(第三版)[M].北京科学出版社,2006 [2]擦光辉,CPLD/FPGA的开发与应用[M].北京:电子工业出版社,2002 [3]张静亚.FPGA系统设计中资源分配的分析和研究[J].信息化研究,2009 [4]吴玉吕,胡水强,王文娟。基于CPLD/FPGA的74ls190的设计与实现[L].世界电子元 器件,2007.03 [5]王金明 数字系统设计与verilog HDL(第四版),电子工业出版社,2011.1?????????????????????????????????????????????????? 20 EDA技术课程设计报告 附录A 电路源代码 module mydesign(Q,D,CT,UD,CP,CO,LD); input[3:0] D; input CT; input UD; input CP; input LD; output[3:0] Q; output CO; wire[3:0] D; wire CT,UD,CP,LD; reg[3:0] Q; reg CO; always@(posedge CP or negedge LD) if(~LD)Q[3:0]<=D[3:0]; else if(CT) Q[3:0]<=Q[3:0]; else if(~UD) {Q[3:0],CO}<={(Q[3:0]+4'b0001),(&Q[3:0])}; else {Q[3:0],CO}<={(Q[3:0]-4'b0001),(~(|Q[3:0]))}; endmodule ?????????????????????????????????????????????????? 21 EDA技术课程设计报告 附录B 顶层设计源代码 module dcLabTop(D,CT,UD,CO,Q,CP,LD); input [3:0]D; input CT; input UD; output CO; output [3:0]Q; input CP; input LD; // wire [3:0]D; wire CT; wire UD; wire CO; wire [3:0]Q; wire CP; wire LD; // wire [3:0]dc; wire ctc; wire udc; wire coc; wire [3:0]qc; wire cpc; wire ldc; PDIDGZ ct(.PAD(CT), .C (ctc)); PDIDGZ ud(.PAD(UD), .C (udc)); PDIDGZ d3(.PAD(D[3]), .C (dc[3])); PDIDGZ d2(.PAD(D[2]), .C (dc[2])); ?????????????????????????????????????????????????? 22 EDA技术课程设计报告 PDIDGZ d1(.PAD(D[1]), .C (dc[1])); PDIDGZ d0(.PAD(D[0]), .C (dc[0])); PDO04CDG co(.I(coc), .PAD(CO)); PDO04CDG q3(.I(qc[3]), .PAD(Q[3])); PDO04CDG q2(.I(qc[2]), .PAD(Q[2])); PDO04CDG q1(.I(qc[1]), .PAD(Q[1])); PDO04CDG q0(.I(qc[0]), .PAD(Q[0])); PDIDGZ cp(.PAD(CP), .C (cpc)); PDIDGZ ld(.PAD(LD), .C (ldc)); // mydesign mydesign ( .d ( dc ), // I .ct ( ctc ), // I .ud ( udc ), // I .co ( coc ), // O .q ( qc ), // O .cp ( cpc), // I .ld ( ldc )) ; // I // endmodule ?????????????????????????????????????????????????? 23 EDA技术课程设计报告 附录C 设计约束代码 gui_start read_file -format verilog {core.v Top_iopad.v} current_design dcLabTop link check_design # create_clock -name "CP" -period 40 -waveform { 20 40 } { CP } set_dont_touch_network [ find clock CP ] set_input_delay‎‎ -clock CP -max -rise 20 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}" set_input_delay -clock CP -max -fall 20 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}" set_input_delay -clock CP -min -rise 5 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}" set_input_delay -clock CP -min -fall 5 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}" # set_output_delay -clock CP -max -rise 10 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO" set_output_delay -clock CP -max -fall 10 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO" set_output_delay -clock CP -min -rise 5 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO" set_output_delay -clock CP -min -fall 5 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO" # set_driving_cell -lib_cell PDIDGZ -pin C -from_pin PAD -library tpz973gbc { {D[3]} {D[2]} {D[1]} ?????????????????????????????????????????????????? 24 EDA技术课程设计报告 {D[0]} CT UD {D[0]} LD CP {D[3]} {D[2]} {D[1]} } set_load 3.0 [get_ports "Q CO"] check_timing # set_operating_conditions -min_library fast -min fast -max_library slow -max slow set_wire_load_model -name tsmc18_wl20 -library slow # set_max_fanout 20 dcLabTop set_max_transition 2 dcLabTop # set verilogout_no_tri true set_fix_multiple_port_nets -all -buffer_constants compile -map_effort medium -area_effort medium # rc > ../log/tim.log write -f verilog -hier -o ../ntlst/74LS190_top.sv write -f ddc -hier -o ../log/74LS190_top.ddc write_sdc ../log/74LS190_top.sdc report_area > ../log/74LS190_top.area.log write_sdf -version 2.1 ../log/74LS190_top.sdf ?????????????????????????????????????????????????? 25 EDA技术课程设计报告 附录D IO文件代码 Version: 2 Pad: PAD_VDD1 W Pad: PAD_VSS1 E Pad: wclk W Pad: winc W Pad: wrst_n W Pad: wfull W Pad: rclk E Pad: rinc E Pad: rrst_n E Pad: rempty E Pad: wdata7 N Pad: wdata6 N Pad: wdata5 N Pad: wdata4 N Pad: wdata3 N Pad: wdata2 N Pad: wdata1 N Pad: wdata0 N Pad: rdata7 N Pad: rdata6 N Pad: rdata5 N Pad: rdata4 N Pad: rdata3 N Pad: rdata2 N Pad: rdata1 N Pad: rdata0 N ?????????????????????????????????????????????????? 26 EDA技术课程设计报告 Pad: PAD_VDD2 E Pad: PAD_VSS2 W Pad: CORNER1 NW Pad: CORNER2 NE Pad: CORNER3 SE Pad: CORNER4 SW ?????????????????????????????????????????????????? 27
/
本文档为【74LS190内部功能电路设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索