请高手看看这段VHDL的错误

[复制链接]
2625|1
 楼主| sdnd2000 发表于 2007-5-12 16:28 | 显示全部楼层 |阅读模式
用VHDL写的8位比较器,麻烦大家帮小弟找找错误,用MAXPLUS2编译的,好像应该是数据类型不对吧,但我不会改,大家看看吧<br /><br />library&nbsp;ieee;<br />use&nbsp;ieee.std_logic_1164.all;<br />use&nbsp;ieee.std_logic_unsigned.all;<br />entity&nbsp;compare&nbsp;is<br />port(&nbsp;a,b:&nbsp;in&nbsp;&nbsp;std_logic_vector(&nbsp;7&nbsp;downto&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;d,e,f:&nbsp;out&nbsp;integer&nbsp;range&nbsp;1&nbsp;downto&nbsp;0);<br />end&nbsp;entity&nbsp;compare;<br /><br />architecture&nbsp;behave&nbsp;of&nbsp;compare&nbsp;is<br />begin<br />process(a,b)<br />variable&nbsp;m:&nbsp;integer&nbsp;range&nbsp;7&nbsp;downto&nbsp;0;<br />variable&nbsp;n:&nbsp;integer&nbsp;range&nbsp;7&nbsp;downto&nbsp;0;<br />begin<br />&nbsp;&nbsp;m:=&nbsp;conv_integer(a);<br />&nbsp;&nbsp;n:=&nbsp;conv_integer(b);<br />if&nbsp;m=n&nbsp;then&nbsp;d&lt='1';<br />elsif&nbsp;m&gtn&nbsp;then&nbsp;e&lt='1';<br />elsif&nbsp;n&gtm&nbsp;then&nbsp;f&lt='1';<br />end&nbsp;if;&nbsp;<br />end&nbsp;process;<br />end&nbsp;architecture&nbsp;behave;<br />
picklas 发表于 2007-5-12 17:33 | 显示全部楼层

re

因为没看到具体的错误提示,只能猜测了<br />1&nbsp;conv_integer是不是实现&nbsp;std_logic_vector向integer的转化,我记不清了<br />2&nbsp;conv_integer两边的数据范围不匹配&nbsp;8bit&nbsp;std_logic_vector的数据范围-128~+128&nbsp;或&nbsp;0-256&nbsp;,0-7的范围不够。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

17

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部