数字电路设计盲点实例与对策分析
【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叫出就可使用。
图片新闻
技术文库
最新活动更多
-
即日-12.26立即报名>>> 【在线会议】村田用于AR/VR设计开发解决方案
-
1月8日火热报名中>> Allegro助力汽车电气化和底盘解决方案优化在线研讨会
-
1月9日立即预约>>> 【直播】ADI电能计量方案:新一代直流表、EV充电器和S级电能表
-
即日-1.14火热报名中>> OFweek2025中国智造CIO在线峰会
-
即日-1.20限时下载>>> 爱德克(IDEC)设备及工业现场安全解决方案
-
即日-1.24立即参与>>> 【限时免费】安森美:Treo 平台带来出色的精密模拟
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论