74LS190内部功能电路设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
成绩评定表
课程设计任务书
摘要
74LS190电路是十进制同步可逆计数器,它是单时钟控制的,能够完成置数、加减计数、保持功能,还有进位或借位、级联等功能。
本文详细介绍了依据功能要求74ls190内部电路方案设计的过程。
并在此基础上将整体电路分为加法模块、减法模块、RC信号产生模块、进位借位等主要功能模块。
实现中采用Verilog HDL描述、ModelSim进行功能仿真、通过Design Compiler进行逻辑综合,然后在Cadence公司的encounter13.1上完成布局布线并输出网表,最后再用Modelsim进行后仿真,验证设计的功能与时序的正确性。
关键词Verilog HDL;FPGA;仿真;综合;74LS190可逆计数器;PR
目录
引言 (1)
1 总体电路结构设计 (2)
1.1 电路功能与性能 (2)
1.2 主要调度算法 (2)
1.3 电路接口 (3)
1.4 电路功能框图 (3)
1.5 74ls190电路原理框图 (4)
2 模块设计 (5)
2.1 加、减法计数器模块设计 (5)
3 设计仿真 (6)
3.1 仿真的功能列表 (6)
3.2 仿真平台构建和仿真结果 (6)
3.2.1 仿真平台与激励 (6)
3.2.2 电路功能仿真结果 (7)
4 约束及综合实现 (8)
4.1 约束策略 (8)
4.2 脚本 (8)
4.3 综合文件 (10)
4.4 综合过程 (11)
5 布局布线 (13)
5.1 文件准备 (13)
5.2 布局布线过程 (13)
5.3 物理验证 (15)
6 后仿真 (18)
总结 (19)
参考文献 (20)
附录A 电路源代码 (21)
附录B 顶层设计源代码 (22)
附录C 设计约束代码 (24)
附录D IO文件代码 (26)
引言
随着可编程器件FPGA/CPLD成本的逐渐降低,以及开发测试技术的日益普及,FPGA/CPLD以其较好的集成度和稳定性、可编程实现与升级的特点,在电子设计领域得到了越来越多的应用。
本设计要实现一个74ls190内部电路功能设计,要求完成加减可逆计数、保持、置数等功能的电路设计。
本设计采用FPGA/CPLD的方案,使用Altera的Cyclone芯片,开发过程中采用Altera的集成工具Quartus II 11.0实现设计。
基本流程是这样的:首先根据设计任务要求进行方案的设计,包括引脚确定、时序关系、功能框图与模块划分等;然后依据模块设计进行模块HDL代码的输入与功能仿真,功能仿真采用HDL仿真工具Modelsim SE 10.1a;完成功能仿真后再Quartus II 11.0平台下进行电路的约束与综合;综合结果无误后进行布局与布线,生成配置文件;在下载前进行时序分析;最后下载、测试,从而完成设计。
本设计主要采用的是LED灯的显示来记加减可逆计数、保持、置数等功能的。
1 总体电路结构设计
1.1电路功能与性能
74ls190就是用同一个时钟信号通过一定的电路结构完成计数功能。
在异步并行置数的作用下实现异步置数功能,在使能端和加减控制端的共同作用下实现加法计数、减法计数功能。
根据题目要求,输入频率是1HZ时,通过控制端实现加减可逆计数、保持、置数等功能。
1.2 主要调度算法
74ls190内部电路设计,该表反映的是集成可逆计数器74ls190具有:同步可逆计数功能,异步并行置数功能,保持功能。
74ls190没有专用的清零输入端,但可以借助LD异步并行置数端置数0000间接实现清零功能。
状态如表1.1所示。
表1.1 状态表
1.3 电路接口
74ls190内部电路具体接口如下表1.2所示。
表1.2 接口信号表
1.4 电路功能框图
依照功能,将电路分为5个功能模块:加法、减法计数器模块,保持模块,置数模块,运算结果存储模块。
加法计数器主要完成加法计数,减法计数器主要完后减法计数,保持模块保持输出原信号,置数模块输出输入值,存储模块储存上次运算产生的结果并送到下一次运算。
电路的功能框如图1.1所示。
图1.1 可逆计数器电路功能框图
1.5 74ls190电路原理框图
74ls190电路原理RTL级图如图1.2所示。
图1.2 74ls190电路RTL级原理图
2 模块设计
设计共有5个功能模块,分别是加法、减法计数器模块,保持模块,置数模块,运算结果存储模块。
这里对模块的详细功能和时序关系进行细致说明。
2.1 加、减法计数器模块设计
加、减法计数器主要完成对输入信号进行上升沿有效判断,进而完成计数器的计数功能。
加、减法计数器模块的接口信号为CP,具体说明如下表2.1所示:
表2.1 信号处理模块接口信号表
加、减法计数器模块流程图如图2.3所示。
图2.3 加、减计数器模块的流程图
3设计仿真
功能验证分为两部分,一部分是电路功能与时序的软件仿真,采用Moldsim SE 10.1a 完成;另一部分是将配置文件下载后在开发板上对设计进行测试,通过开关、按键、LED 等方式进行。
3.1 仿真的功能列表
功能仿真与测试要针对每一条设计需要实现的功能进行。
设计中要求实现的、需要仿真与测试功能列表如下:
1)异步置数功能——当异步置数信号低有效时,电路应处于异步置数状态:运行
控制信号处于无效、任何输入没有响应、计数器显示置数数值;当异步置数信号变为高电平时,电路正常工作。
2)时钟信号——当有时钟时电路正常工作;没有时钟信号时,除异步置数信号外
所有的输入没有响应,所有的输出没有变化。
3)使能端口控制信号——当使能端控制信号为高电平正常的计数功能,当使能信
号处于低电平时处于保持状态。
4)加、减法控制信号——当加、减法控制信号处于低电平时做加法运算,当加减
法控制信号处于高电平时做减法运算。
5)LED显示——LED亮是高电平、灭是低电平。
3.2 仿真平台构建和仿真结果
3.2.1 仿真平台与激励
仿真激励的构造只要针对需要验证的功能即可,这里构造一个测试平台,相应文件为mydesign_tb.v,其中将源代码design.v中的激励信号引入,并采用查看波形的方式确认输出。
3.2.2 电路功能仿真结果
电路功能仿真结果如图3.1(a)、3.1(b)、3.1(c)所示:
图3.1(a)电路功能仿真图
图3.1(b)电路功能仿真图
图3.1(c)电路功能仿真图
如图所示:上升沿有效,输入时钟为1Hz脉冲。
图3.1(a)主要是异步置数、使能控制、加减控制、并行置数的波形图。
图3.1(b)主要是实现在加减控制的作用下进行加法计数的波形图。
图3.1(c)主要是实现在加减控制的作用下进行减法计数的波形图。
4 约束及逻辑综合
4.1 约束策略
对于一个由时钟控制的数字逻辑电路来说,时序是最为重要的。
Top_iopad.v是本设计所要约束的文件。
本设计定的时钟CLK的频率为25MHz,即周期为40ns。
输入为LD,CT,UD,D[3:0],输出为Q[3:0]和CO,他们都是由CLK信号同步控制,所以这些信号延时约占时钟信号的60%,即输入输出延时设置24ns。
本设计所有输入输出信号都是clk信号同步控制,故并不存在纯组合逻辑电路。
4.2 脚本
首先是读入源代码,也就是HDL文本描述的设计文件,此处不用制定目录,Design Compiler 会在搜索目录中搜索。
tcl语句如下:
read_file -format verilog {core.v Top_iopad.v}
读入设计原文件后,一般设定当前设计,这样约束条件才可能有针对性的施加。
tcl语句如下:current_design dcLabTop
设定当前设计后,要完成链接,也就是将设计与库链接起来,用于映射过程中搜索相应的单元,完成综合。
tcl语句如下:
Link
检查设计,主要完成检查转换的设计。
tcl语句如下:
check_design
然后对设计设定时序约束,这是最重要的一项约束,用于设定设计的工作速度。
针对不同的设计部分,有不同的约束方法。
针对本次设计,采用全同步,双时钟工作的实际情况。
以下语句设定时钟及属性、输入输出信号时间余量。
设定名称为CLK的时钟,由于采用25MHz的时钟,故设定时钟周期为40ns。
tcl语句如下:create_clock -name "CP" -period 40 -waveform { 20 40 } { CP }
设定输入信号最大时间延时。
tcl语句如下:
set_input_delay -clock CP -max -rise 20 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}"
set_input_delay -clock CP -max -fall 20 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}"
set_input_delay -clock CP -min -rise 5 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}"
set_input_delay -clock CP -min -fall 5 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}"
设定输出信号最大时间延时。
tcl语句如下:
set_output_delay -clock CP -max -rise 10 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO"
set_output_delay -clock CP -max -fall 10 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO"
set_output_delay -clock CP -min -rise 5 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO"
set_output_delay -clock CP -min -fall 5 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO"
告诉综合器不要对时钟网络进行驱动,这个工作将在后续版图布局布线中进行。
tcl语句如下:set_dont_touch_network [get_clocks "CP"]
检查时序。
tcl语句如下:
check_timing
设定综合的操作条件。
tcl语句如下:
set_operating_conditions -max slow -max_library slow -min fast -min_library fast
设定线负载模型,本设计选择tsmc18_wl20模型。
tcl语句如下:
set_wire_load_model -name tsmc18_wl20 -library slow
设定扇出最大负载能力。
tcl语句如下:
set_max_fanout 20 dcLabTop
设定输出网表的格式规则,以消除gate level nelist中的assign。
tcl语句如下:
set verilogout_no_tri true
set_fix_multiple_port_nets -all -buffer_constants
中等能力进行综合。
tcl语句如下:
compile -map_effort medium -area_effort medium
输出时序报告。
tcl语句如下:
rc > ../log/tim.log
输出网表。
tcl语句如下:
write -f verilog -hier -o ../ntlst/74LS190_top.sv
输出综合数据文件。
tcl语句如下:
write -f ddc -hier -o ../log/74LS190_top.ddc
输出延时文件。
tcl语句如下:
write_sdf -version 2.1 ../log/74LS190_top.sdf
输出面积文件。
tcl语句如下:
report_area > ../log/74LS190_top.area.log
4.3综合文件
首先在DC工程目录下建立74LS190文件夹作为本次实验dc的操作主目录。
在该目录下,建立设计存放目录如source、约束文件目录如constrn、输出网表文件目录ntlst、报告输出目录rpt、log 文件目录log、dc启动目录work,等等。
在综合前需要准备以下几个文件,以便使软件可以正常工作。
.synopsys_dc.setup文件即启动项文件:
在这个文件中,需要将所用到的库单元文件的路径和电路设计文件所存放的路径写入,以便软件在工作时能够找到这些文件并正确识别,本设计将它存放在work目录下。
*.v文件:
因为本次课程设计所使用电路描述语言为verilog HDL语言,所以至少需要将顶层TOP设计文件、功能电路的设计文件,即准备好一个正确可用的设计,以便用于约束综合,本设计将*.v文件存放在code目录下。
Tcl语句文件:
在本次课程设计中使用的是命令界面,使用Tcl语言进行操作,所以需要准备好相应的Tcl命令,以便对设计进行约束综合等相应操作,本设计将它存放在constrn目录下。
库文件:
本设计采用的是tsmc公司的0.18um标准单元库的所有文件,存放在目录:/opt/eda/designKit/下面。
4.4综合过程
4.4.1 综合流程
按照所定义的电路的测量特征所要达到的目标,Design Compiler综合一个电路并将其放入目标库中,这样可以生成适用于你的计算机辅助设计工程(CAE)工具的原理图或网表。
综合的过程如下:
•读入设计及其子设计
•设置顶层的设计特性参数
•设置实际时序和面积目标参数
•执行check_design验证设计,识别并且更正错误
•进行Design Compiler优化
综合流程如下:
设置启动项文件→读入源代码→链接,设计检查→时序路径约束→编译综合→结束
4.4.2 综合操作过程
首先打开Linux中命令终端。
进入以准备好的.synopsys_dc.setup文件所在路径。
执行命令,打开Design Compiler。
进入Tcl命令界面,命令如下:
cd Project/synopsys/DC2013.3/74LS190/work
dc_shell-t
运行后,读入文件将在终端得到如下图图4.1界面,即已经进入DC的Tcl命令界面。
图3.1 Design Compiler的Tcl命令界面
因为已经将所要使用的Tcl语句准备好并形成文件,所以可以使用source命令来将Tcl命令全部读入并执行。
命令如下:
rule.con
这里我们逐一运行命令,运行后,将在终端得到如下界面,即已经进入约束综合过程。
5 布局布线
5.1文件准备
同所有的EDA工具一样,Encounter在进行设计之前也要准备文件。
一般必须要有时序文件lib、SI工具CeltIC进行信号完整性分析的cdb文件、用于RC提取的电容表文件capTbl、综合工具输出的门级综合网表、定义工艺的版图交换文件LEF(Library Exchange Format)、时序约束的sdc(Synthesis Design Constraints)文件、PAD位置约束的io文件。
其中经过Design Compiler对其进行综合后获得了网表文件FIR_top.sv以及约束文件74LS190_top.sdc,pad约束的io文件需要手工书写。
这里,I/O PAD已经在综合前添加进入网表中,所以在布局布线前只需在网表中的顶层模块下加入电源PAD和拐角连接PAD,就行了如下图所示。
图5.1 在网表中加入电源PAD和拐角连接PAD
5.2布局布线过程
首先打开Linux 中命令终端,进入启动Encounter 的工作目录,执行命令,打开
Encounter。
SOC Encounter 软件正常启动后按照以下流程操作:
1) Design_import,读入设计所需要的库文件和设计文件;
2) FloorPlan,对整个版图进行布局规划;
3) Global Net Connection,把标准单元,电源PAD 等版图中用到的cell 的pin 和
电源的net 一一对应起来;
4) Add Power Rings,添加core 的电源环和地环,在数字标准单元区域的周围放置power ring,用于提供数字部分的电源和地;
5) Add Stripes,用于在芯片中插入一些横的竖的电源线,保证供电;
6) Special Route (SRoute),把标准单元的电源以及给core 供电的电源pad 和core 电源环连接起来;
7) Placement Blockage,在电源的Stripes 和Routing 的blockage 的地方放置一些blockage,防止在这些地方;
8) Placement,放置标准单元;
9) Trail Routing,进行初步的布线,布线完成进行setup time 的时序分析和优化;
10) Create Clock Tree,为大扇出的时钟线布时钟树,完成建立时钟树后进行hold time 时序分析和优化;
11) NanoRoute,细节优化布线,是encounter 的最强大工具,用于细节、优化布线。
12) SI,对信号有噪声线进行修补和优化;
完成以上操作后得到版图如下。
图5.2 74LS190电路的版图
5.3 物理验证
这里物理验证主要是通过Encounter的Verify进行几何规则检查(V erify Geometry)、连线的连接性(Verify Connectivity)和金属密度检查(Verify Metal Destiny)。
几何规则检查的报告如下。
图5.3 几何规则检查报告
连线的连接性检查报告如下。
图5.4 连线的连接性检查报告金属密度验证报告
图5.5 金属密度检查报告
因为该电路结构较简单,所以完成的版图金属密度会很低,可以考虑添加对电路没有影响的金属填充物,添加Matel Filler,金属密度会有所升高。
图5.6 添加金属后的金属密度检查报告
6 后仿真
本设计采用的后仿真工具同样是Modelsim。
从之前的布局布线中导出电路的网表(*.v)和延时文件(*.sdf),并构建测试平台和激励,在测试平台中通过加入以下句子就会在仿真时引用延时文件:
initial $sdf_annotate("./74LS190_soce.sdf",mydesign);
后仿真结果如图6.1和图6.2。
图6.1 后仿真图
图6.2 放大后的后仿真图
如图6.2所示,当CLK上升沿到来到输出Q的变化,有大约1.4ns的延迟。
总结
本电路可以完成74ls190内部电路设计的要求。
将LED灯、开关等和FPGA连接,下载到FPGA中。
当异步置数端是低电平时实现异步置数功能,当异步置数端是高电平是可以正常的计数;当使能端是低电平时实现保持功能,当使能端是高电平时可以正常的计数功能;当加减控制端是低电平时实现加法计数,当加减控制端是高电平时实现减法计数。
设计程序的功能达到了设计的要求。
通过对74ls190内部电路原理的理解、分析、设计出74ls190内部电路的思路,设计后对程序进行测试,测试通过后应用MODELSIM仿真软件对程序进行波形仿真,通过对输出时钟波形的分析,程序功能最终达到了设计的目的和要求。
在设计过程中充分发挥了MODELSIM的仿真功能。
设计完成后基本掌握了MODELSIM软件的操作过程。
采用硬件描述语言和原理图输入方式,利用synopsys公司的Design_compiler逻辑综合软件,方便地完成了74ls190内部电路的逻辑综合,并输出网表文件以及延时文件。
之后运用encounter13.1软件进行了布局布线的工作并产生了对应的网表,延时和GDSⅡ文件。
最后在encounter生成的网表和延时文件基础上进行后仿真,结果与预期的效果吻合。
该设计方法简单方便、节约资源、可移置性强、便于系统升级,因此,在时钟要求不太严格的系统中应用非常广泛,同时在以后的FPGA设计发展中也有很大的应用空间。
本次课程设计主要是运用工具encounter实现74ls190内部电路的布局布线和优化,相对于其他的题目来说,比较简单,但在实验做的时候还是遇到不少的问题。
而在解决这些问题的过程中,不仅学到了知识,吸取了经验,还掌握了工具的使用方法甚至锻炼了我学习和探索的能力。
参考文献
[1]潘松,黄继业,EDA技术实用教程(第三版)[M].北京科学出版社,2006
[2]擦光辉,CPLD/FPGA的开发与应用[M].北京:电子工业出版社,2002
[3]张静亚.FPGA系统设计中资源分配的分析和研究[J].信息化研究,2009
[4]吴玉吕,胡水强,王文娟。
基于CPLD/FPGA的74ls190的设计与实现[L].世界电子
元器件,2007.03
[5]王金明数字系统设计与verilog HDL(第四版),电子工业出版社,2011.1
附录A 电路源代码
module mydesign(Q,D,CT,UD,CP,CO,LD);
input[3:0] D;
input CT;
input UD;
input CP;
input LD;
output[3:0] Q;
output CO;
wire[3:0] D;
wire CT,UD,CP,LD;
reg[3:0] Q;
reg CO;
always@(posedge CP or negedge LD)
if(~LD)Q[3:0]<=D[3:0];
else
if(CT) Q[3:0]<=Q[3:0];
else
if(~UD)
{Q[3:0],CO}<={(Q[3:0]+4'b0001),(&Q[3:0])};
else
{Q[3:0],CO}<={(Q[3:0]-4'b0001),(~(|Q[3:0]))}; endmodule
附录B 顶层设计源代码module dcLabTop(D,CT,UD,CO,Q,CP,LD); input [3:0]D;
input CT;
input UD;
output CO;
output [3:0]Q;
input CP;
input LD;
//
wire [3:0]D;
wire CT;
wire UD;
wire CO;
wire [3:0]Q;
wire CP;
wire LD;
//
wire [3:0]dc;
wire ctc;
wire udc;
wire coc;
wire [3:0]qc;
wire cpc;
wire ldc;
PDIDGZ ct(.PAD(CT), .C (ctc)); PDIDGZ ud(.PAD(UD), .C (udc)); PDIDGZ d3(.PAD(D[3]), .C (dc[3])); PDIDGZ d2(.PAD(D[2]), .C (dc[2]));
PDIDGZ d1(.PAD(D[1]), .C (dc[1])); PDIDGZ d0(.PAD(D[0]), .C (dc[0])); PDO04CDG co(.I(coc), .PAD(CO)); PDO04CDG q3(.I(qc[3]), .PAD(Q[3])); PDO04CDG q2(.I(qc[2]), .PAD(Q[2])); PDO04CDG q1(.I(qc[1]), .PAD(Q[1])); PDO04CDG q0(.I(qc[0]), .PAD(Q[0])); PDIDGZ cp(.PAD(CP), .C (cpc));
PDIDGZ ld(.PAD(LD), .C (ldc)); //
mydesign mydesign (
.d ( dc ), // I
.ct ( ctc ), // I
.ud ( udc ), // I
.co ( coc ), // O
.q ( qc ), // O
.cp ( cpc), // I
.ld ( ldc )) ; // I
//
endmodule
附录C 设计约束代码
gui_start
read_file -format verilog {core.v Top_iopad.v}
current_design dcLabTop
link
check_design
#
create_clock -name "CP" -period 40 -waveform { 20 40 } { CP }
set_dont_touch_network [ find clock CP ]
set_input_delay -clock CP -max -rise 20 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}"
set_input_delay -clock CP -max -fall 20 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}"
set_input_delay -clock CP -min -rise 5 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}"
set_input_delay -clock CP -min -fall 5 "{D[3]} {D[2]} {D[1]} {D[0]} {D[0]} UD CT LD {D[3]} {D[2]} {D[1]}"
#
set_output_delay -clock CP -max -rise 10 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO"
set_output_delay -clock CP -max -fall 10 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO"
set_output_delay -clock CP -min -rise 5 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO" set_output_delay -clock CP -min -fall 5 "{Q[3]} {Q[2]} {Q[1]} {Q[0]} {Q[3]} {Q[2]} {Q[1]} {Q[0]} CO"
#
set_driving_cell -lib_cell PDIDGZ -pin C -from_pin PAD -library tpz973gbc { {D[3]} {D[2]}
{D[1]} {D[0]} CT UD {D[0]} LD CP {D[3]} {D[2]} {D[1]} }
set_load 3.0 [get_ports "Q CO"]
check_timing
#
set_operating_conditions -min_library fast -min fast -max_library slow -max slow set_wire_load_model -name tsmc18_wl20 -library slow
#
set_max_fanout 20 dcLabTop
set_max_transition 2 dcLabTop
#
set verilogout_no_tri true
set_fix_multiple_port_nets -all -buffer_constants
compile -map_effort medium -area_effort medium
#
rc > ../log/tim.log
write -f verilog -hier -o ../ntlst/74LS190_top.sv
write -f ddc -hier -o ../log/74LS190_top.ddc
write_sdc ../log/74LS190_top.sdc
report_area > ../log/74LS190_top.area.log
write_sdf -version 2.1 ../log/74LS190_top.sdf
附录D IO文件代码Version: 2
Pad: PAD_VDD1 W
Pad: PAD_VSS1 E
Pad: wclk W
Pad: winc W
Pad: wrst_n W
Pad: wfull W
Pad: rclk E
Pad: rinc E
Pad: rrst_n E
Pad: rempty E
Pad: wdata7 N
Pad: wdata6 N
Pad: wdata5 N
Pad: wdata4 N
Pad: wdata3 N
Pad: wdata2 N
Pad: wdata1 N
Pad: wdata0 N
Pad: rdata7 N
Pad: rdata6 N
Pad: rdata5 N
Pad: rdata4 N
Pad: rdata3 N
Pad: rdata2 N
Pad: rdata1 N
Pad: rdata0 N
EDA技术课程设计报告
Pad: PAD_VDD2 E
Pad: PAD_VSS2 W
Pad: CORNER1 NW
Pad: CORNER2 NE
Pad: CORNER3 SE
Pad: CORNER4 SW
──────────────────────────────────────────────────
27。