SystemVerilog硬件设计及建模—第10章概要

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1(
(),
(), ()); ...
10.2 接口声明
接口实例也可以使用简化的端口连接和.*
( , , ); [15:0] , ; [ 7:0] , ; (.*); 1 (.*); 1(.*); (.*); (.*); (.*, ());
10.2 接口声明
接口名称引用:(1)在模块端口中;(2)在接口实例化中。当接 口作为模块的端口时,接口就象模块一样,可以在其定义之前使用, 因此不需要考虑源代码的编译顺序。 接口可以象模块一样单独定义,接口名称可以在设计的任何层次、 任何模块中当作端口使用。 接口也可以在嵌套的模块中定义,使用接口只能在这个模块的局部 范围内使用。
接口的端口也可以定义为一个接口,从而使接口可以连接到另一个 接口上。如总线可以描述为一个总接口、一个主接口和一个从接口, 主、从接口可以表示为总接口的一个端口。
[15:0] , [ 7:0] ); ...
(
[15:0] , [15:0] , , ,
, , ); ...
10.1 接口的概念
( [15:0] , [ 7:0] , [15:0] , [ 7:0] , , );
...
10.1.1 模块端口的缺点
模块的端口提供了一种描述设计中模块之间连接关系的方式,这种方 式直观明了,但在大型复杂设计中,有很多缺点: 在多个模块中必须重复声明端口 在不同模块中有声明不匹配的风险 设计规范中的一个改动需要修改多个模块 在多个模块中通信协议也必须重复
10.2 接口声明
接口定义语法与模块相似,接口也可以拥有端口,这些端口将成为接 口所描述一组信号的一部分,接口可以包含和中任何类型的声明。
( , , ); [15:0] ; [15:0] ; [ 7:0] ; ; ; ; ; ; ;
10.2 接口声明
( , , ); [15:0] , ; [ 7:0] , ; ( (), (), ());
10.1 接口的概念
(
[15:0] , [15:0] , [ 3:0] , , , , , , ,
[15:0] , [ 7:0] , , , ); ...
(
[15:0] , [15:0] , , , , , [ 3:0] , , , ,
, ); ...
10.1 接口的概念
(
[15:0] , , [15:0] , 0, 0,
10.1.2 接口优势
(
(),
(), (), ());
( (), (), (), (), (), ());
10.1.2 接口优势
(
,
[15:0] , [ 7:0] , , , ); ...
(
,
, ); ...
(
,
[15:0] , [ 7:0] ); ...
(
,
, , ); ...
10.1.3 接口内容
10.3 将接口用作模块端口
显式命名的接口端口:在模块端口可以显式的声明为特定接口类型, 显式命名的接口端口只可以连接到同一名称的接口上。 ; …
( , ); …
通用接口端口:通用接口端口用关键字定义端口类型,而不是使用 特定接口类型,模块实例化时,任何接口都可以连接到通用接口端 口上。 ( , ); …
例如有三个模块对一个共享存储器进行读写操作,那么在这三个 模块中,读写操作的控制逻辑必须重复描述 限制了抽象的自顶向下的设计
用模块端口连接时,设计的具体互连必须在设计周期的早期确定, 而不能在一个不需要考虑设计细节的抽象层面上描述。
10.1.2 接口优势
增加了新的端口类型—接口,接口允许许多信号合成一组由一个端口 表示,只需在一个地方对组成接口的信号进行声明,使用这些信号的 模块只需一个接口类型的端口。
10.1 接口的概念
1(
(), (), (), (), (), (), (), (), (), (),
(), ());
(
(), (), (), (), (),
(), ());
10.1 接口的概念
(
(), (), (), (),
(), (), ());
( (), (), (), (), (), ());
; [15:0] ; [15:0] ; [ 7:0] ; ; ; ; ; ; ; ;
10.1.2 接口优势
( , , ); [15:0] , ; [ 7:0] , ; ( );
()
1(
(),
(), (), (), (), ());
10.1.2 接口优势
1( (), (), ()); ( (), (), ());
存储器
取指令 Main_bus
主处理器
测试生成器
从处理器
10.1 接口的概念
( , , ); [15 : 0] , , , ; [7 : 0] , ; [3 : 0] ; ,; ,; ,; ;
1(
(), (), (), (),ຫໍສະໝຸດ Baidu(), (), (), (), (),
(), (), (), (), ());
接口不仅仅是一组连接线,它也可以封装模块间通信的所有细节。使 用接口可以:(1)在一个地方—接口中定义通信所需的各个信号和端 口;(2)在接口中定义通信协议;(3)在接口中直接建立协议校验 和其它验证程序。
接口可以包含类型声明、任务、函数、过程块、程序块和断言。
接口与模块之间有三个不同点:(1)接口不可以包含设计层次,接口 不可以包含模块或原语的实例; (2) 接口可以用作模块端口,表示 模块间的通信通道,而在端口中使用模块则是非法的(3)接口可以包 含“”,这使得每个连接到接口上的模块以不同的方式访问接口。
第10章 接口
在语言基础上扩展了“接口”()结构,接口给模型提 供了一种新的方式,通过使用接口可以简化大型复杂设 计的建模和验证。
接口声明 接口与模块端口之间的连接 接口与模块的区别 接口的端口及其方向 接口中的任务与函数 接口方法的使用 接口中的过程块 参数化的接口
10.1 接口的概念
接口反映的是模块与模块之间的互连,对来说,主要通过模块的端口 表现。
10.4 接口实例化和连接
接口实例化的方式与模块相同,如果接口定义有商品,那么信号可 以像模块实例化一样通过端口次序连接方式或端口名称连接方式连 接到接口实例上。
接口类型的端口必须连接,不能悬空!在模块实例中,声明为接口 类型的端口必须连接到一个接口实例或连接到上层的其它接口端口 上。的和.*连接方式也适用于接口实例。
相关文档
最新文档