登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

一段出错的程序???

作者:qjc.j 栏目:EDA技术
一段出错的程序???
   我刚接触CPLD,用Quartus 4.2编译,但是不知为什么程序总是错误,请各位帮忙指点一下!
以下是原程序,请各位帮忙,是那里出错了.
MODULE qin(out,in ,clk);
reg out ;
OUTPUT out;
input in,clk;
always@(clk)
begin
out=!in;
end
endMODULE 

2楼: >>参与讨论
qjc.j
Error:是
Error: Top-level design entity "Verilog1" is undefined
Error: Quartus II Analysis & Synthesis was unsuccessful. 1 error, 0 warnings
Error: Processing ended: Wed May 04 19:28:24 2005
Error: Elapsed time: 00:00:02
Error: Quartus II Full Compilation was unsuccessful. 1 error, 0 warnings

3楼: >>参与讨论
xjg1111
re
Error: Top-level design entity "Verilog1" is undefined
这个错误已经提示的很清楚了。
你的顶层文件定义的有问题。
你可以尝试用原理图作一个顶层文件,然后用框图关联生成一个块文件(即你的这段代码),如再不明白,可以从ALTERA网站下一个quartusII 4.2的使用说明,现在有中文版的了。

你这段代码coding不是很好。
MODULE qin(out,in ,clk);
reg out ;
OUTPUT out;
input in,clk;
always@(clk)
begin
out=!in;
end
endMODULE
首先说,把reg out;放在端口定义的前面不太好,有可能也符合语法规则(这点我也不太清楚),

always@(clk)
begin
out=!in;
end

还有你这段程序,是想用沿触发吗?如果是,那显然是错误的;如果不是,这种锁还是比较危险的,尽量不要用。

4楼: >>参与讨论
qjc.j
多谢 xjg1111 指点
是我没有将软件安装好,这个问题已经解决了.
还想再问一个问题:
这段程序是两个8位二进制数的乘法

MODULE qin_0 (a,b,outcome);
parameter size=8;  
input  [size:1]a,b;
OUTPUT [2*size:1] outcome;
reg[2*size:1] outcome_b;
reg[2*size:1] temp_a;
reg[size:1] temp_b;

always@(a or b)
begin
  outcome=0;
  temp_a=a;
  temp_b=b;
  repeat(size)
  begin
   temp_a=temp_a<<1;
   temp_b=temp_b>>1;
  end
end
endMODULE



但是  outcome=0; 总是有错误;
Error: Verilog HDL Procedural Assignment error at qin_0.v(12): illegal Procedural Assignment to nonregister data type "outcome"

Error: Ignored MODULE "qin" at qin_0.v(1) because of previous errors


5楼: >>参与讨论
gao827
always块里赋值的一定要是reg型
 
6楼: >>参与讨论
qjc.j
谢了
谢谢你的指导

7楼: >>参与讨论
吴明诗
always@(posedge clk)
 
8楼: >>参与讨论
qjc.j
多谢
我改了,程序可以运行了,但不知道怎样下载程序的是不是还要安装什么程序才可以下载的.

9楼: >>参与讨论
吴明诗
2k和xp下需要安装,上网搜搜,很多
 
10楼: >>参与讨论
qjc.j
菜鸟问一下是什么程序
 
11楼: >>参与讨论
qjc.j
等的好苦啊
 
12楼: >>参与讨论
吴明诗
可能是
在Win2000平台上安装使用ByteBlaster下载电缆
1、 在控制面板中选择“添加/删除硬件”
2、 选择“添加/排除设备故障”,下一步
3、 选择“添加新设备”,下一步
4、选择“否,从列表中选择硬件”
5、选择“声音、视频和游戏控制器”,下一步
6、选择“从磁盘安装”,下一步
7、在MaxPlus2->Drivers->Win2000下选择inf文件,
8、在如下对话框中选择“ALTERA ByteBlaster”,按下“下一步”开始安装,安装完毕,需要重新启动电脑才能使新设备生效。
在NT下安装使用ByteBlaster下载电缆
1、 在“控制面板”中双击“多媒体”;按下“添加”按钮;
2、 选择“未列出或已更新的驱动程序”,按下“确定”,在弹出的对话框中选择驱动程序所在的位置,即MaxPlus安装目录下的Drivers子目录;
3、 按下“确定”,提示可以安装如下新的驱动程序;
4、 选择ALTERA ByteBlaster,按下确定键。至此,在MaxPlus中就可以看到该编程器了。




--------------------------------------------------------------------------------



13楼: >>参与讨论
qjc.j
多谢 前辈吴明诗
您说的我已经有了,但是在 Quartus II4.2  中看不到,而且下载的那一个按钮是灰色的,不能点击.请您多指教.
不胜感激!

14楼: >>参与讨论
吴明诗
那就不太清楚了
无论什么版的quartus总应该能下载呀,受限得只能是元件数目种类。你能确定你的下载电缆好用吗,上电了吗,可能我问得比较低级了。你能详细说说吗?

15楼: >>参与讨论
qjc.j
多谢 前辈吴明诗
我从新按装软件,已经可以了.多谢您的支持.

16楼: >>参与讨论
2_1_I_C
听说Quartus II可以在线演示.
是不是真的?

参与讨论
昵称:
讨论内容:
 
 
相关帖子
请问,MAX-plusII和QuartusII4.2能不能同时用一个下载线?
EPM7128LS84的电路设计中的一些疑问
问题很垃圾,不过是菜鸟在下的疑惑哈.
新手请教
用CPLD怎么实现倍频电路?如:128倍.
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号