BLIF文件逐行分析

87a5e2a68ad04e0aada074fc472a2c64.png

eblif文件中各个行信息的含义分析:
.module行:.module <module-name>
其中<module-name>是module字符串类型的名称

.inputs行:.inputs <input-list>
其中<input-list>是一个由空格分隔的字符串列表,到行尾结束,表示被声明module的正式输入端口。如果这是第一个或唯一的module,那么这些信号可以被视为module的主要输入。可以使用多行 .inputs指令,且各行中的输入列表会被连接在一起。

.outputs行:.outputs <output-list>
其中<output-list>是一个由空格分隔的字符串列表,到行尾结束,表示被声明module的正式输出端口。如果这是第一个或唯一的module,那么这些信号可以被视为module的主要输出。可以使用多行 .outputs指令,且各行中的输出列表会被连接在一起。

.blackbox:.blackbox\n
当module的类型是blackbox时,直接输出.blackbox\n .end\n

module中的常量:
1、    const0: 
.names $false    或 .subckt GND GND=$false
2、const1:
.names $true
1

.subckt VCC VCC=$true
3、    undef
.names $undef    或 .subckt VCC VCC=$undef

.names行:.names <in-1> <in-2> … <in-n> <output>
.names用于定义逻辑门的输入和输出;<in-1>, <in-2>, ..., <in-n> 是多个字符串,每个字符串表示输入逻辑门的信号名称;<output> 是一个字符串,表示所定义的逻辑门的名称。
例如:
.names a1 a2 a3 a4 o
1--0 1
-1-1 1
0-11 1
其中“1” 表示该输入以未取反的形式使用,也就是说,输入的值直接使用;“0” 表示该输入的取反形式被使用,也就是输入的值被反转;“–” 表示该输入没有被使用。
上述例子中逻辑门的表达式为:
o = a1a4’ + a2a4 + a1’a3a4

.latch行:.latch <input> <output> [<type> <control>] [<init-val>]
.latch行所描述的锁存器(latch)被用于在模型中创建一个时延器件,它可以作为一个存储单元,表示一位内存或状态信息。其中
<input>指的是latch的输入信号,它可以影响latch的状态;
<output>指的是latch的输出信号,用于后续电路中使用;
<type>是{fe, re, ah, al, as}五个中的一个,fe(falling edge)指下降沿触发,re(rising edge)指上升沿触发,ah(active high)指高电平有效,al(active low)指低电平有效,as(asynchronous)指异步;
<control>指的是时钟信号,通常是module中的 .clock,如果没有时钟信号,则用“NIL”;
<init-val>指的是latch的初始状态,“0”表示低电平状态、“1”表示高电平状态、“2”表示不关心的状态、“3”表示未知状态,默认初始状态为“3”。

.subckt行:.subckt <sub-name> <in-1>=<in-sig-1> <in-2>=<in-sig-2> … <in-n>=<in-sig-n> <out-1>=<out-sig-1> <out-2>=<out-sig-2> … <out-m>=<out-sig-m>
.subckt行用来定义子module,其中<sub-name>指的是子module的名称;<in-1>=<in-sig-1> <in-2>=<in-sig-2> … <in-n>=<in-sig-n>指的是子module输入信号与外部信号的连接关系;<out-1>=<out-sig-1> <out-2>=<out-sig-2> … <out-m>=<out-sig-m>指的是子module输出信号与外部信号的连接关系

.cname行:.cname <name>
.cname行常出现在 .subckt行和 .names行后,用于对其上逻辑门重命名。其中<name>指的是重命名后的名称。

.attr行:.attr <attr-name> <attr-value>
.attr行说明逻辑器件的属性信息,其中<attr-name>指的是属性的名称;<attr-value>指的是属性的具体值

.param行:.param <param-name> <param-value>
.param行说明逻辑器件的参数信息,其中<param-name>指的是参数名称;<param-value>指的是参数的具体值

.conn行:.conn <source-pin> <destination-pin>
.conn行描述一种信号连接关系。即信号从<source-pin>到<destination-pin>。
等效于
.names <source-pin> <destination-pin>
1 1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值