数字集成电路综合设计7人表决器电路前端设计大学毕业设计论文.docx
- 文档编号:426741
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:32
- 大小:1.27MB
数字集成电路综合设计7人表决器电路前端设计大学毕业设计论文.docx
《数字集成电路综合设计7人表决器电路前端设计大学毕业设计论文.docx》由会员分享,可在线阅读,更多相关《数字集成电路综合设计7人表决器电路前端设计大学毕业设计论文.docx(32页珍藏版)》请在冰豆网上搜索。
数字集成电路综合设计7人表决器电路前端设计大学毕业设计论文
摘要
7人表决器电路是一简单的输入信号检测与处理、产生运算控制信号的逻辑电路。
本文详细介绍了依据功能要求进行运算控制电路方案设计的过程,并在此基础上将整体电路分为数据接收模块、数据处理模块、结果显示模块等主要功能模块。
电路设计完成后通过DesignCompiler对电路进行逻辑综合。
使用Tcl命令编写电路的约束文件,设定约束条件,对电路进行优化以保证设计的功能性,同时生成网表文件、时序报告、面积报告,并进行结果分析。
再通过延时文件与顶层文件的激励进行电路功能的时序仿真,分析设计的可行性。
再通过Primetime对电路进行静态时序分析,得到静态时序报告。
最后通过IC_Compler对生成的网表进行物理实现,生成GDSII版图信息。
关键词DesignCompiler;Primetime;逻辑综合;静态时序分析;物理实现;
引言
现代集成电路技术急剧发展,输百万级晶体管电路使设计面临着巨大的挑战。
如果没有计算机的辅助和建立了很好的设计方法是不可能完成这一工作的。
Synopsys公司是全球半导体和电子行业先进的EDA(电子设计自动化)软件工具和专业化服务提供商,为设计复杂集成电路(IC)、FPGA(现场可编程门阵列)和SOC(SystemonChip,系统级芯片)产品的公司提供业内最完善的工具,使客户能够用最短时间并以最低风险向市场推出最好的电子产品。
从高水平的综合能力到门电路的设置,Synopsys为工程技术人员面临的最严峻挑战提供全部解决方案,并帮助他们将电子设计推向极致。
现今,Synopsys在全球半导体技术发展潮流中担当着重要角色[2]。
Synopsys公司发布的“DesignCompiler”软件,简称“DC”,是一种逻辑合成工具。
通过改进电路延迟时间的计算方法,缩小了逻辑合成时的时序与布局完成后的最终时序之间的偏差。
DC得到全球60多个半导体厂商、380多个工艺库的支持。
据最新Dataquest的统计,Synopsys的逻辑综合工具占据91%的市场份额。
DC是十二年来工业界标准的逻辑综合工具,也是Synopsys最核心的产品。
它使IC设计者在最短的时间内最佳的利用硅片完成设计。
它根据设计描述和约束条件并针对特定的工艺库自动综合出一个优化的门级电路。
它可以接受多种输入格式,如硬件描述语言、原理图和网表等,并产生多种性能报告,在缩短设计时间的同时提高设计性能。
本设计采用VerilogHDL语言描述、DesignCompiler进行约束及综合。
DesignCompiler的操作有Tcl命令来实现,还要用Modelsim进行时序仿真,用PrimeTime进行静态时序分析,实验环境为Linux操作系统。
完成7人表决器电路前端设计。
1总体电路结构设计
1.1电路功能
7人表决器电路功能主要集中在四方面。
一是在用户使用开关输入状态,高电平代表“1”,低电平代表“0”;二是数据输入后要对数据进行锁存。
三是输入锁存后进行数据的实时运算,通过运算电路计算出赞成即“1”的人数和反对“0”的人数,并进行判断赞成人数是否大于3。
由于FPGA属于硬件电路,没有使用CPU软核时,没有任何指令集,所以需要使用自带的IP核进行必要的加减运算;四是运算结果得出后,可以准确的将赞成和反对人数的数量显示在数码管上。
电路的具体功能罗列如下:
(1)采用7个开关作为7人表决结果得输入设备。
(2)采用2位8段数码管和一位LED灯作为输出显示设备。
1.2关键功能电路设计
本电路设计的主要难点在于2位8段数码管的静态显示。
本课程设计给定的工作时钟位1kHZ,显示1位8段数码管的时间为1MS,扫描2位的时间为2MS。
而人的眼睛遗留时间20MS左右。
次时钟工作频率是符合设计要求的。
依照功能,将电路分为3个功能:
开关输入锁存模块;运算模块用于将开关收集到的数据按照一定要求进行计算出正确的结果;数码管显示模块,用于显示计算结果。
电路功能框图如图1.1所示
图1.1电路功能框图
1.3电路接口
整个设计接口可以分为2部分,分别是数据的输入以及数据的实时输出。
具体接口如下表1.1所示。
表1.1接口信号表
名称
IO属性
描述
备注
clk
In
时钟频率1kHz
rst
In
复位信号输入端口
低电平有效
vote
In
表决数据输入端口
pass
Out
表决结果输出端口
cnt_sel
Out
数码管位选端口
disp_seg
Out
数码管段选端口
1.4顶层TOP的设计
因为本设计是要一起综合功能电路,所以需要顶层的文件,该文件为vote7TOP.v,此部分内部包含了功能电路。
具体接口如下表1.3所示:
表1.3顶层接口信号表
名称
IO属性
描述
备注
CLK
In
外部输入时钟频率1kHz
RSTN
In
复位信号
低电平有效
VOTE
In
表决信号
高电平有效
PASS
Out
表决结果信号
大于一半有效
CNT_SEL
Out
数码管段选
高电平有效
DISP_SEG
Out
数码管位选
高电平有效
电路功能框图如图1.2所示:
图1.2顶层设计功能框图
2设计约束及脚本
2.1约束设计
约束部分是本次课程设计的重点内容,对于一个由时钟控制的数字逻辑电路来说,时序是最为重要的。
Vote7TOP.v是本设计所要约束的文件。
虽然人的肉眼所能分辨的最大频率一般为20Hz,但该设计在计算机上实现仿真运行,故暂不考虑分频问题。
所有使用本设计的工作时钟为1kHZ,即CLK周期设置为1000000ns。
输入为vote,输出为cnt_sel,disp_seg[6:
0],pass,他们都是由CLK信号同步控制,所以这些信号延时约占时钟信号的60%,即输入输出延时设置为600000ns。
本次对此电路的综合约束需要分为以下几部分:
对CLK时钟信号进行设置,对每个输入输出信号的约束,对扇出和驱动负载能力能度需要进行约束设置,最后输出报告。
2.2脚本设计
首先是读入源代码,也就是HDL文本描述的设计文件,此处不用制定目录,DesignCompiler会在搜索目录中搜索。
Tcl语句如下:
read_verilog{vote7.vvote7TOP.v}
读入设计原文件后,一般设定当前设计,这样约束条件才可能有针对性的施加。
Tcl语句如下:
current_designvote7TOP
设定当前设计后,要完成链接,也就是将设计与库链接起来,用于映射过程中搜索相应的单元,完成综合。
Tcl语句如下:
Link
检查设计,主要完成检查转换的设计。
Tcl语句如下:
check_design
然后对设计设定时序约束,这是最重要的一项约束,用于设定设计的工作速度。
针对不同的设计部分,有不同的约束方法。
针对本次设计,采用全同步,单时钟工作的实际情况。
以下语句设定时钟及属性、输入输出信号时间余量。
设定名称为CLK的时钟,由于采用1KHz的时钟,故设定时钟周期为1000000ns。
Tcl语句如下:
create_clock-name"clk"–period1000000[get_portsCLK]
设定时钟的渡越时间为0.2ns。
Tcl语句如下:
set_clock_transition-max0.2[get_clocksclk]
设定输入信号最大时间延时。
Tcl语句如下:
set_input_delay-clockclk-max600000[get_ports"VOTE"]
设定输出信号最大时间延时。
Tcl语句如下:
set_output_delay-clockclk-max600000[get_ports"DISP_SEGCNT_SELPASS"]
告诉综合器不要对时钟网络进行驱动,这个工作将在后续版图布局布线中进行。
Tcl语句如下:
set_dont_touch_network[get_clocks"clk"]
set_ideal_network[get_ports"CLK"]
告诉综合器不要对复位进行驱动。
Tcl语句如下:
set_dont_touch_network[get_portsRST]
set_ideal_network[get_portsRST]
检查时序。
Tcl语句如下:
check_timing
设定综合的操作条件。
Tcl语句如下:
set_operating_conditions-maxWORST-max_librarysaed90nm_max_hth-minWORST-min_librarysaed90nm_max_hth
设定线负载模型,本设计选择saed90nm_max_hth模型。
Tcl语句如下:
set_wire_load_model-nameForQa
设定输出负载电容。
Tcl语句如下:
set_load-pin_load2[get_ports"DISP_SEGCNT_SELPASS"]
设定扇出最大负载能力。
Tcl语句如下:
set_max_fanout30vote7TOP
驱动能力设定。
Tcl语句如下:
set_drive2.0[get_ports"CLKRST"]
设定输出网表的格式规则,以消除gatelevelnelist中的assign。
Tcl语句如下:
setverilogout_no_tritrue
set_fix_multiple_port_nets-all-buffer_constants
最大能力进行综合。
Tcl语句如下:
compile-maphigh
输出时序报告。
Tcl语句如下:
rc>../output/tim.log
输出网表。
Tcl语句如下:
write-fverilog-hier-o../netlst/vote7TOP.v
输出综合数据文件。
Tcl语句如下:
write-fddc-hier-o../output/vote7TOP.ddc
输出延时文件。
Tcl语句如下:
write_sdf../output/vote7TOP.sdf
输出面积文件。
Tcl语句如下:
report_area>../output/vote7TOP.area.log
3逻辑综合过程
3.1综合文件
首先在目录下建立dclab作为本次实验dc的操作主目录。
在dclab目录下,建立设计存放目录如code、约束文件目录如constrn、输出网表文件目录netlst、报告输出目录output、dc启动目录work,库文件目录SnonpsysDC等等。
在综合前需要准备以下几个文件,以便使软件可以正常工作。
.synopsys_dc.setup文件即启动项文件:
在这个文件中,需要将所用到的库单元文件的路径和电路设计文件所存放的路径写入,以便软件在工作时能够找到这些文件并正确识别,本设计将它存放在work目录下。
*.v文件:
因为本次课程设计所使用电路描述语言为verilogHDL语言,所以至少需要将顶层TOP设计文件、功能电路的设计文件准备好,即准备好一个正确可用的设计,以便用于约束综合,本设计将*.v文件存放在code目录下。
Tcl语句文件:
在本次课程设计中使用的是命令界面,使用Tcl语言进行操作,所以需要准备好相应的Tcl命令,以便对设计进行约束综合等相应操作,本设计将它存放在constrn目录下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字集成电路 综合 设计 表决器 电路 前端 大学 毕业设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)