VHDL程序求救

[复制链接]
3380|3
 楼主| wy17416 发表于 2008-3-2 00:27 | 显示全部楼层 |阅读模式
library&nbsp;ieee;<br />use&nbsp;ieee.std_logic_1164.all;<br />use&nbsp;ieee.std_logic_unsigned.all;<br />use&nbsp;ieee.std_logic_arith.all;<br /><br />entity&nbsp;chufa2&nbsp;is<br />port(a:in&nbsp;std_logic_vector(0&nbsp;to&nbsp;31);--被除数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b:in&nbsp;std_logic_vector(0&nbsp;to&nbsp;31);--除数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c:inout&nbsp;std_logic_vector(0&nbsp;to&nbsp;31));--商<br />end&nbsp;chufa2;<br /><br />architecture&nbsp;abc&nbsp;of&nbsp;chufa2&nbsp;is<br />signal&nbsp;c1:std_logic_vector(0&nbsp;to&nbsp;31);<br />begin<br />&nbsp;process(a,b)<br />&nbsp;variable&nbsp;b1:std_logic_vector(0&nbsp;to&nbsp;32);<br />&nbsp;begin<br />&nbsp;&nbsp;&nbsp;if&nbsp;b=&quot;00000000000000000000000000000000&quot;&nbsp;then&nbsp;--b为全0<br />&nbsp;&nbsp;&nbsp;c&lt=(others=&gt'1');<br />&nbsp;&nbsp;&nbsp;elsif&nbsp;a&ltb&nbsp;then&nbsp;c&lt=(others=&gt'0');<br />&nbsp;&nbsp;&nbsp;else&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c(1&nbsp;to&nbsp;31)&lt=(others=&gt'0');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c(0)&lt='1';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b1:='0'&b;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l1:&nbsp;loop<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b1(1&nbsp;to&nbsp;32):=b1(0&nbsp;to&nbsp;31);--除数左移<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b1(0):='0';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c(1&nbsp;to&nbsp;31)&lt=b1(0&nbsp;to&nbsp;30);--商*2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c(0)&lt='0';<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit&nbsp;l1&nbsp;when&nbsp;a&ltb1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;loop&nbsp;l1;<br />&nbsp;&nbsp;&nbsp;end&nbsp;if;<br />&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;process;<br />end&nbsp;abc;<br />求救:为什么每次用quartus编译都出现&nbsp;<br />Error&nbsp;(10536):&nbsp;VHDL&nbsp;Loop&nbsp;Statement&nbsp;error&nbsp;at&nbsp;chufa2.vhd(20):&nbsp;loop&nbsp;must&nbsp;terminate&nbsp;at&nbsp;or&nbsp;before&nbsp;10000&nbsp;iterations
lxyscls 发表于 2008-3-4 09:07 | 显示全部楼层

11

意思说你循环次数太多吧~
风中De舞者 发表于 2008-3-8 09:48 | 显示全部楼层

loop must terminate at or before 10000 iterations

循环必须在10000次的时候或者之前停止&nbsp;&nbsp;<br /><br />看来是你的循环次数太多了&nbsp;&nbsp;应该修改程序
lml198694 发表于 2008-3-8 15:07 | 显示全部楼层

新手路过!不明白!

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

14

帖子

1

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