没有合适的资源?快使用搜索试试~ 我知道了~
首页《ASIC与FPGA验证指南:组件建模详解》
《ASIC与FPGA验证指南:组件建模详解》
需积分: 1 10 下载量 151 浏览量
更新于2023-07-11
收藏 2.97MB PDF 举报
"《ASIC和FPGA验证指南:组件建模手册》是一本经典的IT书籍,专为深入理解ASIC(Application-Specific Integrated Circuit)和FPGA(Field-Programmable Gate Array)设计验证提供全面指导。作者理查德·蒙登是一位经验丰富的工程师,自1987年起就与计算机辅助工程(CAE)系统打交道,并长期专注于仿真和模型构建领域。 蒙登先生在1995年共同创立了Free Model Foundry(http://eda.org/fmf/),担任其总裁兼首席执行官。他的职业背景包括在Siemens Ultrasound(前身为Acuson Corp)担任CAE/PCB经理,以及在TRW公司位于加利福尼亚州雷东多海滩的工作经历。他不仅是多个EDA用户组的知名贡献者,还在行业会议上发表过许多见解。 本书的核心内容围绕 ASIC和FPGA设计的验证策略展开,特别强调了组件建模的重要性。随着硅技术的飞速发展和应用需求的增长,验证已经成为确保芯片性能、安全性和效率的关键环节。《ASIC和FPGA验证指南》为读者提供了实用的工具和技术,涵盖了从设计初期的模型创建,到后期的系统级验证的全过程,包括但不限于功能验证、静态时序分析、硬件描述语言(HDL)仿真、逻辑综合和测试平台构建等。 作为《系统在硅上的摩根考夫曼系列》的一部分,本书由Peter Ashenden和Wayne Wolf等权威编辑审阅,旨在为电子设计工程师提供一个权威且实用的参考资源。通过阅读这本书,读者不仅可以提升对ASIC和FPGA验证的理解,还能掌握最新的技术和最佳实践,从而在实际工作中提高设计质量和效率。"
资源详情
资源推荐
CHAPTER 17 TESTBENCHES FOR COMPONENT MODELS 295
17.1 About Testbenches 295
17.1.1 Tools 295
17.2 Testbench Styles 296
17.2.1 The Empty Testbench 296
17.2.2 The Linear Testbench 296
17.2.3 The Transactor Testbench 296
17.3 Using Assertions 297
17.4 Using Transactors 298
17.5 Testing Memory Models 301
17.6 Summary 308
xiv
Contents
PREFACE
Digital electronic designs continue to evolve toward more complex, higher pincount
components operating at higher clock frequencies. This makes debugging board
designs in a lab with a logic analyzer and an oscilloscope considerably more difficult
than in the past. This is because signals are becoming physically more difficult to
probe and because probing them is more likely to change the operation of the circuit.
Much of the custom logic in today’s products is designed into ASICs or FPGAs.
Although this logic is usually verified through simulation as a standard part of
the design process, the interfaces to standard components on the board, such as
memories and digital signal processors, often go unsimulated and are not verified
until a prototype is built.
Waiting to test for problems this late in the design process can be expensive,
however. In terms of both time and resources, the costs are higher than perform-
ing up-front simulation. The decision not to do up-front board simulation usually
centers around a lack of models and methodology. In ASIC and FPGA Verification:
A Guide to Component Modeling, we address both of these issues.
Historical Background
The current lack of models and methodology for board-level simulation is, in large
part, due to the fact that when digital simulation started to become popular in the
1980s, the simulators were all proprietary. Every Electronic Design Automation
(EDA) vendor had their own and it was not possible to write models that were
portable from one tool to another. They offered tools with names like HILO, SILO,
and TEGAS. Most large corporations, like IBM, had their own internal simulators.
At the ASIC and later FPGA levels each foundry had to decide which simulators
they would support. There were too many simulators available for anyone to
support them all. Each foundry had to validate that the models they provided
worked correctly on each supported release of their chosen simulators.
At the board level, the component vendors saw it was impractical to support all
the different simulators on the market. Rather than choose sides, they generally
xv
decided not to provide models at all. This led to the EDA vendors trying to provide
models. After all, what good is a simulator if the customer has nothing to simulate?
So, each EDA vendor produced its own library of mostly the same models: 7400
series TTL, 4000 series CMOS, a few small memories, and not much else. In those
days, that might be the majority of the parts needed to complete a design. But there
were always other parts used and other models needed. Customers wanting to run
a complete simulation had to model the rest of the parts themselves.
Eventually, someone saw an opportunity to sell (or rent) component models to
all the companies that wanted to simulate their designs but did not want to create
all the models required. A company (Logic Automation) was formed to lease models
of off-the-shelf components to the groups that were designing them into new
products. They developed the technology to model the components in their own
internal proprietary format and translate them into binary code specific to each
simulator.
Verilog, VHDL, and the Origin of VITAL
Verilog started out as another proprietary simulator in 1984 and enjoyed consid-
erable success. In 1990, Cadence Design Systems placed the language in the public
domain. It became an IEEE standard in 1995.
VHDL was developed under contract to the U.S. Department of Defense. It
became an IEEE standard in 1987. Whereas Verilog is a C-like language, it is clear
that VHDL has its roots in Ada. For many years there was intense competition
between Verilog and VHDL for mind share and market share. Both languages have
their strong points. In the end, most EDA companies came out with simulators that
work with both.
Early in the language wars it was noted that Verilog had a number of built-in,
gate-level primitives. Over the years these had been optimized for performance by
Cadence and later by other Verilog vendors. Verilog also had a single defined
method of reading timing into a simulation from an external file.
VHDL, on the other hand, was designed for a higher level of abstraction.
Although it could model almost anything Verilog could, and without primitives, it
allowed things to be modeled in a multitude of ways. This made performance opti-
mization or acceleration impractical. VHDL was not successfully competing with
Verilog-XL as a sign-off ASIC simulator. The EDA companies backing VHDL saw
they had to do something. The something was named VITAL, the VHDL Initiative
toward ASIC Libraries.
The VITAL Specification
The intent of VITAL was to provide a set of standard practices for modeling ASIC
primitives, or macrocells, in VHDL and in the process make acceleration possible.
Two VHDL packages were written: a primitives package and a timing package. The
primitives package modeled all the gate-level primitives found in Verilog. Because
xvi
Preface
MAGPR 8/18/04 2:59 PM Page xvi
these primitives were now in a standard package known to the simulator writers,
they could be optimized by the VHDL compilers for faster simulation.
The timing package provided a standard, acceleratable set of procedures for
checking timing constraints, such as setup and hold, as well as pin-to-pin propa-
gation delays. The committee writing the VITAL packages had the wisdom to avoid
reinventing the wheel. They chose the same SDF file format as Verilog for storing
and annotating timing values.
SDF is the Standard Delay Format, IEEE Standard 1497. It is a textual file format
for timing and delay information for digital electronic designs. It is used to convey
timing and delay values into both VHDL and Verilog simulations. (SDF is discussed
in greater detail in Chapter 4.)
Another stated goal of VITAL is model maintainability. It restricts the writer to
a subset of the VHDL language and demands consistant use of provided libraries.
This encourages uniformity among models, making them easily readable by anyone
familiar with VITAL. Reabability and having the difficult code placed in a provided
library greatly facilitate the maintainence of models by engineers who are not the
original authors.
VITAL became IEEE Standard 1076.4 in 1995. It was reballoted in 2000. The 2000
revision offers several enhancements. These include support for multisource inter-
connect timing, fast path delay disable, and skew constraint timing checks.
However, the most important new feature is the addition of a new package to
support the modeling of static RAMs and ROMs.
The Free Model Foundry
In 1994 I was working at TRW in Redondo Beach California as a CAE manager. The
benefits of board-level simulation were clear but models were not available for most
of the parts we were using. I had written models for the Hilo simulator and then
rewritten them for the ValidSim simulator and I knew I would have to write them
again for yet another simulator. I did not want to waste time writing models for
another proprietary simulator.
At this time VITAL was in its final development and a coworker, Russ Vreeland,
convinced me to look at it. I had already tried Verilog and found it did not work
well at the board level. Although the show-stopper problems were tool related, such
as netlisting, and have since been fixed, other problems remain with the language
itself. These include (but are not limited to) a lack of library support and the inabil-
ity to read the strength of a signal. My personal opinion is that Verilog is fine for
RTL simulation and synthesis but a bit weak at board- and system-level modeling.
All that may be changed by SystemVerilog.
In 1994, VITAL seemed to have everything I needed to model off-the-shelf com-
ponents in a language that was supported by multiple EDA vendors. Russ figured
out how to use it for component models, developed the initial style and method-
ology, and wrote the first models. VHDL/VITAL seemed to be the answer to our
modeling problem.
Preface xvii
MAGPR 8/18/04 2:59 PM Page xvii
But TRW was in the business of developing products, not models. We felt that
models should be supplied by the component vendors just as data sheets were. We
suggested this to a few of our suppliers and quickly realized it was going to take a
long time to convince them. In the mean time we thought we could show other
engineers how our modeling techniques worked and share models with them.
In 1995, Russ Vreeland, Luis Garcia, and I cofounded the Free Model Foundation.
Our hope was to do for simulation models what the Free Software Foundation had
done for software: promote open source standards and sharing. We incorporated as
a not-for-profit. Along the way the state of California insisted that we were not a
“foundation” in their interpretation of the word. We decided we would rather switch
than fight and renamed the organization the Free Model Foundry (FMF).
Today, FMF has models with timing covering over 7,000 vendor part numbers.
All are free for download from our website at www.eda.org/fmf/. The models are
generally copyrighted under the Free Software Foundation’s General Public License
(GPL). Most of the examples in this book are taken from the FMF Web site.
Structure of the Book
ASIC and FPGA Verification: A Guide to Component Modeling is organized so that it
can be read linearly from front to back. Chapters are grouped into four parts: Intro-
duction, Resources and Standards, Modeling Basics, and Advanced Modeling. Each
part covers a number of related modeling concepts and techniques, with individ-
ual chapters building upon previous material.
Part I serves as an introduction to component models and how they fit into
board-level verification. Chapter 1 introduces the idea of board-level verification.
It defines component models and discusses why they are needed. The concept of
technology-independent modeling is introduced, as well as how it fits in the FPGA
and ASIC design flow. Chapter 2 provides a guided tour of a basic component
model, including how it differs from an equivalent synthesizable model.
Part II covers the standards adhered to in component modeling and the many
supporting packages that make it practical. Chapter 3 covers several IEEE and FMF
packages that are used in writing component models. Chapter 4 provides an
overview of SDF as it applies to component modeling. Chapter 5 describes the
organization and requirements of VITAL models. Chapter 6 describes the details
of modeling delays within and between components. Chapter 7 deals with VITAL
truth tables and state tables and how to use them. In Chapter 8, the basics of
modeling timing constraints are described.
Part III puts to use the material from the earlier chapters. Chapter 9 deals with
modeling devices containing registers. Chapter 10 details the use of conditional
delays and timing constraints. Chapter 11 covers negative timing constraints.
Chapter 12 discusses the timing files and SDF backannotation that make the style
of modeling put forth here so powerful.
Part IV introduces concepts for modeling more complex components. Chapter
13 demonstrates how to use the techniques discussed to build a timing wrapper
xviii
Preface
MAGPR 8/18/04 2:59 PM Page xviii
剩余337页未读,继续阅读
gwxcheh
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 利用迪杰斯特拉算法的全国交通咨询系统设计与实现
- 全国交通咨询系统C++实现源码解析
- DFT与FFT应用:信号频谱分析实验
- MATLAB图论算法实现:最小费用最大流
- MATLAB常用命令完全指南
- 共创智慧灯杆数据运营公司——抢占5G市场
- 中山农情统计分析系统项目实施与管理策略
- XX省中小学智慧校园建设实施方案
- 中山农情统计分析系统项目实施方案
- MATLAB函数详解:从Text到Size的实用指南
- 考虑速度与加速度限制的工业机器人轨迹规划与实时补偿算法
- Matlab进行统计回归分析:从单因素到双因素方差分析
- 智慧灯杆数据运营公司策划书:抢占5G市场,打造智慧城市新载体
- Photoshop基础与色彩知识:信息时代的PS认证考试全攻略
- Photoshop技能测试:核心概念与操作
- Photoshop试题与答案详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功