热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

编译出错解决方法

本文转载自网络。Error(10228):VerilogHDLerrorattest.v(1):moduletestcannotbedeclaredmorethanonceEr

本文转载自网络。

Error (10228): Verilog HDL error at test.v(1): module "test" cannot be declared more than once
Error (10228): Verilog HDL error at beep.v(1): module "beep" cannot be declared more than once


说明你在 setting中已经把这两个文件加进去了,已经加进去就不能再用include声明一次
实体名和工程名要相同,一个工程可有多个模块构成,在顶层模块中调用其他模块就可
继续追问:
按照你说的做了 确实没有问题了 可是烧程序进去的时候 只有combine的程序烧进去了
test 和 beep的程序还是没有烧进去
应该怎么弄
配置管脚的时候都没有出现test 和 beep设置的输出与输入
想知道到底怎么样可以一起烧进FPGA中去
补充回答: 关键你在 顶层模块 combine 中有没调用 子模块进行运用,如果只是把子模块加进来时没用的,在顶层模块中要写出子模块的输入输出(配置管脚只会出现顶层模块的管脚),并在接下来语句中进行例化配置,将双方管教匹配上


2.Error (10170): Verilog HDL syntax error at Verilog2.v(4) near text ","; expecting "="

哪位大虾帮帮忙
module mux4 (A,B,C,D,sel,sum);
input A,B,C,D,sel;
output sum;
assign temp1,temp2;

always@(sel or A or B or C or D)
begin
temp1 = sel ? A:C;
temp2 = sel ? B:D;
end
always @(temp1 or temp2)
sum = temp1 + temp2;
endmodule
用quartus时报错


答:
什么叫assign temp1,temp2;
明明应该是wire temp1,temp2;
追问
Error (10137): Verilog HDL Procedural Assignment error at Verilog2.v(10): object "temp2" on left-hand side of assignment must have a variable data type
按你的改完之后还是编译错误啊
回答
失误。没仔细看。always的声明,不应该用wire,是Reg类型。你用的assign是用来wire赋值的,比如assign temp1 = temp2+2; 这个时候要把temp1声明称wire。初学时,这些个wire reg assign很容易弄不明白。也就是应该改成reg temp1,temp2;
追问
大虾 还是没懂啊 我已经把assign改成wire了 并不想用assign赋值,只是想声明两个中间变量而已,大虾帮忙仔细看看 如何才能编译通过 万分感谢
回答
.........你记住,常用的几种变量的类型是这样区分的。
always @ ()括号里不管是时钟触发还是单个变量触发,下面的等号左边数据,统统用reg。也就是你现在这个情况,应该用reg。
如果是assign赋值,那么等号左边的应该是wire
还有一种就是例化的模块,你如果不懂例化迟早要碰到。例化模块的输出数据类型也要设为wire
这些都是最最常用的

转:https://www.cnblogs.com/qidaiymm/p/4912287.html



推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • Splay Tree 区间操作优化
    本文详细介绍了使用Splay Tree进行区间操作的实现方法,包括插入、删除、修改、翻转和求和等操作。通过这些操作,可以高效地处理动态序列问题,并且代码实现具有一定的挑战性,有助于编程能力的提升。 ... [详细]
author-avatar
php
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有