请问端口定义可以用整数吗?

[复制链接]
2523|0
 楼主| zq1405 发表于 2008-1-2 15:34 | 显示全部楼层 |阅读模式
各位朋友,帮忙看下下面的程序,看看那里需要修改,<br />报错提示如下:<br />Error&nbsp;(10818):&nbsp;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;N[0]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;N[1]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;N[2]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;N[3]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;N[4]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;N[5]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;N[6]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;M[0]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;M[1]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;M[2]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;M[3]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;M[4]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;M[5]&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;Netlist&nbsp;error&nbsp;at&nbsp;JT.vhd(35):&nbsp;can't&nbsp;infer&nbsp;register&nbsp;for&nbsp;M[6]&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;JT.vhd(35):&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;16&nbsp;errors,&nbsp;8&nbsp;warnings<br />&nbsp;&nbsp;&nbsp;&nbsp;Info:&nbsp;Allocated&nbsp;132&nbsp;megabytes&nbsp;of&nbsp;memory&nbsp;during&nbsp;processing<br />&nbsp;&nbsp;&nbsp;&nbsp;Error:&nbsp;Processing&nbsp;ended:&nbsp;Wed&nbsp;Jan&nbsp;02&nbsp;15:20:35&nbsp;2008<br />&nbsp;&nbsp;&nbsp;&nbsp;Error:&nbsp;Elapsed&nbsp;time:&nbsp;00:00:02<br />Error:&nbsp;Quartus&nbsp;II&nbsp;Full&nbsp;Compilation&nbsp;was&nbsp;unsuccessful.&nbsp;16&nbsp;errors,&nbsp;8&nbsp;warnings<br />&nbsp;程序如下:<br />LIBRARY&nbsp;IEEE;<br />USE&nbsp;IEEE.STD_LOGIC_1164.ALL;<br />USE&nbsp;IEEE.STD_LOGIC_UNSIGNED.ALL;<br />ENTITY&nbsp;JT&nbsp;IS<br />PORT&nbsp;(CLK1:&nbsp;IN&nbsp;STD_LOGIC;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RST&nbsp;:&nbsp;IN&nbsp;STD_LOGIC;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JJ&nbsp;:&nbsp;IN&nbsp;STD_LOGIC;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EW&nbsp;:&nbsp;OUT&nbsp;STD_LOGIC_VECTOR&nbsp;(2&nbsp;DOWNTO&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SN&nbsp;:&nbsp;OUT&nbsp;STD_LOGIC_VECTOR&nbsp;(2&nbsp;DOWNTO&nbsp;0);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T1&nbsp;:&nbsp;IN&nbsp;INTEGER&nbsp;RANGE&nbsp;0&nbsp;TO&nbsp;99;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T2&nbsp;:&nbsp;IN&nbsp;INTEGER&nbsp;RANGE&nbsp;0&nbsp;TO&nbsp;99;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;T3&nbsp;:&nbsp;IN&nbsp;INTEGER&nbsp;RANGE&nbsp;0&nbsp;TO&nbsp;99;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Q1&nbsp;:&nbsp;BUFFER&nbsp;INTEGER&nbsp;RANGE&nbsp;0&nbsp;TO&nbsp;99;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Q2&nbsp;:&nbsp;BUFFER&nbsp;INTEGER&nbsp;RANGE&nbsp;0&nbsp;TO&nbsp;99&nbsp;);<br /><br />END&nbsp;;<br />ARCHITECTURE&nbsp;kz&nbsp;OF&nbsp;JT&nbsp;IS<br />TYPE&nbsp;STATES&nbsp;IS&nbsp;(ST0,ST1,ST2,ST3);<br />&nbsp;SIGNAL&nbsp;current_state,next_state:states&nbsp;:=&nbsp;st0&nbsp;;<br />&nbsp;SIGNAL&nbsp;M:&nbsp;INTEGER&nbsp;RANGE&nbsp;0&nbsp;TO&nbsp;99&nbsp;:=0;<br />&nbsp;SIGNAL&nbsp;N:&nbsp;INTEGER&nbsp;RANGE&nbsp;0&nbsp;TO&nbsp;99&nbsp;:=0;<br />&nbsp;BEGIN<br />&nbsp;&nbsp;&nbsp;COM:&nbsp;PROCESS(T1,T2,T3,CURRENT_STATE,RST,CLK1)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEGIN&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;RST&nbsp;=&nbsp;'1'&nbsp;THEN&nbsp;NEXT_STATE&nbsp;&lt=&nbsp;ST0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;JJ&nbsp;=&nbsp;'1'&nbsp;THEN&nbsp;CURRENT_STATE&lt=CURRENT_STATE;M&lt=M;N&lt=N;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CASE&nbsp;CURRENT_STATE&nbsp;IS<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;ST0&nbsp;=&gt&nbsp;EW&nbsp;&lt=&nbsp;&quot;010&quot;;SN&nbsp;&lt=&nbsp;&quot;100&quot;;M&nbsp;&lt=&nbsp;T1;N&lt=T2;&nbsp;NEXT_STATE&nbsp;&lt=&nbsp;ST1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;ST1&nbsp;=&gt&nbsp;EW&nbsp;&lt=&quot;001&quot;&nbsp;;SN&nbsp;&lt=&nbsp;&quot;100&quot;;M&nbsp;&lt=T3;NEXT_STATE&nbsp;&lt=&nbsp;ST2;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;ST2&nbsp;=&gt&nbsp;EW&nbsp;&lt=&quot;100&quot;&nbsp;;SN&nbsp;&lt=&nbsp;&quot;010&quot;;M&nbsp;&lt=T2;N&lt=T1;&nbsp;NEXT_STATE&nbsp;&lt=&nbsp;ST3;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHEN&nbsp;ST3&nbsp;=&gt&nbsp;EW&nbsp;&lt=&quot;100&quot;&nbsp;;SN&nbsp;&lt=&nbsp;&quot;001&quot;;M&nbsp;&lt=T3;&nbsp;NEXT_STATE&nbsp;&lt=&nbsp;ST0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;CASE;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;IF;END&nbsp;IF;<br />&nbsp;IF&nbsp;(&nbsp;CLK1'EVENT&nbsp;AND&nbsp;CLK1='1')&nbsp;THEN&nbsp;M&nbsp;&lt=M-1;N&nbsp;&lt=N-1;END&nbsp;IF;<br />&nbsp;&nbsp;&nbsp;END&nbsp;PROCESS&nbsp;COM;<br />&nbsp;&nbsp;&nbsp;REG:&nbsp;PROCESS&nbsp;(JJ,CLK1,M,N)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEGIN&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Q1&nbsp;&lt=&nbsp;M;Q2&nbsp;&lt=&nbsp;N;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;(M&nbsp;=&quot;0&quot;&nbsp;OR&nbsp;N&nbsp;=&quot;0&quot;)&nbsp;THEN&nbsp;CURRENT_STATE&nbsp;&lt=&nbsp;NEXT_STATE;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;IF;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;END&nbsp;PROCESS&nbsp;REG;<br />&nbsp;END;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

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