DIGITAL DEVELOP【DOC精选】.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字式发展细节 这个单元是”测试发展参考手册”,这是在写数字测试及数字library时的指南。这个指南解释了数字组件测试的写作的基本技巧,学习VCL是在写library中最简单的部分,测试策略,标准的测试理论以及了解要测试的组件可能是最重要的。 架构VCL测试 在写VCL测试时,架构是非常重要的,一个好的型式可以产生更多可读的及组成VCL码,VCL测试是由三个部分所组成的:Declaration section,Vector Definition section及Vector Excution section,若有需要时,execution station可包含子程序定义(subroutines)。 要建立一个标准的技术,我们会使用这些语法来表示相同的状态:Asserted,True,或是Active。相对的状态是Negated,False,或是Inactive。 Declaration section: 这个部分是把名字和组件上的pins做联系,一个好的declaration section定义了组件上的每一个pin,使用pin的逻辑性名称并有好的disable的定义。 用数据(data book)所用的pin名称来定义pin的名称,在VCL中所用的名称和你所使用的数据(data book)相同,对往后若发生错误讯息时会很有帮助。 取名字时,在其上方若有横线时,可以这样取名字:WRITEbar。 如有需要,要确定有包含disable。很多测试在缺少disable时,可以隔离处理。例如,很多集成电路只须进入”Read Cycle”,即可disable,微处理器的Halt及Bus Request也可以考虑使用。 Vector Definition section: Vector定义部分会定义这个测试中使用的不同的pin的状态。在一个较佳的vector定义中,vector是用使用的pin来命名,而且它们会组织成逻辑性。 第一个vector要列出一个原始的vector,这个vector要设定大部分的讯号为false,像Output Enable的讯号通常是连到VCC或是Ground。这些讯号可能要被说明,这个vector通常是Set_up或是Initialization. 第二个vector是要让后面的vector做初始的动作,这个vector会保持住所有的input,通常是称为Keep_inputs或是Keep_control。 所有其它的vector应该要照字母排列或是一些其它的逻辑性数列。 所有的vector应该要有一个描述性的名字,控制pin的vector通常为true(asserted)或是false(negated)加在pin的名字上,例如,若Output Enable是逻辑low时动作,则vector Ebar_true会驱动这个输入为low,控制pin可以定义成有true及false的状态,例如,Chip Select是一个控制pin。非控制的pin一般为data pin,而且状态为“0”或是“1”,vector对于非控制的pin应该把”_high”或是”_low”要用在pin的名字上,这可以让测试的人不须要知道一个pin是动作在high或是low就可以了解这个操作。 一般只需要一个clock的vector。这个vector可以开关这个clock的pin,clock应该不能包含在不称为”clock”的vector中。控制讯号与clock讯号不要在同一时间变动,这样有可能导致”Race”的情况发生!如果clock是放在Vector中,那vector的实际影响是不重要的,clock应该要尽可能的明确。 vector应该只能做一件事,不是检查输出就是变动input。一个组合式(combinational)的测试是不能使用keeps,而且所有己给定之组件,其所有的输入及所有的输出必须要定义好。 在更复杂的接口控制器及微处理器,附加的vector宣告都是很有用的。通常vector可分为四个部分,第一个部分是由所有不是address或是data的程序段所组成。换言之,控制讯号。第二个是定义所有在这个测试中的address,下个声明要定义所有需要的data操作数(operands)。最后一个项目应该要有所有需要的OP码。最后三个部分应包含有vector在其中,而这个vector的address要从最低到最高的部分,或是最低的data或是OP码要最高。OP码应该要依据data book所提供的mnemonics为主。 一般而言,如果对每一个control pin都有一个true及false的vector,每一个data pin 都有一个high及low的vector,而且每一个addr

文档评论(0)

taotao0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档