数字电路设计盲点实例与对策分析

OFweek电子工程网 中字

  【bit_vector的数据形式变成Compile Error】

  ※现象

  利用VHDL叙述作List15-1的8位Counter设计时,使用所谓的「bit_vector」数据形式(Data Type),然而事实上bit_vector的bit数据形式抓取值为0与1,。本设计的BX bit_vector是企图设计2进位(Binary)Counter,期待BX的表示值能被当作2进位处理,在第18行该2进位祇用一个加算合成电路,不过该电路Com pile时却发生错误(Error)。

 

  

 

  ※原因分析

  主要原因是未呼叫bit_vector的算术演算Package造成上述错误(Error)。因为在第18行是作bit_vector的BX_fb与integer 1的算术演算,因此必需叫出算术演算Package,虽然第3行有呼叫st_logic_unsigned,不过该Package却无法支持(Support)bit_vector的算术演算。

  ※对策

  最简单的对策是呼叫可支持(Support) bit_vector的算术演算Package,具体方法是变更List15-1第3行的叙述:

  userk.bit_arith.all;

  必需注意的是关数名称会因Compiler有所不同,因此必需事先确认Compiler的使用说明(Manual)避免会产生错误(Error)。例如List15-2第1行至第20行就是叙述将bit_vector「Inclement」的关数,第23行至第44行也是使该关数叙述Counter,它相当于List15-2的第40行。除了使用所谓的bitinc关数之外,如果延用Source Code时,可将第1行至第20行复制(Copy)置于Source Code的前端,再以其它檔(File)读入制同一个Project,之后祇要如第25行将User Package叫出就可使用。

 

  

声明: 本网站所刊载信息,不代表OFweek观点。刊用本站稿件,务经书面授权。未经授权禁止转载、摘编、复制、翻译及建立镜像,违者将依法追究法律责任。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存