ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:801.43KB ,
资源ID:26519784      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26519784.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Formality使用指南.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Formality使用指南.docx

1、Formality使用指南禁止scan和jtag功能 20运行match 21Verify 21说 明 FiFo的Tutorial目录下包含以下几个子目录: Rtl: fifo的RTL源代码;包含fifo.v, gray_counter.v, push_ctrl.v, gray2bin.v, pop_ctrl.v, rs_flop.v。 Lib:门级网表需要的技术库;包含lsi_10k.db。 Gate:综合的门级网表;包含fifo.vg 和fifo_mod.vg。 Gate_with_scan:插入扫描链的门级网表; 包含fifo_with_scan.v。 Gate_with_scan_jt

2、ag:带有扫描链和JTAG链的门级网表; 包含fifo_with_scan_jtag.v。一.验证RTL与GATE网表RTL源代码:fifo.v 门级网表: fifo.vg检查文件fifo.v和门级网表fifo.vg的功能一致性设置RTL源代码fifo.v为reference design设置门级网表fifo.vg为Implementation design(一)图形用户界面进行形式验证在UNXI提示符下进入tutorial目录:输入fm(或formality)。1.设置reference design 点击formality图形界面的reference按钮,进入Read Design Fil

3、e ,点击Verilog按钮,出现添加Verilog文件的对话框。如下图:1.1读取源文件 在对话框中选择:Rtl目录下的fifo.v文件,点击Open按钮,打开fifo.v源代码。如图:1.2设置搜索目录(上述源文件还未执行Load files命令) 点击option按钮,出现set verilog read option对话框,选择Variable,在DesingWare root directory(hdlin_dwroot)出输入:echo $SYNOPSYS 或Design Compiler的安装目录(本工作站的目录为/opt/tools/synopsys),如下图:1.3设置搜索目

4、录 在Set verilog read option对话框中的VCS Style Option中选择Library Directory(-y),在Enter Diectory Name处浏览选择rtl目录,然后点击add按钮添加查找目录rtl。选择Library Extension(-libext),在Enter 处填上后缀名.v,然后点击add按钮添加,点击OK按钮。1.4加载源文件然后点击LOAD FILES按钮,加载源文件fifo.v,如下图: 1.5设置fifo为reference的顶层再点击Set Top Design按钮,出现下图。在choose a library 中选择WORK

5、, 在choose a design中选择fifo(顶层设计的模块名)在Set and link the top design中点击Set Top,出现下图同时在Reference按钮上出现绿色的对号符:2.设置Implementation Design 点击Implement按钮,在Read Design Files 中点击Verilog,出现Add verilog files对话框,选择gate目录下的verlog网表文件fifo.vg, 点击Load Files加载网表文件fifo.vg,2.1加载Technology library 选择Read DB Libraries按钮,点击DB

6、按钮,出现Add DB Files对话框,选择lib目录下的lsi_10k.db库文件,(确保Read as share library被选中)点击LOAD Files,加载库文件。 选择Set Top Design,在Choose a library中选择WORK (Design Library),在Choose a design中选择顶层模块名fifo,点击Set Top按钮。此时在Implementation出现绿色的对号符。3.设置环境(Setup) 在这一步主要是设置常量,比如对应一些增加了SCAN扫描链和JTAG链的设计,需要设置一些常量,使这些SCAN和JTAG等功能的禁止。由于

7、fifo.v 是源代码,fifo.vg只是综合的源代码,没有添加SCAN和JTAG链。故可以省略这一步4.Match检查reference design 和 Implemention design的比较点是否匹配,点击Match按钮,选择Run Matching按钮,进行匹配检查。 出现下图结果:没有不匹配的比较点,可以进入下一步。5.Verify点击OK键,完成。现在你已经准备好,可以进行fifo.v和fifo.vg功能是否一致。选择Verify按钮,点击Verify All,进行形式验证。验证结束,结果出现“Verify”fail的对话框,提示两种功能不一致。 6. Debug 由于验证失

8、败,系统直接进入DEBUG工作区。在Failing Points的报告工作区里显示两设计的出不一致的比较点,在Failing Points的报告工作区内点击鼠标右键,选择Show All Cone Size ,在Size栏里显示每个compar point所包含的cell的数目。一般调试是从cell数目最小的compare point开始。在这里我们从第一个compare point开始。选择r:/WORK/fifo/push_logic/full_flag/q_out_rego, 击鼠标右键,选择菜单中的view Logic Cones,出现Logic Cones View窗口。在这个新窗口

9、里显示的是reference design 和Imeplemention design的原理图,观看这个原理图我们发现在Implementation的CLK网线是用红色标识的,在logic cone view中,用红色标识的net网线是表示错误的。我们观察发现在reference design的CLK中表示的logic值为0,而Imeplemention design的CLK中表示的logic值为1。为了找出CLK net值不同的原因,分别选择reference design和Imeplemention design的CLK网线,选择右键菜单里的Isolate Subcone命令,出现下图。

10、在图中可以看出在Imeplemention design中驱动CLK的逻辑里多了一个反相器,这有可能是综合工具为了满足hold-time的要求而增加的反相器。我们可以修改fifo.vg网表文件和重新综合一个网表文件,来修改这个错误。在gate目录下有一个fifo_mod.vg文件是修改后的网表文件。关闭Logic cone View,重新用fifo_mod.vg作为Implementation design。选择Implementation,点击Read Design Files中的Verilog,点击yes来移除当前的Implementation Design设计(fifo.vg)。重新选择

11、fifo_mod.vg,点击Load files,加载文件。 Set top Design,选择WORK和fifo 同样,跳过Setup点击Match,选择Run Matching,运行完后出现下图: 点击Verify,选择Verify all,运行完出现下图,提示“Verification Successded!” 点击OK后,出现下图,显示所有compare point都pass。到此,完成形式验证。7清理工作选择工具栏中的remove reference 和remove Implementation按钮,移除reference design 和Implementation design在

12、formality的命令行输入:remove_library all命令移除technology library:lsi_10k.db。(二)命令行方式进行形式验证在上一节不退出formality图形界面,在formality的命令栏中输入:history fifo_rtl_gate.fms,生成脚本文件fifo_rtl_gate.fms。退出formality图形界面 fifo_rtl_gate.fms的内容set hdlin_dwroot /opt/tools/synopsys_2003.06read_verilog -container r -libname WORK -vcs -y /

13、home/user/tutorial/rtl/ +libext+.v -01 /home/user/tutorial/rtl/fifo.v set_top r:/WORK/fifo read_verilog -container i -libname WORK -01 /home/user/tutorial/gate/fifo_mod.vg read_db -container i /home/user/tutorial/lib/lsi_10k.db set_top i:/WORK/fifomatchverify 命令行方式运行 在unix命令提示行下输入命令: fm_shell f fifo

14、_rtl_gate.fms unix命令提示行输入命令fm_shell,进入formality的命令行模式。 在formality的命令行模式fm_shell提示符下输入命令: source fifo_rtl_gate.fms 二. 检查GATE网表和插入扫描链的GATE网表 检查fifo_mod.vg和fifo_with_scan.v的功能 设置fifo_mod.vg为reference design 设置fifo_with_scan.v为implementation design1. set referenc design 点击reference按钮,在Read Design Files

15、中点击Verilog,选择gate目录下的verlog网表文件fifo_mod.vg,点击Load Files加载网表文件fifo_mod.vg 在Read DB Files 中点击DB加载lsi_10k.db库文件,点击Load Files加载 Set top,设置fifo(并不是已读入的文件)模块为顶层。2. set implementation design 点击implementation按钮,在Read Design Files 中点击Verilog,选择gate_with_scan目录下的verlog网表文件fifo_with_scan.v,点击Load Files加载网表文件fi

16、fo_with_scan.v 可以省略Read DB Libraries这一步,因为在设置fifo_mod.vg时,我们已经加载lsi_10k.db为共享库文件。 Set top,设置fifo模块为顶层。3. setup 由于在fifo_with_scan.v网表里加入了扫描链(scan)逻辑,在验证之前,我们必须把这一扫描链(scan)逻辑功能禁止(disable)。 进入Setup界面后,选择Constants,点击Set按钮,出现set Constant对话框。设置SCAN链的功能无效 选择Implementation,选择Instance的顶层fifo,在顶层fifo的ports目录下

17、面搜索找到名为test_se(SCAN功能的使能信号)的管脚, 在Constant Value中选择值0,设置test_se的值为0,点击OK按钮。 4. match 点击match,进入比较点(compare point)匹配步骤。点击Run Matching,运行 运行结果:报告一个不匹配的compare point。点击ok,查看不匹配点。 选择Unmatched Points,可以看到报告栏里报告Implementation Object的test_se引脚不匹配。这个引脚是Implementation Design中多余的compare point. 我们在前一步骤里,已经把它禁止啦

18、。故可以跳过这个不匹配点,进入下一步骤Verification。 5. verify 选择Verify,点击Verify All按钮,进行形式检查。 运行结果如图: 结果报告如图:三. 检查带有扫描链和JTAG链的GATE网表和插入扫描链的GATE网表 检查fifo_with_scan_jtag.v和fifo_with_scan.v一致性 fifo_with_scan_jtag.v是带有扫描SCAN链逻辑和JTAG链逻辑的网表文件 上一节中我们已经验证带有scan的网表文件fifo_with_scan.v和fifo_mod.vg功能相同 把fifo_with_scan.v作为参考设计,来检查f

19、ifo_with_scan_jtag.v的功能 和前面步骤一样,分别设置fifo_with_scan.v为Reference design ,设置fifo_with_scan_jtag.v为Implementation design。 选择Setup,进入设置步骤。完成下面两个工作。 禁止fifo_with_scan.v的scan的功能 禁止fifo_with_scan_jtag.v的jtag的功能。 禁止scan和jtag功能 选择Constants,点击Set,进入设置常量界面。 选择reference的fifo的test_se引脚,设置test_se引脚值为0,禁止scan功能。 选择I

20、mplementation的fifo的test_se引脚,设置test_se引脚值为0,禁止scan功能, 选择Implementation的fifo的jtag_trst和jtag_tms引脚,设置这两引脚值为0,禁止jtag功能。 运行match 选择Match,点击Run Matching。运行结果如下: 发现17个不匹配点,选择Unmatched Points,查看报告。发现Implementation Object这些不匹配点都是和jtag相关的。在前面一步骤里,我们已经禁止啦jtag功能。故可以跳过这些不匹配点。 Verify 选择Verify,点击Verify All,进行检查步骤。运行结果如下: 检查完毕,在fifo_with_scan.v网表里加入jtag链后,没有影响原来设计的功能。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1