[Actel FPGA] zlg《EDA实验与实践》中原代码编译出现错误

[复制链接]
3730|5
 楼主| 52mcu 发表于 2008-1-17 22:50 | 显示全部楼层 |阅读模式
/*&nbsp;freqtest.v&nbsp;-8位十进制频率计顶层文件*/<br /><br />......<br /><br />//8位十进制模块:由8个十进制计数模块构成<br />cnt10&nbsp;u1(.clock(freq_input),.rst(rst),.cin(1'b1),&nbsp;.cout(cout1),.dout(pre_freq[3:0]));<br />.....<br /><br />上句编译时出现如下错误,如何解决?????<br />Error&nbsp;(10663):&nbsp;Verilog&nbsp;HDL&nbsp;Port&nbsp;Connection&nbsp;error&nbsp;at&nbsp;freqtest.v(64):&nbsp;output&nbsp;or&nbsp;inout&nbsp;port&nbsp;&quot;dout&quot;&nbsp;must&nbsp;be&nbsp;connected&nbsp;to&nbsp;a&nbsp;structural&nbsp;net&nbsp;expression
zlgactel 发表于 2008-1-18 12:23 | 显示全部楼层

答复

你好,请具体说明哪个实验例程下的哪个文件出错,方便我们为你解答
zlgactel 发表于 2008-1-18 13:10 | 显示全部楼层

程序问题

&nbsp;&nbsp;&nbsp;你应该是使用我们的EDA实验箱吧?里面的程序都是经过验证的,除非是你自己修改了程序或自己写的程序可能会出现问题,对于1楼的问题,看下错误的描述有可能是dout的变量类型设置的不正确,你检查下该变量的类型,是wire、reg还是其他的,需要与你程序中使用时相对应。
 楼主| 52mcu 发表于 2008-1-18 18:38 | 显示全部楼层

该实验来自于《EDA实验与实践》

中的EDA基础实验,第102页 3.11节8位十进制频率计&nbsp;代码在104,105页<br /><br />reg[31:0]pre_freq;&nbsp;//脉冲计数寄存器<br /><br />module&nbsp;cnt10(clock,rst,cin,cout,dout);//十进制计数器<br />input&nbsp;clock;//计数时钟<br />input&nbsp;cin;//进位输入<br />input&nbsp;rst;//&nbsp;复位信号<br />output&nbsp;cout;//进位输出<br />output[3:0]dout;//计数输出<br />reg[3:0]counter;&nbsp;//寄存器
 楼主| 52mcu 发表于 2008-1-22 23:48 | 显示全部楼层

问题这样解决了???

<br />reg[31:0]pre_freq;&nbsp;//脉冲计数寄存器<br />把书中的以上原句改为:wire&nbsp;[31:0]pre_freq;&nbsp;<br />再编译就可以了。<br /><br />quartusII&nbsp;帮助原文:<br /><br />For&nbsp;example,&nbsp;you&nbsp;cannot&nbsp;connect&nbsp;an&nbsp;output&nbsp;or&nbsp;inout&nbsp;port&nbsp;to&nbsp;a&nbsp;constant&nbsp;or&nbsp;to&nbsp;a&nbsp;variable,&nbsp;e.g.&nbsp;a&nbsp;reg.<br /><br />问题虽解决了,但还是很郁闷,这是经过测试的程序。我直接编译就不行,难道与编译环境有关?????
luole700 发表于 2008-1-23 23:27 | 显示全部楼层

不可能

输入和双向口不能声明为寄存器型,在1995&nbsp;2001里面都是一样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

157

主题

292

帖子

0

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