
有关verilog模块调用
本人是刚接触verilogHDL语言的,对于模块调用不是很了解,现将程序代码供上,希望路过的高人指点···谢谢···该程序的功能是16位加法器`include"adder...
本人是刚接触verilog HDL语言的,对于模块调用不是很了解,现将程序代码供上,希望路过的高人指点···谢谢···该程序的功能是16位加法器
`include"adder.v"
module adder16(cout,sum,a,b,cin);
output cout;
parameter my_size=16;
output[my_size-1:0] sum;
input[my_size-1:0] a,b;
input cin;
adder my_adder(cout,sum,a,b,cin);
endmodule
module adder(cout,sum,a,b,cin);
parameter size=16;
output cout;
output[size-1:0] sum;
input cin;
input[size-1:0] a,b;
assign {cout,sum}=a+b+cin;
endmodule
请问在进行综合时是将两段程序怎么放置?
当我放在同一.v文件时出了以下错误:
Error (10054): Verilog HDL File I/O error at adder16.v(1): can't open Verilog Design File "adder.v"
Error (10112): Ignored design unit "adder16" at adder16.v(3) due to previous errors
Error (10112): Ignored design unit "adder" at adder16.v(12) due to previous errors
当我分别定义adder.v和adder16.v文件放置时出了以下错误:
Error (10228): Verilog HDL error at adder.v(1): module "adder" cannot be declared more than once
Info (10151): Verilog HDL Declaration information at adder.v(1): "adder" is declared here
Error (10112): Ignored design unit "adder16" at adder16.v(3) due to previous errors
说是定义的module 名字重复了 ,可是我不是一个定义为adder另一个为adder16么??? 展开
`include"adder.v"
module adder16(cout,sum,a,b,cin);
output cout;
parameter my_size=16;
output[my_size-1:0] sum;
input[my_size-1:0] a,b;
input cin;
adder my_adder(cout,sum,a,b,cin);
endmodule
module adder(cout,sum,a,b,cin);
parameter size=16;
output cout;
output[size-1:0] sum;
input cin;
input[size-1:0] a,b;
assign {cout,sum}=a+b+cin;
endmodule
请问在进行综合时是将两段程序怎么放置?
当我放在同一.v文件时出了以下错误:
Error (10054): Verilog HDL File I/O error at adder16.v(1): can't open Verilog Design File "adder.v"
Error (10112): Ignored design unit "adder16" at adder16.v(3) due to previous errors
Error (10112): Ignored design unit "adder" at adder16.v(12) due to previous errors
当我分别定义adder.v和adder16.v文件放置时出了以下错误:
Error (10228): Verilog HDL error at adder.v(1): module "adder" cannot be declared more than once
Info (10151): Verilog HDL Declaration information at adder.v(1): "adder" is declared here
Error (10112): Ignored design unit "adder16" at adder16.v(3) due to previous errors
说是定义的module 名字重复了 ,可是我不是一个定义为adder另一个为adder16么??? 展开
3个回答
展开全部
问题就在于你的那一句`include"adder.v",去掉之后不管你怎么放都可以了。
理论上来讲,不同的module应该放在不同的文件内,但也不是绝对的,一般时候放在一起也不会有影响。
`include"adder.v"这样的指令一般用于编译预处理,也就是所谓的宏定义的调用中,调用模块的话adder my_adder(cout,sum,a,b,cin);这样的调用指令就足够了,用不上`include
理论上来讲,不同的module应该放在不同的文件内,但也不是绝对的,一般时候放在一起也不会有影响。
`include"adder.v"这样的指令一般用于编译预处理,也就是所谓的宏定义的调用中,调用模块的话adder my_adder(cout,sum,a,b,cin);这样的调用指令就足够了,用不上`include

2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
你的程序本身没有任何错误。
其实你大可不必使用include来设置路径,你只要确保adder.v文件和adder16.v文件同在一个工程中就可以了。
一般的设计流程相信你也知道,你在打开了工程的情况下新建.v文件,这样无论你建多少个.v文件,都能保证它们同在一个工程中了。
希望我能帮助到你。
——Medied.Lee
其实你大可不必使用include来设置路径,你只要确保adder.v文件和adder16.v文件同在一个工程中就可以了。
一般的设计流程相信你也知道,你在打开了工程的情况下新建.v文件,这样无论你建多少个.v文件,都能保证它们同在一个工程中了。
希望我能帮助到你。
——Medied.Lee
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1)放在同一个.v 文件中,就不需要在include "adder.v"了
报错是跟你说找不到 adder.v
2)放在两个.v中,那么每个.v里面你就放一个module
报错事说你两个.v中间 定义了的module 名字重复了
报错是跟你说找不到 adder.v
2)放在两个.v中,那么每个.v里面你就放一个module
报错事说你两个.v中间 定义了的module 名字重复了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询