请教VHDL高手,一个另我很头疼的问题

[复制链接]
9749|1
 楼主| skyfcz 发表于 2008-9-8 17:07 | 显示全部楼层 |阅读模式
<br />LIBRARY&nbsp;IEEE;<br />USE&nbsp;IEEE.STD_LOGIC_1164.ALL;<br /><br />ENTITY&nbsp;encoder8_3_B&nbsp;IS<br />&nbsp;&nbsp;&nbsp;&nbsp;PORT(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COIN:IN&nbsp;STD_LOGIC_VECTOR(7&nbsp;DOWNTO&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SI_5:IN&nbsp;STD_LOGIC;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EN,RESET:IN&nbsp;STD_LOGIC;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COIN_CODE:OUT&nbsp;STD_LOGIC_VECTOR(3&nbsp;DOWNTO&nbsp;0));<br />END&nbsp;encoder8_3_B;<br />ARCHITECTURE&nbsp;behavior&nbsp;OF&nbsp;encoder8_3_B&nbsp;IS<br />&nbsp;&nbsp;&nbsp;&nbsp;SIGNAL&nbsp;ADDER:INTEGER&nbsp;RANGE&nbsp;0&nbsp;TO&nbsp;1;<br />BEGIN<br />&nbsp;&nbsp;&nbsp;&nbsp;PROCESS(EN,RESET,COIN,SI_5)<br />&nbsp;&nbsp;&nbsp;&nbsp;BEGIN<br />&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;EN='1'&nbsp;THEN&nbsp;<br />&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;RESET='1'&nbsp;THEN&nbsp;COIN_CODE&lt=X&quot;0&quot;;ADDER&lt=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSIF&nbsp;RISING_EDGE(SI_5)&nbsp;THEN&nbsp;ADDER&lt=ADDER+1;<br />&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF(ADDER=0&nbsp;AND&nbsp;SI_5='1')&nbsp;THEN&nbsp;COIN_CODE&lt=X&quot;1&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;IF;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CASE&nbsp;COIN&nbsp;IS<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;X&quot;01&quot;=&gt&nbsp;NULL;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;X&quot;02&quot;=&gt&nbsp;COIN_CODE&lt=X&quot;1&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;X&quot;04&quot;=&gt&nbsp;COIN_CODE&lt=X&quot;1&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;X&quot;08&quot;=&gt&nbsp;COIN_CODE&lt=X&quot;2&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;X&quot;10&quot;=&gt&nbsp;COIN_CODE&lt=X&quot;5&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;X&quot;20&quot;=&gt&nbsp;COIN_CODE&lt=X&quot;A&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;OTHERS=&gt&nbsp;COIN_CODE&lt=X&quot;0&quot;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;CASE;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;IF;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE&nbsp;COIN_CODE&lt=X&quot;0&quot;;ADDER&lt=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;IF;<br />&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;PROCESS;<br />END&nbsp;behavior;<br /><br />出错信息:<br />Error&nbsp;(10818):&nbsp;Can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;&quot;COIN_CODE[0]&quot;&nbsp;at&nbsp;encoder8_3_B.vhd(17)&nbsp;because&nbsp;it&nbsp;does&nbsp;not&nbsp;hold&nbsp;its&nbsp;value&nbsp;outside&nbsp;the&nbsp;clock&nbsp;edge<br />Error&nbsp;(10818):&nbsp;Can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;&quot;COIN_CODE[1]&quot;&nbsp;at&nbsp;encoder8_3_B.vhd(17)&nbsp;because&nbsp;it&nbsp;does&nbsp;not&nbsp;hold&nbsp;its&nbsp;value&nbsp;outside&nbsp;the&nbsp;clock&nbsp;edge<br />Error&nbsp;(10818):&nbsp;Can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;&quot;COIN_CODE[2]&quot;&nbsp;at&nbsp;encoder8_3_B.vhd(17)&nbsp;because&nbsp;it&nbsp;does&nbsp;not&nbsp;hold&nbsp;its&nbsp;value&nbsp;outside&nbsp;the&nbsp;clock&nbsp;edge<br />Error&nbsp;(10818):&nbsp;Can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;&quot;COIN_CODE[3]&quot;&nbsp;at&nbsp;encoder8_3_B.vhd(17)&nbsp;because&nbsp;it&nbsp;does&nbsp;not&nbsp;hold&nbsp;its&nbsp;value&nbsp;outside&nbsp;the&nbsp;clock&nbsp;edge<br />Error&nbsp;(10822):&nbsp;HDL&nbsp;error&nbsp;at&nbsp;encoder8_3_B.vhd(18):&nbsp;couldn't&nbsp;implement&nbsp;registers&nbsp;for&nbsp;assignments&nbsp;on&nbsp;this&nbsp;clock&nbsp;edge<br />Error:&nbsp;Can't&nbsp;elaborate&nbsp;top-level&nbsp;user&nbsp;hierarchy<br />Error:&nbsp;Quartus&nbsp;II&nbsp;Analysis&nbsp;&&nbsp;Synthesis&nbsp;was&nbsp;unsuccessful.&nbsp;6&nbsp;errors,&nbsp;0&nbsp;warnings<br />&nbsp;&nbsp;&nbsp;&nbsp;Info:&nbsp;Allocated&nbsp;152&nbsp;megabytes&nbsp;of&nbsp;memory&nbsp;during&nbsp;processing<br />&nbsp;&nbsp;&nbsp;&nbsp;Error:&nbsp;Processing&nbsp;ended:&nbsp;Mon&nbsp;Sep&nbsp;08&nbsp;16:56:26&nbsp;2008<br />&nbsp;&nbsp;&nbsp;&nbsp;Error:&nbsp;Elapsed&nbsp;time:&nbsp;00:00:03<br />Error:&nbsp;Quartus&nbsp;II&nbsp;Full&nbsp;Compilation&nbsp;was&nbsp;unsuccessful.&nbsp;6&nbsp;errors,&nbsp;0&nbsp;warnings<br />&nbsp;<br />中间空出的两行为显示出错的地方,请高手赐教啊!
yuxyoo 发表于 2008-9-9 17:01 | 显示全部楼层

楼上真是高手哦

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

本版积分规则

3

主题

2

帖子

0

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