verilog多文件工程设计方法

之前一直是写一个文件的工程测试用,现在需要将之前写的一些文件放一起,作为多个模块,就需要有个层次设计的概念。

今晚研究了一番,大概有两种方法。综合文件法和原理图方法。

常用的是写个综合文件的方法,写个sys模块将所有模块文件放一起,通过模块调用的方法。注意也需要声明input和output,还有某些共享线也要声明,一般声明为output吧,因为你模块调用的语法需要用到“.之前端口名(现在端口名)”的语法。

需要注意的是,顶层文件的实体entity是必须和工程名字一样的,不然联合modelsim仿真会没有loading。因此如果要设计一个大工程,最好事先想好有几个模块。书上说的自顶而下大概就是这个意思吧。不过我的打算是先把各个模块的文件先分别建工程写好,仿真过了,最后再建个总工程,写个顶层文件,把所有文件再包括进去。这是自底而上的设计方法。

第二种方法是原理图方法,在书上看过就也试了一下。它是把各个文件写好,然后分别在文件那里右击,选择create symbol files,再新建个block/diagram文件,把模块拖进去,连线,还要记得添加input和output(是在primitive那里)。保存为bdf文件,记住文件名是工程名。

后来要modelsim仿真,发现没现象。百度了一下是说,原理图只能用之前几个quartus内置的仿真器仿真,因为modelsim不认识bdf是个神马东东。所以,我只能在file选项那里update/create HDL file,这样就能生成modelsim所认识的.v文件了。这个翻译的功能还是觉得很牛的。翻译出来的就和自己写个综合文件一样,把各个模块调用了进来。

感觉原理图方法,要仿真的话归根到底还是写综合文件。如果模块比较多可以用它的翻译功能,但最好还是自己写吧,条理自己也清晰点。

时间: 2024-12-20 22:53:02

verilog多文件工程设计方法的相关文章

JQuery 加载 CSS、JS 文件的方法有哪些?

在进行web前端开发(http://www.maiziedu.com/course/web-px/)时,我们可能会需要使用JQuery加载一个外部的css文件或者js文件,加载外部文件的方法有多种,下面具体看看各种加载方法 JS 方式加载 CSS.JS 文件: //加载 css 文件function includeCss(filename) { var head = document.getElementsByTagName('head')[0]; var link = document.cre

WAMP安装提示缺少 msvcr100.dll文件解决方法

WAMP安装提示缺少wamp msvcr100.dll文件解决方法 因为wamp基于vs c++2010开发,需要提前安装这个组件才可以正常运行 微软官方组件下载地址: 32位:http://www.microsoft.com/download/en/details.aspx?id=8328 64位:http://www.microsoft.com/download/en/details.aspx?id=13523 最新版WAMP可能需要安装vs c++ 2012 http://www.micr

Javascript写入txt和读取txt文件的方法

文章主要介绍了Javascript写入txt和读取txt文件的方法,需要的朋友可以参考下1. 写入 FileSystemObject可以将文件翻译成文件流. 第一步: 例: 复制代码 代码如下: Var fso=new ActiveXObject(Scripting.FileSystemObject); 创建一个可以将文件翻译成文件流的对象. 第二步:用于创建一个textStream 对象 括号里边有三个属性 1. 文件的绝对路径 2. 文件的常数 只读=1,只写=2 ,追加=8 等权限.(Fo

Linux培训教程 linux系统下分割大文件的方法

在linux中分割大文件,比如一个5gb日志文件,需要把它分成多个小文件,分割后以利于普通的文本编辑器读取. 有时,需要传输20gb的大文件,Linux培训 教程件到另一台服务器,也需要把它分割成多个文件,这样便于传输数据. 以下通过五个不同的例子,来讲解Linux下分割大文件的方法,供大家参考. 例1.以每个文件1000行分割 split命令分割文件成每个文件1000行,并且文件名依次为 [前缀]aa,[前缀]ab, [前缀]ac等,默认的前缀是X,每个文件的行数为1000行. 命令: 复制代

Radmin Server-3.5 完美绿色破解版(x32 x64通用) 第三版 + 单文件制作方法

Radmin Server v3.5 汉化破解绿色版(x32 x64通用) 第三版 下载链接: http://pan.baidu.com/s/1dFmb9fF 密码: 95gd 2016年7月8日更新第三版1.修复在单文件中系统位宽判断错误的问题,修复自动增加防火墙白名单命令错误的问题,增加卸载时清除注册表设置信息2.增加单文件制作方法和单文件成品3.修改默认设置的方法有所改变,请查看下方的:二.如何修改默认安装设置? 4.修复启动时不加载 mirror driver 的问题(不加载这个会导致远

NHibernate各种数据库连接参数文件配置方法说明

//NHibernate各种数据库连接参数文件配置方法说明 //配置文件Config/Hibernate.cfg.xml内容如下所示:<?xml version="1.0" encoding="utf-8" ?><hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >  <session-factory name="CwfSer

Python 之 h5py 读取 matlab 中 .mat 文件 cell 方法浅析

采用 Python 读取 matlab 中 .mat文件的方法有很多,中外文的论坛上都不少,相关博文 可见:Python 从 mat 文件的读写和存储 到 h5py 文件包. 详址:http://blog.csdn.net/u013630349/article/details/47090299 但是,在读取matlab文件的时候,往往不是一层 .mat 就足以解决问题的,.mat 文件中可能是存放的 cell(100*200) 数据, cell(100*200)数据中又分为多个 cell .那么

[[NSBundle mainBundle] pathForResource:@&quot;name&quot; ofType:@&quot;type&quot;] 找不到对应的文件解决方法

最近在使用[[NSBundle mainBundle] pathForResource:@"name" ofType:@"type"]时,找不到其对应的文件,文件当时是通过 右键->add files to 的方式添加到工程里面的,但是使用[[NSBundle mainBundle] pathForResource:@"name" ofType:@"type"]时,无论如何都找不到文件,经过了重启工程 .clear工程以

Linux系统中修改/etc/profile文件的方法

在Linux系统中etc/profile文件一般是不能更改的,想要更改etc/profile文件就要用一些特殊的技巧进行Linux文件修改.本文就来介绍一下Linux系统中修改/etc/profile文件的方法: etc/profile文件是只读的,直接用vi或gedit打开修改后是无法保存的.要修改profile,需要取得root权限,(使用gedit编辑) $sudo gedit /etc/profile 或者 $sudo -s $gedit /etc/profile 这样打开profile