怎么将各个模块生成顶层文件

怎么将各个模块生成顶层文件,第1张

verilog中,一般不可能将所有代码都写到同一个文件里,这就需要写顶层文件以及调用子模块

图示:

1、 首先建立一个module,命名为top

2、将连接后的整体输入和输出写入module

例如 :

3、点击要调用的子模块

选择View HDL Instaniation Template:

(instance name由用户自己定义)复制进top模块下:

!!!注意:最后要构成整体的里面的连线,要用wire <名字>;标注出来,要不然仿真会出错,如上图wire clk_1HZ,使分频后的时钟信号作为CONTROL模块的时钟输入。将调用的子模块都这样写入top模块即可完成模块的调用,构成一个新模块,或者理解为将这几个子模块封装起来,只留出了输入和输出,即为第一张图所示。

总结以下3个观点:

1 各个子模块的设计可以相互独立,不必写在同一个文件里

2 例化子模块的时候,不需要手打,采用“view HDL instantiaion Template”!例化更为方便。

3 线端子进行连接的时候,定义wire ,采用assign赋值的方式即可完成。

4 一定注意不要落下子模块间的连线,一定要用 wire <名字>声明一下。

fpga开发

vivo16年出的手机

精选推荐

广告

Verilog子模块调用教程

126下载·1评论

2014年11月23日

SV验证-1建立顶层文件

100阅读·0评论·2点赞

2022年11月13日

子模块到顶层模块——例化与调用

1.7W阅读·0评论·13点赞

2018年5月7日

verilog图像处理顶层文件和仿真文件

247阅读·0评论·0点赞

2022年11月4日

ISE tips

119阅读·0评论·0点赞

2013年5月31日

parameter 顶层模块和子模块之间的parameter 不一致

860阅读·0评论·0点赞

2019年7月1日

再现神预言:这也许是2023年黑马的行业,将造就大批千万富翁!

00:46

12天提升收入

广告

看谁是顶层module呀,module们都是并行的,只是在语言上看着是顺序的,一般都是状态机,各个模块要等到状态到来时才开始执行。他没有什么入口。

说直白点,就是你新建一个test.v,在这个test.v里调用你加进来的那些.v文件就可以了。

如果是QII的IP核,在QII软件中通过Megacore Wizard加入,就可以了。

如果是第三方的IP核,你应该有他的全部代码。把所有代码都加入到你的工程中,在需要的位置,例化顶层文件,连接好所有的接口,就行。

我想,如果你需要使用这个IP,那么你对这个IP的顶层接口应该了解,对它的功能,应该知道。只要把它当做一些模块加入进来就好了。

如果是没有代码的网表文件,那就在工程中加入网表文件并例化。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7999472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存