Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2563039
  • 博文数量: 320
  • 博客积分: 9650
  • 博客等级: 中将
  • 技术积分: 3886
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 21:05
文章分类

全部博文(320)

文章存档

2024年(1)

2017年(5)

2016年(10)

2015年(3)

2014年(3)

2013年(10)

2012年(26)

2011年(67)

2010年(186)

2009年(9)

分类:

2010-09-20 21:37:32

转自:http://blog.chinaaet.com/detail/8884.html

记得 之前有网友提出过在Quartus II编译完成后的Flow Summary里出现的Virtual Pin,如图1所示。那它到底是怎么回事呢?

 

图1 Flow Summary

    Virtual Pin即虚拟管脚。在实际应用中,通常对于一个大的设计工程,Team Leader会将整个 工程划分几个模块分别交给数位工程师完成。而对于一个固定的工程,它所使用的总的I/O数量是预先 按需求定义好的,也就是说最终要使用的FPGA器件的I/O数 量是一定要满足要求的。但是,在划分的几个模块中,它们之间也许不仅有需要分配给实际I/O的信 号,更多的是与内部其他模块间相互通信的信号。这些信号在独立的模块中,独立的设计编译中,他们总的IO数 量很可能超出所选用FPGA器件的I/O数 量,因此导致编译报错。另外,有时我们也会对一些IP核做测试,而这个测试只是简单的把这个IP核的所有接口都引出来,有时我们所需要使用的器件的I/O数 量不够用,也会导致编译报错。怎么办?

    Quartus II的Virtual Pin就能解决这些问题。想必说到这里,大伙也明白了这个Virtual Pin做什么用了。对,它就是要把工程里定义的I/O不 作为需要连接到器件I/O上的I/O。

    那么这个功能如 何使用呢?很简单,图1中Flow Summary里 对应的工程现在使用了可用104个I/O的55个,我们添加100个名为test_pin的output I/O,直接编译肯定 报错。在Quartus II的Tcl Console中 输入以下tcl命令:

set_instance_assignment –name VIRTUAL_PIN ON –to test_pin

    然后重新编译, 得到如图2所示的Flow Summary。 使用了100个virtual pins。 正是前面所添加的test_pin。

 

图2 添加virtual pins后的Flow Summary

    如果需要取消这 个virtual pins设置,那么输入tcl命 令:

set_instance_assignment –name VIRTUAL_PIN OFF –to test_pin

    这个语法是固定 的,对于不同的需要设置virtual pins的管脚,只要替代前面的test_pin名字即可。

阅读(2669) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~