【急急急】Verilog的一些基本问题

1.input,output不定义类型,是不是默认为wire型?
2.若这个.v文件里的输入输出,想在另外一个.v文件里使用,`include并实例化吗?如果两个.v文件中的输入输出名字相同呢?
3.内部信号,在两个.v文件有没有可能相连?
其实我最想知道的是,两个v文件里的变量互相使用,需要做什么?

1,是的,input,output都是默认为wire的。
对于output,如果想声明为reg必须单独声明,想用wire的话是可以不声明wire的。
2,一个模块使用另一个模块输入或输出信号,可以直接实例化,不用写include。但如果被使用的信号不是输入或输出而是内部信号的话,就要用层次调用
比如你有一个TB模块,下面有A,B两个模块,如果你在B里头想用A的内部信号a1,则应该在B里头写:TB.A.a1。这样即使输入输出名字相同,也不会混淆。
3,两个内部信号是不能相连的,从一个模块的外部看它是一个黑盒,只有输入输出可以与别的模块相连。

对于补充,你说的变量是什么?如果是信号的话,参考2的回答。如果是parameter的话,把parameter单写一个文件,在所有需要用到这些参数的文件里写上include parameter文件名就可以。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-05
1. input默认是wire类型,但是输出需要自己定义,reg还是wire都行,如果不定义就会报错;
2.另一个.v文件的模块需要在另一个里使用,可以`include ,也可以不`include,在QuartusII环境下编译时系统会自动在整个工程内的所有源文件中查找实体对应的模块。
3. 不是很清楚。
第2个回答  2009-12-06
1:如果不指定类型,则默认是WIRE型
2:两个文件输入输出相同没有关系,只要名字不一样。把文件放在相同工程下在调用的时候就不用声明例化。
3:采用元件调用语句可以使两个.V文件相连
第3个回答  2009-12-05
关于第三个问题:输入输出和.v文件没有关系,定义好module的输入输出关系就行。
相似回答