Metamodeling Driven IP Reuse for SoC Integration and Microprocessor Design 1st Edition Deepak A. Mathaikutty

grozesantird 11 views 85 slides May 05, 2025
Slide 1
Slide 1 of 85
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85

About This Presentation

Metamodeling Driven IP Reuse for SoC Integration and Microprocessor Design 1st Edition Deepak A. Mathaikutty
Metamodeling Driven IP Reuse for SoC Integration and Microprocessor Design 1st Edition Deepak A. Mathaikutty
Metamodeling Driven IP Reuse for SoC Integration and Microprocessor Design 1st Edi...


Slide Content

Metamodeling Driven IP Reuse for SoC Integration
and Microprocessor Design 1st Edition Deepak A.
Mathaikutty download
https://ebookgate.com/product/metamodeling-driven-ip-reuse-for-
soc-integration-and-microprocessor-design-1st-edition-deepak-a-
mathaikutty/
Get Instant Ebook Downloads – Browse at https://ebookgate.com

Get Your Digital Files Instantly: PDF, ePub, MOBI and More
Quick Digital Downloads: PDF, ePub, MOBI and Other Formats
Design Driven Testing 1st Edition Matt Stephens
https://ebookgate.com/product/design-driven-testing-1st-edition-
matt-stephens/
Manufacturing Design Production Automation and
Integration 1st Edition John L. Semmlow
https://ebookgate.com/product/manufacturing-design-production-
automation-and-integration-1st-edition-john-l-semmlow/
Water Reuse for Irrigation Agriculture Landscapes and
Turf Grass 1st Edition Valentina Lazarova
https://ebookgate.com/product/water-reuse-for-irrigation-
agriculture-landscapes-and-turf-grass-1st-edition-valentina-
lazarova/
Chemical process design and integration 2nd Edition
Robin M. Smith
https://ebookgate.com/product/chemical-process-design-and-
integration-2nd-edition-robin-m-smith/

The Design of Dissent Socially and Politically Driven
Graphics First Edition Milton Glaser
https://ebookgate.com/product/the-design-of-dissent-socially-and-
politically-driven-graphics-first-edition-milton-glaser/
IP Communications and Services for NGN 1st Edition
Johnson I. Agbinya
https://ebookgate.com/product/ip-communications-and-services-for-
ngn-1st-edition-johnson-i-agbinya/
IP for 3G Networking Technologies for Mobile
Communications 1st Edition Dave Wisely
https://ebookgate.com/product/ip-for-3g-networking-technologies-
for-mobile-communications-1st-edition-dave-wisely/
IP Enabled Energy Management A Proven Strategy for
Administering Energy as a Service 1st Edition Rob
Aldrich
https://ebookgate.com/product/ip-enabled-energy-management-a-
proven-strategy-for-administering-energy-as-a-service-1st-
edition-rob-aldrich/
IP Telephony Deploying Voice over IP Protocols 1st
Edition Olivier Hersent
https://ebookgate.com/product/ip-telephony-deploying-voice-over-
ip-protocols-1st-edition-olivier-hersent/

Metamodeling-Driven
IP Reuse for SoC Integration
and Microprocessor Design

For a listing of recent related Artech House titles,
turn to the back of this book.

Metamodeling-Driven
IP Reuse for SoC Integration
and Microprocessor Design
Deepak A. Mathaikutty
Sandeep Shukla

Library of Congress Cataloging-in-Publication Data
A catalog record for this book is available from the U.S. Library of Congress.
British Library Cataloguing in Publication Data
A catalogue record for this book is available from the British Library.
ISBN-13 978-1-59693-424-5
Cover design by Yekaterina Ratner
© 2009 ARTECH HOUSE
685 Canton Street
Norwood, MA 02062
All rights reserved. Printed and bound in the United States of America. No part of this book may
be reproduced or utilized in any form or by any means, electronic or mechanical, including pho-
tocopying, recording, or by any information storage and retrieval system, without permission in
writing from the publisher. All terms mentioned in this book that are known to be trademarks or
service marks have been appropriately capitalized. Artech House cannot attest to the accuracy of
this information. Use of a term in this book should not be regarded as affecting the validity of
any trademark or service mark.
10 9 8 7 6 5 4 3 2 1

Contents
Pref
ace xi
Acknowledgments xxi
Chapter 1 Introduction 1
1.1 Ongoing Efforts in Design IP Reuse 5
1.2 Ongoing Efforts in Verication IP Reuse 8
1.3 Essential Issues with IP Reuse 9
1.4 Metamodeling Approach to Reuse 13
1.5 Problem Statement 15
1.6 Research Contributions 17
1.7 Tools and Techniques Developed 18
References 19
Chapter 2 Background 23
2.1 Metamodeling 23
2.1.1 Implicit Metamodeling Versus Explicit Metamodeling 25
2.1.2 Generic Modeling Environment 26
2.2 Component Composition Framework 28
2.3 Reection and Introspection (R-I) 30
2.4 SystemC 31
2.5 Model-Driven Validation 32
2.5.1 Microprocessor Validation Flow 32
2.5.2 Simulation-Based Functional Validation 35
2.6 Test Generation 36
v

vi Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
2.6.1 Constraint Programming 36
2.6.2 Esterel Studio 37
2.7 Coverage-Directed Test Generation 38
2.7.1 Structural Coverage 38
2.7.2 Functional Coverage 40
2.7.3 Property Specication Language (PSL) 41
2.7.4 Fault Classication 41
References 42
Chapter 3 Related Work 45
3.1 Component Composition Framework 45
3.1.1 The BALBOA Framework 45
3.1.2 Liberty Simulation Environment (LSE) 46
3.1.3 EWD 47
3.1.4 Ptolemy II 47
3.1.5 Metropolis 48
3.2 Component-Based Software Design Environments 49
3.3 IP Interfacing Standards 50
3.3.1 SPIRIT 51
3.4 Existing Tools for Structural Reection 51
3.5 Architecture Description Languages 53
3.6 Test Generation 54
References 56
I Design Reuse 61
Chapter 4 A Metamodel for Component Composition 63
4.1 CC Language, Metamodel, and Model 65
4.1.1 Component Composition Language (CCL) 65
4.1.2 Component Composition Metamodel (CCMM) 68
4.1.3 Component Composition Model (CCM) 77
4.2 CC Analysis and Translation 82
4.2.1 Consistency Checking 82
4.2.2 Type Inference 83
4.2.3 XML Translation 93
4.3 Case Studies 94
4.3.1 AMBA AHB RTL Bus Model 94
4.3.2 Simple Bus TL Model 97

Contents vii
4.4
Design Experience and Summary 100
References 101
Chapter 5 IP Reection and Selection 103
5.1 Metadata for IP Composition 104
5.2 Metadata on a SystemC IP Specication 105
5.3 Tools and Methodology 113
5.3.1 Stage 1: SystemC Parsing 114
5.3.2 Stage 2: AST Parsing and DOM Population 114
5.3.3 Stage 3: Processing and Constraining DOM 118
5.4 IP Selection 123
5.4.1 Illustrative Example 130
5.5 Case Study 131
5.6 Summary 134
References 135
Chapter 6 Typing Problems in IP Composition 137
6.1 MCF Type Denitions 138
6.1.1 Component Composition Language 139
6.1.2 IP Library 144
6.2 Type Resolution in MCF 145
6.2.1 Type Inference on Architectural Template 146
6.2.2 Type Substitution Using IP Library 149
6.3 Comparative Study 156
6.4 Case Study 157
6.5 Summary 161
References 161
Chapter 7 IP Composition 163
7.1 MCF Ingredients 166
7.2 Handling Generic IPs 168
7.3 Interaction Pattern 170
7.3.1 Interaction Console 172
7.4 Case Study 174
7.5 Summary 178
References 178
Chapter 8 Checker Generation for IP Verication 181
8.1 Enhanced Design Flow 181

viii Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
8.2 Enhanced Modeling Framework 183
8.2.1 Component Properties 185
8.2.2 Composition Properties 185
8.2.3 XML Translation 186
8.3 Interaction Console 187
8.4 Conclusion 191
References 191
II Verication Reuse 193
Chapter 9 A Metamodel for Microprocessors 195
9.1 Modeling and Validation Environment (MMV) 195
9.1.1 System-Level View (SV) 197
9.1.2 Architecture View (AV) 201
9.1.3 Microarchitecture View (MV) 207
9.2 Simulator Generation 212
9.2.1 Metamodel Additions for Simulator Generation 213
9.2.2 ALGS Generation 214
9.3 Test Generation 221
9.3.1 CSP Formulation for Generating Random Test Cases 221
9.4 Case Study: Modeling Vespa in MMV 224
9.4.1 System-Level Model 225
9.4.2 Architecture Model 228
9.4.3 Renement of Real-Time Software Scheduler 230
9.4.4 Microarchitecture Model 232
9.5 Summary 234
References 235
Chapter 10 Design Fault Directed Test Generation 237
10.1 Motivation 238
10.2 Modeling and Test Generation 240
10.2.1 Architecture Modeling 240
10.2.2 Microarchitecture Modeling 240
10.2.3 CSP Formulation 242
10.2.4 Test Case Generator (TCG) 244
10.2.5 Usage Mode 245
10.3 Coverage Constraints 246
10.3.1 Statement Coverage 246

Contents ix
10.3.2
Branch Coverage 247
10.3.3 MCDC 248
10.3.4 Design Fault Coverage 249
10.4 Results 251
10.5 Summary 252
References 253
Chapter 11 Model-Driven System-Level Validation 255
11.1 Test Generation Methodology 256
11.1.1 Modeling and Simulation and Verication 256
11.1.2 Coverage Annotation 261
11.1.3 Test Generation 264
11.2 SystemC Validation 266
11.2.1 TestSpec Generator (TSG) 268
11.3 Case Study 269
11.3.1 PSM Specication 269
11.3.2 Functional Model 271
11.3.3 Verication Model 271
11.3.4 Coverage Annotation 271
11.3.5 Test Generation 272
11.3.6 Implementation Model 272
11.4 Summary 273
References 273
Chapter 12 Conclusion and Future Work 275
12.1 Summary 275
12.2 Future Work 278
12.2.1 Solution Methodology Enhancements 278
12.2.2 Extensions for Industry Recognition 279
References 281
About the Authors 285
Index 287

Preface
“W
e recognize IP reuse as the key to creating reliable, proven, repeatable design
content on a truly industrial scale” [1]. “When it comes to SoC design, nothing is
more important in enabling productivity, reducing risk, and simplifying verication
than the use of standardized, preengineered blocks and subsystems” [2]. These two
quotes, one from the president of the SPIRIT consortium, and another from a regular
contributor to theIC Design and Vericationonline journal, summarizes the mantra
that also led us to embark on a project resulting in this book. Today in 2009, almost
everyone in the semiconductor industry recognizes that reuse is the key to higher
designer productivity and reduced time to market. The complexity of hardware
systems has been increasing at a rapid pace due to the rising expectations by
consumers to use sophisticated applications. At the same time, due to the immense
competitive pressure, the companies are hard pressed to reduce the design turn-
around time. As a result, the semiconductor and the embedded systems industries
have been seeking the Holy Grail or a panacea for almost a decade now. At this
point in time, IP reuse and its enablers for efcient reuse are pitched as the solution
everyone has been seeking. We concur with many industry and academic experts: it
might very well be a prudent direction to take, if not the only one.
However, reuse is not a new phenomenon in the industry. Cut-and-paste reuse
is common in most of the software and hardware design industries. In software
engineering, the technology has moved beyond the cut-and-paste reuse soon after
the inception of procedural programming. Soon after, the object-based and object-
oriented programming concepts made their way into the standard software design
paradigms. Component based design and reuse are essential elements of software
design for decades now. In fact, one almost cannot even write any useful C program
without using standard library function calls. This is not to claim that software
engineering has solved all its problems with productivity and correctness. We just
mention this in order to provide a historical context of reuse as a technological
precept.
xi

xii Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
In contrast, even in the early 1990s, hardware design at the register-transfer-
level (RTL) or below did not evolve any reuse methodology beyond some propri-
etary coding standards, and some methodological rigors. The reusability manual [3]
was the closest to the best advice a hardware designer could get at that time. In
our personal experiences in the industry, we have seen rampant use of cut-and-
paste reuse from one generation of a microprocessor to the next at a semiconductor
company. This practice was common to the extent that even the names of variables
and wires gave away the fact that some of the code were cut and pasted from pre-
vious generation RTL. This obviously caused verication problems to no end. The
verication effort spent in nding the problems originating from such unstructured
reuse often outspent the time saved in reusing existing code base. Clearly, reuse as
a methodology, and further more, reuse as a technology were sorely needed.
Before, we discuss more about the reuse as technology which is the main
theme of this book; let us recapitulate a little bit of some recent history of design
automation to ease our way into more discussion on IP reuse technology and its
benets.
Today, it is sort of well accepted that IP reuse might be our best shot
at substantial productivity gain. However, in the late 1990s, a lot of hopes and
resources were invested into the idea of moving beyond the RTL. The fact that
RTL replaced schematics based design entry a decade earlier, and the success of
logic synthesis in the intervening years provided the historical perspective along
these lines. The experts advocated creating high-level design languages, and high-
level synthesis from functional models to RTL. It is necessary that such hopes are
kept alive. In fact, we are hopeful that languages that abstract away from the RTL
details would become the design-entry language in the future. Unfortunately, the
last 10 years have evolved rather differently than the course charted by the high-
level modeling aspirations in 1999.
For a while, it was believed that C++ and object oriented programming
would make expressing design intents easier. The added advantage would be the
free compilation path leading to free and fast simulation for functional testing.
In September 1999, Synopsys announced the release of SystemC-0.9 library for
hardware design. Contemporaneously, Cynapps (which has been renamed Forte
Design Systems) released Cynlib. The designers who believed that moving to
higher abstraction level is the key to higher productivity were excited. The released
versions of these libraries implemented class libraries that can model most structural
RTL level constructs including modules, architectures, clocks, and so on. The
concurrency was modeled with threads. However, it was soon realized that the
simulation efciency can only be gained if the model of computation that drives

Preface xiii
the
simulation is of higher granularity than the ones employed in discrete-event
simulation.
Most designers who were experts in using languages such as VHDL (orig-
inally invented as a specication and later simulation language) and Verilog used
these C++ libraries very much like structural RTL languages. The simulation speed-
up expected did not materialize in the experiments. The notion of transaction level
modeling started taking shape. Various ideas were added to SystemC library in the
version 2.0 onwards, from another academic language, namely SpecC. The notions
of channels, events, and various methods of channel synchronizations were added.
Over the years, due to the strong industrial involvement in the SystemC initiative,
various levels of transactional abstractions have been proposed, and various add-on
libraries have been implemented. A number of academic researchers did not think
that transactions are the only way to make modeling easier and closer to designer
intent. They advocated behavioral modeling through addition of models of compu-
tation specic constructs, implementing the simulation of these constructs through
redesign of the kernel [4, 5] or additional libraries [6]. Over time, a new industrial
buzzword sprang into existence: ESL (Electronic System Level) languages.
What ESL really entails has many interpretations, and many volumes have
been written [7] about the ESL methodologies and languages. Despite their inter-
pretational differences, the common understanding seems to be that SystemC at the
right level of abstraction is a representative of ESL, and so is SystemVerilog. Var-
ious other languages claim to be ESL, and some argue in favor and some against.
The point is that ESL has not yet proven to be the all encompassing solution to
the designer productivity problem. Neither is IP reuse. However, there seems to
be a conuence of opinions there. The technologies and standards that enable IP
reuse is certainly required by the industry. The IP design houses as well as users
of predesigned IP blocks all agree on this. Along came the SPIRIT consortium in
2001.
SPIRIT [1] consortium aims to standardize the language and tool independent
exchange format for IPs. They also proposed various tools (called generators) that
could use such exchange format descriptions to build various collaterals including
verication models and other aspects of a purchased IP. At the time of the birth
of this consortium, another industry consortium called the VSIA (Virtual Socket
Interface Alliance) already worked for several years on standardization efforts for
IP interfaces. They published a number of standards for IP exchange formats and
various bus interface standards, to make System-on-Chip design more efcient. A
few other consortiums or joint industry efforts also looked into standardizing var-
ious on-chip bus interfaces at various abstraction levels, such as AMBA and OCP.

xiv Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
Without going into too much details about the history of IP interface standardization
efforts, it is sufcient to say that IP reuse needs these standardizations, and it must
be successful for the productivity gain in a world where IP reuse and IP exchange
based design of systems will become the trend.
In the above rendition of our view on a piece of industrial history, we tried
to convince the readers that IP reuse will have an immediate impact on designer
productivity than ESL alone. The IP reuse standards and technologies enabling IP
reuse are not the main topic of this book, but it is highly related. In fact, our effort
in creating enablers for IP reuse happened in parallel with efforts such as those
of VSIA or SPIRIT. However, we must embrace the standards, but the technology
enablers can differ in the way they work. This book describes how we thought to
create such technologies, often unaware of the standardization efforts in progress
elsewhere.
Now, let us go through a brief history of how we commenced on the path
that led to the research presented in this book. We believe that the history I am
going to narrate now will have relevance to the readers interested in our views and
technologies for IP reuse.
In 2000, Sandeep Shukla met Professor Rajesh Gupta while working as a
design automation engineer in the semiconductor industry. This was the time when
we were experimenting with SystemC-0.9 and Cynlib-1.0 to prove or disprove that
modeling with these libraries would make simulation faster than standard HDL lan-
guages. Since Rajesh worked on SystemC when it was code named Scenic, before
its open source release, it was natural to seek his advice. During one such con-
versation, he mentioned that a framework for composing preexisting components
would be the right way to solve the productivity problem. At the same time, he
was embarking on a project with a graduate student Frederic Doucet and Masato
Otsuka, a visitor from a Japanese company at his lab at the University of California
at Irvine. They were using Tcl/Tk to create a scripting language that would allow
describing a skeleton of an SoC architecture. This schematic architecture would
then be instantiated by querying a database for existing components. They called
this project BALBOA. The idea quite was fascinating, and in April 2001, Sandeep
Shukla quit his industrial job to join Rajesh Gupta's lab as a postdoctoral researcher
to help on the BALBOA [8–12] project.
It was immediately recognized that to solve the problem of composition of
components through a Component Composition Framework (CCF), we needed to
do the following: (1) expose the interfaces of the components using some kind
of metadata or interface description language (IDL), (2) dene a metalanguage
to describe the skeletal architecture of the SoC (visual or textual language), (3)

Preface xv
implement
reection/introspection technique so that the interface information for
all existing components are exposed to the algorithms that match the skeletal
component holders to real components based on interface types, (4) dene a
type-system for the interfaces and implement type matching algorithm, and (5)
implement test generation methodology to test the composed system.
In [8] the original Tcl/Tk based CCF of BALBOA was introduced along with
the BALBOA Interface Description Language (BIDL). In [12] we described the
introspective features and reection mechanisms; in [9] we described the interface
data types, the type matching algorithm and its complexity. In [11, 12] various
other aspects of this system were described in detail. In 2002, we came to another
conclusion through our experiments for building example SoCs with BALBOA. We
needed to expose more than the interface port data types and limited behavioral
information exposed through BIDL.
Along with Jean-Pierre Talpin and his group in INRIA, France, we started
looking into behavioral types for the interfaces to allow assume-guarantee reasoning
for the validating that the composed components behave correctly. This led to
several theoretical results, mostly about using a polychronous [13] language to
expose some behavioral aspects of the signals at the interface of the components
from the library, and the corresponding type theory and inference algorithms.
Automated methods for exposing these behavioral descriptions were proposed. This
was done by constructing SIGNAL [14] programs from the static single assignments
views during the compilation of SystemC components. Various aspects of this work
were published in [15–17].
At this point, we got initiated into two of the latest technologies: rst, we
started using XML [18] schema for describing interface types in a format that
is independent of the language in which the components are written. Second, we
started using a wonderful metamodeling environment for creating domain specic
design languages. This environment allows the use of such newly dened languages
to create domain specic models. The metamodeling rules and constraints allow
modeling-time dynamic check on the models' compatibility with the language rules.
This tool called GME (Generic Modeling Environment) [19] came out of Janos
Sztipanovits's group at Vanderbilt University. These two technologies changed
the way we were building the CCF in the BALBOA project. We rst tested the
idea of dening our own interface description schema in XML, and used GME in
building an environment for designing embedded software from functions written
in a functional language (SML). This framework code named EWD [20] led us onto
the next CCF and in this book we describe this CCF in detail. We call this CCF, the
metamodeling-based component composition framework (MCF).

xvi Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
Thanks to the use of GME, MCF allowed us to build a visual language
to describe SoC architectures as schematics. We could even use aspect views of
the same model to expose various aspects of the model separately, leading to the
use of the principle of separation of concern. We could also build languages for
transactional model composition as well as RTL model composition. We could add
syntactical elements to describe all kinds of design components such as buses,
point-to-point interconnects, and network-on-chips. We could provide syntactic
wizards for instantiating simple RT level components such as mux/demux, as well
as functional/algorithmic components. This way the MCF system evolved into a
comprehensive CCF that we originally wanted to build with the BALBOA project.
The credit of building this system in less than 2.5 years goes to Dr. Deepak
Mathaikutty. I must mention two other features that we had to add to make MCF a
full-edged IP reuse enabler.
First, in BALBOA we used BIDL to describe the interface of components. An
IP designer has to supply the BIDL along with the component itself for proper use of
the component in the CCF. In that sense, BIDL was a precursor of IPXACT. Earlier,
in connection with another project, Deepak worked with two other students, Hiren
Patel and David Berner, who together built a parser for SystemC along with some
post processing (called SystemCXML) [21]. This parser allowed us to extricate the
structural information for an arbitrary SystemC model, similar to those manually
put in the BIDL les. They even created a graphic viewer, which can visualize
an arbitrary SystemC model with its hierarchical structure, ports, and connections.
However, SystemCXML could not extract much behavioral information from the
components. As a result, Deepak built another parser on top of another SystemC
parser (KarSCPar) from Karlsruhe University. This new parser allowed extraction
of more information, which was used for reection/introspection purposes. For
any arbitrary preexisting SystemC model, this new parser could extract enough
information that could later be used during component selection, matching types,
and creating PSL properties for testing of component composition.
Second, the behavioral type theory that we developed in [14–16] was prob-
lematic to implement because that would have required generation of SIGNAL pro-
grams as behavioral types from the SystemC models. The tools for such extraction
were being developed at INRIA, and we did not want to wait for the delivery of that
tool. There were a few delays due to change in personnel in that project. Therefore,
the component compatibility checking through type inference was getting delayed.
This posed a challenge to us, like any other software engineering project. However,
in order not to delay the construction and demonstration of the CCF, we formulated
another way of solving the checking of compatibility of components while choosing

Preface xvii
them
for composition. The interface data extracted with Deepak's new parser had
enough information to build temporal properties about the components' behaviors.
As a result, a mechanism to test composition of various possible alternative com-
ponents was automated by Deepak. Of course, unlike type theoretic algorithms,
such tests did not necessarily formally prove compatibility. This provided higher
condence while selecting components from the library to instantiate an SoC ar-
chitectural schema. As a proof of concept for demonstrating an IP reuse enabler
based on metadata, and behavioral compatibility checking, this was enough. In the
future, however, we expect to integrate the tool for SIGNAL based behavioral type
extraction and type matching algorithms for full formal guarantee of compatibility.
The other aspect of this book deals with using similar ideas to build verica-
tion IPs, and that led to our collaboration with Intel and University of Minnesota to
a parallel framework called MMV. During one summer internship at Intel, the rst
author showed MCF to the validation engineers. Dr. Ajit Dingankar drafted him to
work over an entire semester, along with a visiting student from Minnesota to build
the MMV environment.
It is noteworthy that our work on using XML schema to dene language
for IP interface specications were done before the IPXACT was released by the
SPIRIT consortium. Of course, our schema does not match with the IPXACT due
to several reasons. First, we were not aware of the SPIRIT efforts until the 2006
Design Automation Conference; second, IPXACT was dened with tool integration
in mind, so that specic IP contents can be kept proprietary while exposing enough
information for exchanging IP to other tool environments and facilitating the IP
reuse in a different company's tool ow. While we share the need for exposing the
IP interface information, our sole aim has been enabling component composition
automatically. Certain intellectual property protection issues were not our concern
at the time.
IPXACT 1.4 was released in 2008 along with two generators which can
build various views of an IP. Proprietary generators can also be plugged in through
APIs dened by SPIRIT consortium. The scope of IPXACT is much grander. The
effort involved more than 70 companies with dedicated engineering resources.
The work described in this book is based on the Ph.D. work of one graduate
student. However, as SPIRIT releases IPXACT and further standardizations, we
feel that researchers interested in such metadata based IP reuse ideas could benet
from our approach. We believe that there are valuable lessons to learn beyond the
specics of our XML schemas or the specic architecture of our tool. The entire
methodology and algorithms for matching components against their placeholders in

xviii Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
the architectural schema, we hope, will prove useful to engineers, researchers, and
managers interested in IP reuse based design projects.
Most of the work in this project was funded by an NSF CAREER grant,
an SRC Integrated Systems Funding, and an industrial funding from the Intel
Corporation.
References
[1] SPIRIT, “The Spirit Consortium Press Release,” Munich (DATE 2008), March 10, 2008.
[2] K. Morris, “The Spirit of Standardization: IP Re-Use Takes Center Stage,”IC Design and Verica-
tion Journal, Techfocus Media Inc., April 2006.
[3] M. Keating and P. Bricaud,Reuse Methodology Manual for System-on-a-Chip Designs, 3rd
Edition, Norwell, MA: Kluwer Academic Publishers, 1998.
[4] H. D. Patel and S. K. Shukla,Systemc Kernel Extensions for Heterogeneous System Modeling: A
Framework for Multi-MoC Modeling and Simulation, Boston, MA: Kluwer Academic Publishers,
2004.
[5] H. D. Patel and S. K. Shukla,Ingredients for Successful System Level Automation and Design
Methodology, Boston, MA: Springer, 2008.
[6] F. Herrera and E. Villar, “A Framework for Heterogeneous Specication and Design of Electronic
Embedded Systems in SystemC,”ACM Transactions on Design Automation of Electronic Systems,
Vol. 12(3), No. 22, April 2008, pp. 1–31.
[7] T. Grotker, S. Liao, G. Martin, and S. Swan,System Design with SystemC, Boston, MA: Kluwer
Academic Publishers, 2001.
[8] F. Doucet, S. Shukla, M. Otsuka, and R. Gupta, “An Environment for Dynamic Component
Composition for Efcient Co-Design,”Proceedings of the Conference on Design, Automation and
Test in Europe (DATE'02), 2002, pp. 115–122.
[9] F. Doucet, S. Shukla, M. Otsuka, and R. Gupta, “BALBOA: A Component Based Design Environ-
ment for System Models,”IEEE Transactions on Computer Aided Design of Integrated Circuits
and Systems, Vol. 22, No. 12, December 2003, pp. 1597–1612.
[10] F. Doucet, S. Shukla, and R. Gupta, “Introspection in System-Level Language Frameworks: Meta-
Level vs. Integrated,”Proceedings of the Conference on Design, Automation and Test in Europe
(DATE'03), 2003.
[11] F. Doucet, S. Shukla, and R. Gupta, “Structured Composition Techniques for Embedded Systems,”
Proceedings of International Conference on High Performance Computing (HiPC), Springer
Verlag, December 2002.
[12] F. Doucet, R. Gupta, M. Otsuka, S. Shukla, and P. Schaumont, “Interoperability as a Design Issue in
C++ Based Modeling Environments,”Proceedings of the 4th International Symposium on System
Synthesis (ISSS'01), 2001, pp. 87–92.
[13] Polychrony, Project-Espresso: The Polychronous Approach Web site,
http://www.irisa.fr/espresso/Polychrony/.

References xix
[14]
P. L. Guernic, J. P. Talpin, and J. C. Lann, “Polychrony for System Design,”Journal of Circuits,
Systems and Computers, Special Issue on Application Specic Hardware Design, April 2003.
[15] J. P. Talpin, D. Berner, S. K. Shukla, P. L. Guernic, A. Gamati, and R. Gupta, “A Behavioral Type
Inference System for Compositional System-on-Chip Design,”Proceedings of the International
Conference on Application of Concurrency to System Design (ACSD'04), Hamilton, Canada, IEEE
Computer Society, June 2004.
[16] D. Berner, J. P. Talpin, P. L. Guernic, and S. K. Shukla, “Modular Design Through Component Ab-
straction,”Proceedings of the International Conference on Compilers, Architecture, and Synthesis
for Embedded Systems (CASES'04), September 2004, pp. 202–211.
[17] J. P. Talpin, P. L. Guernic, S. K. Shukla, and R. Gupta, “A Compositional Behavioral Modeling
Framework for Embedded System Design and Conformance Checking,”International Journal of
Parallel Programming, Vol. 33, No. 6, June 2005, pp. 613–643.
[18] W3C Consortium, W3C Web site, http://www.w3.org/.
[19] GME, GME Web site, http://www.isis.vanderbilt.edu/projects/gme/.
[20] D. A. Mathaikutty, H. Patel, S. Shukla, and A. Jantsch, “EWD: A Metamodeling Driven Cus-
tomizable Multi-MoC System Modeling Framework,”ACM Transactions on Design Automation
of Electronic Systems, Vol. 12(3), No. 33, 2007, pp. 1–43.
[21] H. D. Patel, D. A. Mathaikutty, D. Berner, and S. K. Shukla, “CARH: A Service Oriented
Architecture for Validating System Level Designs,”IEEE Transactions on Computer-Aided Design
of Integrated Circuits and Systems, Vol. 25, No. 8, August 2006, pp. 1458–1474.

Acknowledgments
The
rst author would like to thank Dr. Ajit Dingankar for his guidance and
support. The rst author would also like to acknowledge the support received from
the NSF CAREER grant CCF-0237947, an SRC Integrated Systems Grant, and
industrial grant from the INTEL Corporation, which provided the funding for the
work reported in this book.
Special thanks are due to Deepak's roommates and friends from and around
FERMAT as well as Intel: Syed Suhaib, Gaurav Singh, Debayan Bhaduri, Hiren
Patel, Sumit Ahuja, Bijoy Jose, Nimal Lobo, David Berner, Animesh Patcha, Manoj
Selvatharasu, Harish Barathvajasankar and Sourabh Joshi.
Deepak thanks his colleague and friend Sreekumar Kodakara for introducing
the author to the domain of microprocessor validation and working with him on
many different Intel projects.
Deepak thanks his best friend and wife Leena Jacob for her inspiration,
support, and love through the many hardships during his graduate studies. She is
his better half and without her, the last four years of his graduate life would have
been very lonely. She always manages to make his plain life more colorful with her
simple gestures, cute ights, funny expressions, and nally her beautiful smile.
Deepak thanks his childhood friend Sunish John for his belief in him and faith
in his success. To all the other friends that have come and gone, thank you all.
Finally, a heartfelt thanks goes to his parents Manattu Abraham Mathaikutty
and Sosamma Mathaikutty, his in-laws Kuruvilla Jacob and Beena Jacob, Leejo
Jacob and Libin Jacob, his sister Deepa Niju and her husband Niju Aelias and their
son Nikhil Niju, his brother Dony Mathaikutty, his cousins Anish J. Mathew and
Anila J. Mathew, and his grandmother Sosamma Abraham for their continued love,
support, and encouragement in his endeavors.
xxi

Chapter1
Intr
oduction
Due to the rapid advances in silicon manufacturing technologies, silicon capacity
has been steadily doubling every 18 months as predicted by Moore's Law [1].
Figure 1.1 shows the trend in silicon manufacturing using data collected from one of
the major microprocessor vendors [2]. The continual technological advances allow
companies to build more complex systems on a single silicon chip, both System-
On-a-Chip (SoC) as well as custom processors. However, their ability to develop
such complex systems in a reasonable amount of time is diminishing with the
increase in complexity [3]. This is referred to as theproductivity gap[4] as shown
in Figure 1.2, which is based on the ITRS (International Technology Roadmap
for Semiconductors) [4], where the gap between plotP1indicating the advances
in engineering productivity and plotP2representing the silicon complexity is
widening.
As the complexity and functionality of electronic systems increase, the pos-
sible design choices and the alternatives to explore for optimization purposes also
increase. Therefore, design space exploration (DSE) is vital when constructing a
system in order to choose the optimal alternative with respect to power, area, and
performance. However, DSE is a time-consuming and tedious part of the system
design process. The ability to reduce the time to develop these system-level models
for optimization purposes can dramatically improve design quality and accelerate
design exploration. A possible way to reduce this time is to reuse preexisting cores,
which are implementations of various standard blocks [5]. Such previously imple-
mented blocks are often called intellectual property (IP) cores.
In this book, we address two related but distinctive problems faced by today's
system design companies, namely reusing design IP for fast SoC integration,
and reusing verication IP for generation of tools for microprocessor validation.
1

2 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
1000
10,000
100,000
1,000,000
10,000,000
100,000,000
Transistors
20052000199519901985198019751970
1,000,000,000
4004
8008
8080
8086
286
386
486
PENTIUM
PENTIUM II
PENTIUM III
PENTIUM IV
ITANIUM
ITANIUM II
MOORE’S LAW
Figure 1.1Moore'
s Law.
Accordingly, the book is divided into Part I and Part II, which are related but
describe the two problems and our solutions to them. Therefore, we consider two
types of IPs: (1) design IP and (2) verication IP.
Design IP
Many small and large design teams use third-party IPs to accelerate the SoC
design process by importing functional blocks, such as data converters, PLLs,
DSPs, processors, and memory, which are examples of design IPs. In other words,
predesigned building blocks that designers can just drop into their ow to perform
a predened function are calleddesign IPs. Databahn [6] is an example of a high-
speed memory controller IP core from Denali Software, Inc. [7].
Verication IP
Like design IPs, verication IPs can also, in theory, be designed for reuse or licensed
from third parties. Verication IPs are developed to become a part of the testbench or
verication environment and used to ensure the correctness of the design. They do
not become a part of the design itself. Commercial verication IPs often only consist
of a bus-functional model (BFM) with a monitor to do some protocol checking. An

Introduction 3
example
of a verication IP is DW
IBM440 [8] from Synopsys Inc. [9] for the
po
werPC 440 microprocessor core.
1
10
100
1,000
10,000
100,000
10,000,000
1,000,000
10
100
1,000
10,000
100,000
1,000,000
100,000,000
10,000,000
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
Transistor/Staff Month
Logic Transistors/Chip
21%/Yr. compound
Productivity growth rate
58%/Yr. compound
Complexity growth rate
Productivity
Trans./Staff-Month
Logic Transistors per Chip (K)
P
1
P
2
Figure 1.2Productivity gap.
Design Reuse
Design reuse is dened as the inclusion of previously designed components (design
IPs) in software and hardware. Design reuse makes it faster and cheaper to design
and build a new product, because the reused components will not only be already
designed but also tested or veried for correctness. Hence, it is a necessity for
efcient implementation of SoC designs. According to a recent study conducted,
design teams can save an average of 62% [10] of the effort that they would otherwise
expend in the absence of reusing previously designed blocks. Reuse of IPs span
across the different abstractions, which requires extending the IP denition and
reuse to different levels of abstraction. We briey summarize the characteristics
of IPs at each abstraction level in the following paragraph.
Table 1.1
Comparison of Hard-IP Versus Soft-IP
IP RepresentationOptimizationTechnologyReuse
Hard IP GDSII Very highDependent Low
Soft IP RTL Low IndependentVery high

4 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
At the lowest level of abstraction the design is modeled using a circuit descrip-
tion. It is specied as a netlist describing the connections between components such
as resistors and transistors. More abstract physical devices such as ideal voltage or
current sources are also specied as a part of the circuit description. The IP-reuse
model at this level is calledhard-IP[10], where hard-IP refers to a technology
specic layout level IP block. The gate-level design takes the design complexity to
a more manageable level by relying onBoolean equationsrather than voltage and
currents. The reuse at this level is termedlogic-IP. This involves exchange of tech-
nology specic gate-level netlists, which can be then implemented by the physical
design. IP reuse based on logic-IP is not a common practice, which paves the way
for register transfer (RT) level IP. Apart from some specic blocks like memory
or highly critical design blocks generated as hard-IP, the most common usage of
the term IP reuse refers to asynthesizable RTlevel block calledsoft-IP[11]. The
basic unit of design modeled at this level is a clock cycle. The RTL model denes
the microarchitecture of a design in terms of its internal states and the behavior
between the cycles of the design. The next natural extension of IP reuse is called
arch-IP, where the basic entity modeled is asystem task. The model at this level
species the computational or communication processes and the parallelism that
exists in the design. The nal classication is termed asfunctional-IP, which is an
important aspect for SoC design. At this level we are dealing withfunctionsof the
system. A clear interface denition and development for functional-IP can expedite
IP reuse through proper selection and well-dened integration of a system for a
complex SoC.
Design reuse based on soft-IP, arch-IP, and functional-IP has been in use for
quite some time with limited success in certain domains [11]. The success of the
reuse methodology requires analyzing the nature of design style and scope of reuse
at RTL and higher levels of abstraction. Table 1.1 summarizes the comparison of
the two prominent IP classes based on their features from [12].
Verication Reuse
A challenge with the increasing design complexity is the high cost associated with
xing a bug in a released product, which makes verication a key ingredient in the
product development cycle. For example, consider microprocessors that are mod-
eled at different levels of abstraction as shown in Figure 1.3. The complexity of
models increases as we go down the abstraction hierarchy. Verication complex-
ity at the microarchitecture level of abstraction dwarfs the complexity at higher

Introduction 5
le
vels of abstraction because of the additional features introduced in the microar-
chitecture to support performance optimizations such as out-of-order, superscalar,
and speculative execution to name a few. Hence, currently most of the verication
effort is spent in validating the functionality introduced in the microarchitecture
and implemented at the RTL. This trend may change in the future generations of
multicore processors that are designed with multiple cores in a single die and with
hardware support for software applications like virtualization [13], transactional
memory [14], and XML parsing [15]. This shift in design paradigm of pushing all
the features on to the processor increases the verication complexity atalllevels of
abstraction of the processor. Therefore, for products such as microprocessors where
the complexity and hence the cost of verifying a microprocessor increases from
one generation to the next, verication is an important and challenging problem for
current and future designs. Hence, the designers and validators employ various tools
and techniques to ease and quicken the verication task. Examples of such tools are
simulators, test generators, coverage metrics and test plans, which are collectively
calledverication collaterals. A possible approach to enabling reuse in the veri-
cation task is to employ the models created for the various processor abstractions to
derive the different verication collaterals. A model that is reused to systematically
derive the various verication tools and targets is called agenerative verication IP.
The idea behind verication IP reuse is “model once and reuse many times.” This is
amodel-drivenapproach towards a verication strategy. The alternative would be to
write testbenches, coverage monitors, simulators, and so forth, individually, which
is tedious, error-prone and incurs many more person-hours.
1.1 ONGOING EFFORTS IN DESIGN IP REUSE
The VSI Alliance (VSIA) [16] species “open” interface standards and specica-
tions that facilitate the integration of software and hardware virtual components
from multiple sources for the development of SoCs. The phrasevirtual componentis
used to describe reusable IP components that are composed with other components
(as if plugging them onto virtual sockets), similar to how real hardware components
are plugged into real sockets on a board. VSIA eases the integration work required
to incorporate IP-cores into “virtual sockets” at both the functional level (e.g., inter-
face protocols) and the physical level (e.g., clock, test, and power structures). This
will allow IP providers to productize and maintain a uniform set of IP deliverables,
rather than requiring them to support numerous sets of deliverables needed for the
many unique customer design ows.

6 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
Software/System
Model
Architecture
Model
Microarchitecture
Model
RTL
Implementation
Refinement
Abstraction
Microcode
Model
Models in Functional Validation Environment
Figure 1.3Dif
ferent levels of abstraction in a microprocessor.
The OCP International Partnership Association, Inc. (OCP-IP) [17] promotes
and supports the open core protocol (OCP) as the complete socket standard that
ensures rapid creation and integration of interoperable virtual components. OCP-IP
offers a universal socket standard with communication socket for an IP to specify
data ow signaling, control signals, and test signals. It shields IP designers from the
knowledge of the interconnection system, and enables the same IP to be portable
among different systems.
An orthogonal approach to reusing IP-cores is through a design ow that
utilizes metadata [18] exchanged in a design-language neutral format, as proposed
in SPIRIT [19]. It proposes an IP-reuse approach to enable IP conguration and
integration by utilizing metadata exchanged in XML [20] format between tools and
SoC design ows. SPIRIT provides the API standards that should be implemented
to export the design and congure the actual IPs to create the executable. However,

Introduction 7
the
designer is required to specify the IP-explicit metainformation, which is a time-
consuming task and affects the essential rapid DSE.
For communication performance analysis during IP integration, the GreenSocs
initiative developed the GreenBus [21, 22]. This SystemC fabric simulates the be-
havior of both on-chip and interchip communication buses and networks. GreenBus
can be congured to arbitrary (user-dened) communication protocols and provides
different levels of abstraction, thus facilitating early embedded software develop-
ment and cycle-count accurate communication architecture exploration.
Despite all these efforts and support from the semiconductor industry, there
are still many challenges to successful design IP reuse. All of the above reusability
standards ease the compatibility issues between IP-cores to an extent. On the other
hand, none of them with perhaps the exception of the GreenBus exactly goes close
to solving the engineering problem of quick construction of system-level models
from reusable IPs, so DSE can be expedited. However, in the case of the GreenBus,
the architecture assumes that all IP components communicate over a bus, which
forces the DSE to incur the overhead associated with bus protocols. Therefore,
we need a framework that allows the designer to architect the system in terms
of components and their composition called acomponent composition framework
(CCF).
In this book, we present such a design framework called metamodeling-driven
component composition framework (MCF), which allows the designer to be a non-
expert on the specics of the software language and enables realizing a system
throughdesign templatesandtool support.
The proliferation of SystemC [23] IP-cores necessitates CAD frameworks
that support IP-core composition to build system models by reducing much of the
software engineering (SE) and C++ programming burdens that a designer has to
face in creating models from existing cores. Examples of such frameworks are
BALBOA [24] and MCF [26]. The BALBOA [24] composition environment relies
on “smart wrappers” that contain information about the types and object models
of the components, and assemble them through an interpreted environment with a
loose typing. The particularity of the environment is the split-level programming
with type abstraction and inference [25]. We developed MCF [26], a metamodel-
ing [27, 28] based component composition framework for SystemC based IP-core
composition. It provides a tool for automated selection [18] and substitution of IPs
in an architectural template [29], making use of metadata synthesized from an IP
library [30].

8 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
1.2 ONGOING EFFORTS IN VERIFICATION IP REUSE
Synopsys [9] provides a wide range of verication IPs for the industry's most
popular bus protocols such as AMBA 3 AXI, AMBA 2.0, PCI Express, USB
2.0 OTG, Ethernet, Serial ATA, and thousands of memory models. Their product
DesignWare Verication IP [31] can be integrated with testbenches written in
SystemVerilog [32], Verilog [33], VHDL [34], and OpenVera [35], to generate
bus trafc, to check for protocol violations, and to monitor and generate extensive
reports on functional coverage of the bus protocols. Their support for the SPIRIT
XML data model [19] is enabling them to provide SPIRIT views of some of their
verication IPs for the purpose of reuse [36].
Incisive Verication IP [37] from Cadence [38] also provides a solution for
the common protocols used in today's applications. These include PCI Express,
AMBA AHB, and AXI, Ethernet, USB, PCI, OCP, and SATA. This product of-
fers verication modules calleduniversal verication components(UVCs) for test-
benches, transaction-based acceleration, assertion-based verication, emulation rate
adapters, and in-circuit verication. Their UVCs can be integrated with testbenches
written in languages such as SystemVerilog [32], e [39], Verilog [33], VHDL [34],
and SystemC [23]. The latest addition to the incisive verication product is a graph-
ical tool called scenario builder [40], which can be used for creating reusable stim-
ulus and test cases on top of an existing Specman Elite [41] environment. The user
selects from the reusable data collection to create useful scenarios for the verica-
tion task.
An SoC verication environment called FlexBench [42] provides a multilayer
architecture to enable reuse of verication IPs. The lowest layer (stimulus layer)
provides the user-interface for a design-under-test as well as all the drivers and
monitors. The highest layer (integration layer) includes all of the drivers and
monitors in the simulation. The middle layer, called the service layer, connects the
other two layers and provides some system services.
Despite all these efforts and support from the electronic design automation
(EDA) industry, there are still many challenges to successful verication IP reuse.
All of the above EDA verication tools and IPs improve the verication experience
of the user and reduce the productivity gap to an extent. On the other hand, none
of them solve the problem of enabling effective reuse of reusable verication com-
ponents, which requires highly recongurable IPs and robust verication capability
such as directed random stimulus generation, protocol and temporal checking, and
structural and functional coverage metrics. Furthermore, none of them specically

Introduction 9
address
reuse of verication IPs to enable a “model once, use many times” veri-
cation strategy, which is essential for a product such as a microprocessor, where
the verication complexity spans across abstraction levels. Therefore, we need a
unied framework to model the processor at different abstraction levels and then
consistently generate various verication tools from all these models.
In this book, we present a validation environment called metamodeling-
driven microprocessor validation environment (MMV), which allows the validator
to describe relevant parts of the processor at different abstraction levels and then
click a set of buttons to generate verication collaterals such as simulators, test
generators, and coverage monitors.
1.3 ESSENTIAL ISSUES WITH IP REUSE
Reuse has created a whole new branch of semiconductor industry calledIP busi-
ness[43]. From the discussions in the previous section, we see that IP basically
is a know-how technique that can be in the form of algorithms, software, designs,
models, test suites, or methodologies. This know-how can be modied and tuned to
a particular application. Most designers in most companies use old know-hows in
their new designs and products. Capturing this information, distributing, and reusing
it represents the core of IP business.
Essential Issues with Design IP Reuse
IP reuse has three major players: (1) IP providers, (2) IP integrators, and (3) IP
tool developers. The IP providers supply IP components, including hard cores, soft
cores, and software components. IP integrators are typically designers in system
companies. IP tool developers provide IP providers and integrators with design
methodologies and tools to support IP development and system integration. In order
to make IP reuse easy, we need to address the issues of these three groups [3,44,45].
(1) IP Provider
An IP provider works on capturing the information of the know-how, distributing
and reusing it, thereby representing the core of IP business. In the IP provider
domain, some of the important components are IP library, documentation, quality
assurance, and standardization. Some of the essential issues with these components
are discussed below.

10 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
IP Library
One of the problems faced by IP providers is the denition of an IP in terms of
functionality, style, and type. If the IP denition is very specic then it is easier
to optimize, verify, and test it. On the other hand, if the denition is too generic,
then it is more difcult to make any assurance on the quality. Another problem is
how to convert a legacy code or design into a reusable IP. Any possible solution
must account for all design aspects from the point of view of IP integrators, such as
expandability, testability, and migration.
Documentation
Organization of catalogs or databases for IP, and the format and content of IP
information for query search and evaluation, is another issue for IP providers. A
possible solution is to develop standards on IP information (metadata for integration
and interoperability) and capture the information in a design-language neutral
format that can be exchanged between IP providers and IP integrators.
Quality Assurance
One of the problems is that most soft-IPs from third-party vendors have not been
veried in silicon. Hence, quality and performance are not well known. Another
problem is that it is difcult to verify that the given IP is functionally correct and
delivers what it promises in the specication for all values of all parameters. A
possible solution to these problems is that the third-party vendors must have an IP
qualication methodology [46] in place, to measure the quality of the IP and the
generated documentation should be exchanged along with the IP.
Standardization
Each IP vendor may have their own specication and documentation format. In
order to evaluate IPs from different vendors, the user may have to apply a series of
transformation procedures. This is both tedious and time-consuming, which makes
it a potential problem. Standardization of the specication style and format to
capture the different design aspects of the IP such as interfaces and algorithms,
will ease this problem. Examples of a few are OCP-IP [17], VSIA [16], and IP-
XACT from SPIRIT [19] that provide standards for easing the compatibility issues
between IP-cores to a certain extent.

Introduction 11
(2)
IP Integrator
IP integrators need a standardized IP evaluation mechanism to compare similar IP-
cores from different sources and to access the risk involved with using a selected
core in a specic chip. They are responsible for the integrity of the design developed
by composing IPs, therefore they have to verify the IPs employed as well as their
interconnection. In the IP integrator domain, some of the essential components and
issues are discussed below.
Exploration
First, designers need to know what design alternatives exist and which IP-cores
to select for those choices. Second, designers need to compare IPs provided by
different vendors with similar functionality to select the ideal one for their design.
Hence,an easy-to-use design exploration methodology is required to facilitate the
IP selection process for system integrators.
Integration
System integration by reusing existing IP-cores is not a trivial task. To successfully
reuse existing IPs, designers not only need to fully understand IP specications but
also need to rely on support provided by IP vendors. Some of the problems that arise
from reusing IPs for system integration are type mismatch, incompatible interfaces
both at the structural level (pin/port-level mismatch) as well as at the behavioral
level (protocol mismatch or type incompatibility), and timing errors.
Methodology and Environment
Establishing the infrastructure for design-for-reuse is the most important rst step
for embracing the design-for-reuse culture. Furthermore, in today's design practice,
most system companies are using an RTL-based design environment. This method
is not sufcient to support IP reuse. In order to adopt IP-reuse strategies, integrators
will have to move the design entry to higher levels of abstraction, which would
allow performing architectural trade-offs, power optimizations, and so forth, earlier
on in the design ow.

12 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
(3) Tool Developer for IP Reuse
The electronic design automation (EDA) industry plays a pivotal role in the success
of IP reuse. The industry should develop tools that provide a systematic design
methodology to support IP reuse. In the IP tool domain, the essential problems are
discussed next.
Support for IP Provider
First, tools for easy technology migration of IPs are needed to keep up with the fast
pace of technology advances. Also, a standard verication and testing methodology
is required to improve the quality assurance of IPs. Second, tools for supporting
documentation preparation and searching are very important.
Support for IP Integrator
First, tools and methodologies supporting high-level design abstraction beyond the
RT level are needed to support DSE through IP reuse. Second, a design exploration
and IP evaluation methodology and its supporting tools are needed to facilitate the
design reuse. Third, a reuse-automation design methodology is needed to alleviate
the tedious system integration process by automatic selection and composition of
IPs to create efcient simulation models.
The requirements to ease the system integration through reuse of design IPs
are targeted in Part I of this book.
Essential Issues with Verication IP Reuse
Just like design IP, verication IP needs to be a self-contained, interoperable,
modular, and plug-n-play product. However, even more than design IP, verication
IP must be user-friendly, easy to comprehend and operate, extremely congurable,
and highly customizable. Good-quality verication IP offers tremendous value to
design teams trying to reuse design IP-cores into their project, regardless of whether
they are testing for compliance or verifying the system integration. However, for
verication IP to be effective in enabling reuse of complex design IP, it needs to
provide many more features and functions than just a bus functional model. In our
work, we focus on enabling reuse of generative verication IPs for a microprocessor
verication strategy. Some of the essential requirements to ease their reuse are
summarized next.

Introduction 13
(1)
Modeling Language
First, a programming language-independent modeling syntax and semantics is
needed to create models at the various modeling abstractions in a uniform way. Sec-
ond, a way to express rules is needed that enforces well-dened model construction
in each abstraction level and consistency across abstractions. Third, a visual editor
is needed to facilitate the modeling using the specied syntax and semantics and en-
force the modeling rules through checkers during design time. Finally, the language
should be easily customizable by the language developer for future requirements.
(2) Generation Algorithms
Generation algorithms facilitate the automatic code generation of verication col-
laterals such as test plans, coverage monitors, and test plans, from the models. A
wish list to enhance the usability and extendibility of such algorithms would include
rst, the capability to plug-in interpreters that perform model analysis, transforma-
tion, and translation into executables is needed and second, the capability to handle
language extensions and remain independent of the implementation target specics,
which can be provided by the user during verication.
The requirements and wish list to ease the reuse of generative verication IPs
are targeted in Part II of this book.
1.4 METAMODELING APPROACH TO REUSE
Ametamodel[47] is a formal denition of the constructs, rules, and constraints
needed for creating application-specic models. The analysis, construction, and de-
velopment of a metamodel for an application domain is calledmetamodeling[48].
The language used to dene the metamodel is called ametamodeling language[27].
A framework with the capability of creating metamodels is called ametamodeling
framework. The generic modeling environment (GME) [49] is an example of such
a metamodeling framework that allows the description of a modeling domain by
capturing the domain-specic syntax and static semantics into visual notations and
rules called themetamodel. The dynamic or execution semantics of the modeling
domain are provided through interpreters that can be plugged into the framework.
They analyze and translate the models into executables. The metamodeling-based
approach allows users to capture the designer's intuition, knowledge, and design
constraints specied as rules into an abstract notation (metamodel). It can also ex-
press the model of computation, which provides the execution semantics of the

14 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
models being built. The metamodel generates a formal framework that enforces
certain rules that the designer has to conform to during model construction, thereby
providing a design approach that iscorrect-by-construction. In GME, the metamod-
eling capability is provided through a set of generic concepts implemented as class
diagrams in the Unied Modeling Language (UML) [50] and as Boolean constraints
in the Object Constraint Language (OCL) [51], resulting in visualization, design-
time checks, and customization.
FIR
1
FFT
DCT
FIR
2
FIR
3
Adder_2_1
Adder_2_2 ALU
FP Multiplier_2_1
C
1
C
2
C
3
C
4
C
5
C
6
C
7
C
8
Selection, configuration, and composition
IP Library
Back-of-a-Napkin drawing
Figure 1.4Des
ign reuse.
Metamodeling Approach to Design IP Reuse
Our approach to design reuse is a component composition framework (CCF) [26]
that makes the designer oblivious to the specics of the software language and
allows realizing a system through design templates and tool support. A design

Introduction 15
template
is derived from the metamodel and it structurally reects the mod-
eling abstractions such as register-transfer level (RTL), transaction level (TL),
mixed-abstractions (RTL-TL), and the structural hierarchy [28]. Furthermore, the
metamodeling-driven modeling framework allows design visualization and enforces
checks that look for inconsistencies, datatype mismatches, incompatible interfaces,
and illegal component or channel descriptions [29]. The IP-reuse use-case model
targeted by a CCF is shown in Figure 1.4, which is typically how designers go
about designing. They sketch aback-of-the-napkin drawingthat pictorially de-
scribes the various components of the design and their interaction. Furthermore,
if design reuse is one of the objectives, then the library of IPs developed during
the previous projects is searched and appropriate preexisting implementations are
reused to instantiate the blocks in the diagram.
Metamodeling Approach to Verication IP Reuse
Our approach to generative verication IP reuse is a metamodeling-based modeling
and validation environment [52] as shown in Figure 1.5. The various microprocessor
models (architectural, microarchitectural) are uniformly described using a formal
visual language. The modeling environment enables a stepwise manual renement
from one level to another and enforces consistency of the renements. Finally,
the environment facilitates automatic generation of verication collaterals such as
simulators, coverage monitors, checkers, and test plans, for aiding the verication
task of microprocessors at all levels of the modeling abstraction.
1.5 PROBLEM STATEMENT
The overarching problem is to enable design and verication for SoCs and micro-
processors, which promote effective reuse of design IP as well as verication IP
leveraging metamodeling techniques.
On the design front, we want to enable rapid design space exploration during
the design of SoCs by providing languages, tools, and techniques for building fast
simulation models by automating reuse from a library of SystemC IPs.
On the verication front, we want to enable verication of the architecture
and microarchitecture implementations of a processor by providing languages,
tools, and techniques for creating system-level models for the relevant parts of the
processor and automatically generating verication collaterals such as functional
simulators, test generators, and coverage constraints by reusing these models.

16 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
Architectural
Model
Microcode
Model
Verification Collaterals
Refinement
Microarchitecture
Model
Modeling Language
Simulator
Simulator
Simulator
Test Generator
Test Generator
Test Generator
Coverage Tool
Coverage Tool
Coverage Tool
Figure 1.5Reus
e of verication IPs for collateral generation.
The problems pertaining to design IP reuse addressed in Part I of this book
are:
1. How do you rapidly and precisely specify the SoC design requirements
(structural, compositional, behavioral, and temporal)?
2. What is the IP metainformation relevant for enabling IP reuse? How is this
metadata identied, extracted, and represented?
3. How do you quickly construct multiple simulation models by automating
reuse from an IP library exploiting the metainformation for each IP?

Introduction 17
4.
How do you prove or automatically check the correctness of the composition
of IP components?
The problems pertaining to verication IP reuse addressed in Part II of this
book are:
1. How do you precisely model the different parts of the processor?
2. How do you capture the various modeling abstractions uniformly and enforce
a well-dened renement ow across abstractions?
3. What are the verication collateral that need to be generated from the proces-
sor models and how are they automatically generated?
1.6 RESEARCH CONTRIBUTIONS
The research contributions in Part I of this book for enabling design IP reuse are as
follows:
1. Dened the metamodels, constraints and developed various checkers to en-
able a visual architectural specication of the design requirements in terms of
components and their interaction [26, 29].
2. Developed reection and introspection-based data mining techniques to ex-
tract structural and composition-related properties of a design IP, which was
represented using XML schemas and data structures [30].
3. Formulated type theoretic algorithms for IP selection and composition to
enable automated reuse from an IP library [18, 53].
4. Identied the type inference problem that exist in our IP-reuse solution and
analyzed the complexities of the inference algorithms developed as part of
our solution [54].
5. Developed property specication-based verication ow to enhance the cor-
rectness of the simulation models constructed [55].
The research contributions in Part II of this book for enabling verication IP reuse
are as follows:
1. Dened a metamodeling-based language with the different abstraction levels
to specify the relevant parts of the processor [52].

18 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
∈. Developed a model-driven approach ⊔o au⊔oma⊔ically }enera⊔e veri×ca⊔ion
collaterals. The collaterals targeted in this book are functional simulator,
random test generation, and coverage-directed test generation as well as
design-fault directed test generation [56–58].
3. Presen⊔ed ⊔he modi×ed condi⊔ion decision covera}e (MCDC⇒ ∪5∃] as a me⊔ric
for microprocessor validation [60, 61].
4. Performed a comparative study and established a good correlation between
the types of design faults seen during software validation [62] and the bugs
reported in case studies on microprocessor validation [60].
1.7 TOOLS AND TECHNIQUES DEVELOPED
The {rameworks developed in ⊔his book ⊔o enable IP reuse {or desi}n and veri×ca-
tion of SoCs and microprocessors are as follows:
•Design IP reuse (Part I)
1. DevelopedMCF, a visual language and framework for component com-
position using the metamodeling paradigm with design-time constraints
to check for system-level inconsistencies, type mismatches, interface
incompatibilities during modeling, and composition of models.
2. Developed tool support for automated reection, introspection, selec-
tion, and composition of IPs based on structural type theoretic principles
from given IP libraries.
3. Developed a property-based checker generation approach for enhancing
the correctness of IP composition.
•Veri×ca⊔ion IP reuse (Par⊔ II⇒
1. DevelopedMMV, a visual microprocessor modeling and validation
environment using metamodeling techniques, which enables creating
models of the system, architecture and microarchitecture of the proces-
sor.
2. Developed a model-driven test generation framework that detects the
design faults as well as performs coverage-directed test generation.

References 19
3.
Developed an integrated framework for model-driven development and
validation of system-level designs with a combination of Esterel and
SystemC.
References
[1] G. E. Moore, “Cramming More Components onto Integrated Circuits,”IEEE Electronics, Vol. 38,
No. 8, 1965, pp. 114–117.
[2] The INTEL Corporation, http://www.intel.com/technology/mooreslaw/.
[3] D. D. Gajski, A. C.-H. Wu, V. Chaiyakul, S. Mori, T. Nukiyama, and P. Bricaud, “Essential
Issues for IP Reuse,”Proceedings of Asia and South Pacic Design Automation Conference
(ASPDAC'00), 2000, pp. 37–42.
[4] International Technology Roadmap for Semiconductors, http://www.itrs.net/.
[5] K. Werner, “IP Reuse Gets a Reality Check,”Chip Design, June 2005.
[6] “Denali's Databahn
TM
Memory Controller Cores Achieve Production/Gold Status in UMC's
IP Program,” D & R Industry Articles, http://www.us.design-reuse.com/news/news4321.html,
November 2002.
[7] Denali Software, Inc., http://www.denali.com/.
[8] “Verication IP Catalog for Synopsys, Inc.” http://www.synopsys.com/ipdirectory.
[9] Synopsys Inc., http://www.synopsys.com/.
[10] C. W. H. Strolenberg, “Hard IP Offers Some Hard-Core Values,” D & R Industry Articles,
http://www.us.design-reuse.com/articles/article2552.html, May 2000.
[11] R. Chandra, “IP Reuse and Platform Base Designs,” D & R Industry Articles,
http://www.us.design-reuse.com/articles/article6125.html, August 2003.
[12] J. Ebert and F. Nekoogar,From ASICs to SOCs: A Practical Approach, Upper Saddle River, NJ:
Prentice Hall, 2003.
[13] R. Uhlig, G. Neiger, D. Rodgers, A. L. Santoni, F. C. Martins, A. V. Anderson, S. M. Bennett,
A. Kagi, F. H. Leung, and L. Smith, “INTELr Virtualization Technology,”Computer, Vol. 38,
2005, pp. 48–56.
[14] T. Harris, S. Marlow, S. Peyton-Jones, and M. Herlihy, “Composable Memory Transactions,”
Proceedings of the Tenth ACM SIGPLAN Symposium on Principles and Practice of Parallel
Programming, 2005, pp. 48–60.
[15] Layer 7 Technologies, “XML Accelerator,” http://www.layer7tech.com/.
[16] Virtual Socket Interface Alliance, http://www.vsi.org.
[17] OCP International Partnership Association, Inc, http://www.OCPIP.org.
[18] D. A. Mathaikutty and S. K. Shukla, “SoC Design Space Exploration Through Automated IP
Selection from SystemC IP Library,”Proceedings of IEEE International SoC Conference
(SOCC'06), Austin, TX, September 2006, pp. 109–110.

20 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
[19] Spirit Consortium, “SPIRIT Schema Working Group,” http://www.spiritconsortium.org/.
[20] B. DuCharme,XML: The Annotated Specication, Upper Saddle River, NJ: Prentice Hall, 1998.
[21] The GreenSoCs Project, http://www.greensocs.com/.
[22] W. Klingauf, R. Gunzel, O. Bringmann, P. Parfuntseu and M. Burton, “GreenBus — A Generic
Interconnect Fabric for Transaction Level Modelling,”Proceedings of 43rd ACM/IEEE Design
Automation Conference (DAC'06), July 2006, pp. 905–910.
[23] OSCI Group, SystemC Web site, http://www.systemc.org/.
[24] F. Doucet, S. Shukla, M. Otsuka, and R. Gupta, “BALBOA: A Component Based Design Environ-
ment for System Models,”IEEE Transactions on Computer Aided Design of Integrated Circuits
and Systems, Vol. 22, No. 12, December 2003, pp. 1597–1612.
[25] F. Doucet, S. Shukla, M. Otsuka, and R. Gupta, “Typing Abstractions and Management in a
Component Framework,”Proceedings of Asia and South Pacic Design Automation Conference
(ASPDAC'03), 2003, pp. 115–122.
[26] FERMAT Group, MCF Web site, http://fermat.ece.vt.edu/MCF/MCF.htm, 2005.
[27] D. Mathaikutty, H. Patel, S. Shukla, and A. Jantsch, “EWD: A Metamodeling Driven Customizable
Multi-MoC System Modeling Framework,”ACM Transactions on Design Automation of Electronic
Systems, Vol. 12(3), No. 33, 2007, pp. 1–43.
[28] D. Mathaikutty and S. Shukla, “A Metamodel for Component Composition,” FERMAT Lab.,
Virginia Tech, Tech. Rep. 2005-13, December 2005.
[29] D. Mathaikutty and S. Shukla, “MCF: A Metamodeling based Component Composition Frame-
work — Composing SystemC IPs for Executable System Models,”IEEE Transactions on Very
Large Integration (VLSI) Systems, Vol. 16, No. 7, July 2008, pp. 792–805.
[30] D. Mathaikutty and S. Shukla, “Mining Metadata for Composability of IPs from SystemC IP
Library,”Design Automation for Embedded Systems, Vol. 12, No. 1-2, 2008, pp. 63–94.
[31] Synopsys Inc., “DesignWarer Verication IP Solutions,”
http://www.synopsys.com/products/designware/vip
solutions.html.
[32]
System Verilog, http://www.systemverilog.org/.
[33] Verilog, http://www.verilog.com/.
[34] VHDL, http://www.vhdl.org/.
[35] Synopsys Inc., Open Vera Web site, http://www.open-vera.com/.
[36] R. Goering, “IEEE Catches the Spirit of IP Reuse,”EE Times, June 2006.
[37] Cadence Inc., “Incisiver Verication IP,” http://www.cadence.com/products/.
[38] Cadence Inc., http://www.cadence.com/.
[39] Cadence Inc., “e Verication Language,”
http://www.cadence.com/partners/industry
initiatives/epage/index.aspx.
[40]
Cadence Inc., Incisiver Enterprise Scenario Builder Web site,
http://www.cadence.com/products/functional
ver/scenariobuilder/index.aspx.
[41]
Verisity Inc., Specman Elite Web site, http://www.verisity.com/products/specman.html.

References 21
[42]
B. Stohr, M. Simmons, and J. Geishauser, “FlexBench: Reuse of Verication IP to Increase Pro-
ductivity,”Proceedings of the Design, Automation and Test in Europe Conference and Exhibition
(DATE'02), 2002.
[43] S. Olcoz, F. Ruiz, A. Gutierrez, and L. Teres, “Design Reuse Means Improving Key Business
Aspects,”Proceedings of the VHDL International Users Forum (VIUF) Fall Workshop, June 1999,
pp. 78–84.
[44] P. Rose, “Intellectual Property Reuse – A New Business Model,” D & R Industry Articles,
http://www.us.design-reuse.com/articles/article5230.html, April 2003.
[45] R. Wilson, “Fabless Semiconductor Companies: Is Intellectual Property Reuse Creating a New
Model?” D & R Industry Articles, http://www.us.design-reuse.com/news/news14904.html, De-
cember 2006.
[46] M. Horne, “Verication IP Qualication and Usage Methodology for Protocol-Centric SoC De-
sign,” D & R Industry Articles, http://www.us.design-reuse.com/articles/article9728.html, Febru-
ary 2005.
[47] Meta-Modeling and Semantic Modeling Community, http://www.metamodel.com.
[48] Wikipedia Foundation, http://en.wikipedia.org/wiki/Meta-modeling.
[49] A. Ledeczi, M. Maroti, A. Bakay, G. Karsai, J. Garrett, C. Thomason, G. Nordstrom, J. Sprinkle,
and P. Volgyesi, “The Generic Modeling Environment,”Proceedings of Workshop on Intelligent
Signal ProcessingBudapest, Hungary, May 2001.
[50] Object Management Group, “Unied Modeling Language,” http://www.uml.org/.
[51] J. Warmer and A. Kleppe,The Object Constraint Language: Getting Your Models Ready for MDA,
2nd Edition, Reading, MA: Addison-Wesley, 2005.
[52] D. Mathaikutty, S. Kodakara, A. Dingankar, S. Shukla, and D. Lilja, “MMV: Metamodeling Based
Microprocessor Validation Environment,”IEEE Transactions on Very Large Integration (VLSI)
Systems, Vol. 16, No. 4, April 2008, pp. 339–352.
[53] D. Mathaikutty and S. Shukla, “On the Composition of IPs for Automated System Model Con-
struction,”Proceedings of Technology and Talent for the 21st Century (TECHCON'07), Austin,
TX, September 2007.
[54] D. Mathaikutty and S. Shukla, “Type Inference for Component Composition,”Proceedings of
5th ACM-IEEE International Conference on Formal Methods and Models for Codesign (MEM-
OCODE'07), May 2007, pp. 61–70.
[55] D. Mathaikutty and S. Shukla, “A Property-Based Checker Generation Approach for IP Composi-
tion,” FERMAT Lab., Virginia Tech, Tech. Rep. 2007-14, June 2007.
[56] D. Mathaikutty, A. Dingankar, and S. Shukla, “A Metamodeling Based Framework for Architec-
tural Modeling and Simulator Generation,”Proceedings of Forum on Specication and Design
Languages (FDL'07), Barcelona, September 2007.
[57] S. Kodakara, D. Mathaikutty, A. Dingankar, S. Shukla, and D. Lilja, “Model Based Test Generation
for Microprocessor Architecture Validation,”Proceedings of the 20th International Conference on
VLSI Design, January 2007, pp. 465–472.
[58] D. Mathaikutty, S. Ahuja, A. Dingankar, and S. Shukla, “Model-Driven Test Generation for System
Level Validation,”Proceedings of IEEE International Workshop on High Level Design Validation
and Test (HLDVT07), November 2007, pp. 83–90.

22 Metamodeling-Driven IP Reuse for SoC Integration and Microprocessor
Design
[59] K. Hayhurst,A Practical Tutorial on Modied Condition/Decision Coverage, National Aeronautics
and Space Administration, Langley Research Center, 2001.
[60] D. Mathaikutty, S. Kodakara, A. Dingankar, S. Shukla, and D. Lilja, “Design Fault Directed
Test Generation for Microprocessor Validation,”Proceedings of Design Automation and Test
Conference Europe (DATE'07), March 2007, pp. 761–766.
[61] S. Kodakara, D. Mathaikutty, A. Dingankar, S. Shukla, and D. Lilja, “A Probabilistic Analysis For
Fault Detectability of Code Coverage Metrics,”Proceedings of the 7th International Workshop on
Microprocessor Test and Verication (MTV'06), December 2006.
[62] M. F. Lau and Y. T. Yu, “An Extended Fault Class Hierarchy for Specication-Based Testing,”
ACM Transactions on Software Engineering and Methodology, Vol. 14, No. 3, 2005, pp. 247–276.

Another Random Scribd Document
with Unrelated Content

atheizmussal, erkölcs elleniségre vezető elvekkel, fatalizmussal
vádoltatnak és minden egyébbel, ha van még valami, mely irántok
gyülöletet gerjeszthet. Ezen vádaktól távol azon férfiak nyilvános
élete, a kiknek tanitmányait látjuk előnkbe terjesztve, és ha a
filozofiában elégnek tartatik néhány betanult szavakkal vitázni,
azoknak értelmét hol ide hol amoda huzni vonni, azokhoz
következtetéseket aggatni, mind addig mignem föltett
eredményünkhöz jutunk, ugy hadd menjen a maga utján, nem sokat
törődünk vele.“ – Igy szól Győry Sándor elfogulatlanul és eléggé idős
korában, hogy éltesek által ifjunak ne kisebbittessék; és fejtegetvén
az ujabbkori elmélődést, ezen tételben mondja ki megnyugvását, s
az eszme iránti hódolatát: „korunk az általános filozofia
kifejlődésénél állapodott meg;“ és ez alapon szövi további
okoskodásait az emberiség eszményi (talán inkább eszmei
53)
)
kifejlődése körül. Elég, elég, hogy az eszmeiség ócsárlói ellen
bástyát találtunk legyen okoskodásaiban. –
A helyett, hogy a tudományoknak nem a divatos vagy jobban: a
régi skot- és kantféle bölcsészet nyomán való haladását részletesen
és tovább is bizonyitgatnám, egyedül a nyelvészetről van egy két
szóm, részint magam igazolása végett, részint a nyelv körüli más
más utú törekvések összehozására. Én, mint másban, ugy itt is
szeretem együtt tartani az elméket, s nem látok semmi veszedelmet
abban, ha Czuczor egyik, Hunfalvy másik utat követi a nyelvtan
megalapításában. Ez nincs az én általam követett bölcsészet ellen;
azonban más oldalról nem kis aggodalmak keletkeztek az iránt:
lehet-e Czuczor utját jogositani. Én, részemről, jogositottnak hiszem,
tartom; s nem támasztok gyanut okok ellen, ok nélkül. De honnan
van hát nyelvészeink aggodalma, kik a bölcsészeti nyelvészettől,
mint Hunfalvy Pál, féltik a nyelvet? Felelet: nem elegendő bölcsészeti
műveltségből, vagyis az egyoldalu gondolkodásból, mely szerint a
történeti vagy összehasonlító nyelvészek elvetnek mindent, a mit a
nyelv külső történetéből nem merithetnek, vagy más szóval: semmit
sem hagynak az élő tudalomra, a nyelvösztön és érzékre, holott a
magyar nyelv nem oly teljesen bevégzett jószág még, melynek csak
története volna már, hanem van folyvást eleven, munkás élete,

szülemlő képessége, mely szerint ha nem teremt is minden nap uj
alakot, de legalább ujraszülheti a régieket, mint ujra is szüle már
sokat; nem is említve az egyszerüséget, mely a tisztultság, éredés
tagadhatlan jele. – Hibáznak továbbá nyelvészeink abban, hogy a
nyelvet, mint bölcsészetit, nem a képzet, hanem teljesen a
gondolkodás müvének hiszik; legalább ide vág Hunfalvy Pálnak
ellenem felhozott okoskodása, melyben a betük jelentességet, az
organizmus szolgálatát a nyelv körül, elveti. Mert ha valamit állitok is
„a magyar betük ősjelentéséről,“ ez még nem azt teszi, hogy annak
„minden más nyelv betüiről is okvetlenül“ állani kell. Épen az a
nyelvek sajátsága, hogy bennök nem azon abstrakt egyetemesség
dolgozik, mely nem is egyéb, mint egyetemesség, hogy a mi egy
nyelvben történik, másikban is ugy történjék. Épen abban áll a
nyelvek szelleme, hogy a mit egyik nép igy fejez ki: a másik
amugy fejezi ki, vagyis a dolgot, mely egy és ugyanaz, p. a
napot, egyik mondja nap-nak, a másik sol-nak a harmadik
Sonne-nak, igy az isten, világ stb. szavak végetlenül. A mit
már élő nyelv körül tudni lehet, az nem foglaltatik mindig
oklevelekben. Sőt a nyelv élete épen a tudalom maga. Soha se
keressünk azért oly egyetemességet, a mi csak névleg az, ne
különösen nyelvekben; ne is fogja rám senki, mintha én olyan
bolondot állitanék, „hogy egyedül a mi nyelvünk hű lenyomata az
emberi organizmusnak, s a többi nyelvek elkorcsosultak“
54)
; mert ez
az én bölcsészeti meggyőződésemmel ellenkezik; holott más oldalrul
nem csudálom, ha olyanokért tétetem felelőssé, a mik a régi elvont
bölcsészeti gondolkodással épen egyeznek. Ilyen már az a
meggyőződés, „hogy a nyelv bölcsészeti müvelése az élő tudalom és
ezer meg ezer példák nyomán fölösleges, mert a bölcsészet
egyetemes tudalom dolga, igy tehát bölcsészeti
nyelvmüvelés után a nyelvek között nem volna
különbség, holott a tapasztalás ellenkezőt tanit.“ És épen mert a
tapasztalás ellenkezőt tanit, azaz a nyelvek különbségét: ezért kell
lenni a magyar nyelvben is valami különböztető határozmánynak,
tulajdonkép sajátságnak. És ez a sajátság nem épen az, mi a magyar
nyelvnek, példaul az uralaltaji nyelvek közül, mint felmaradt rész, jut,

hanem az, a mi a magyarnyelvet folyvást élteté s virágoztatá addig
is, mig uralaltaji nyelvekről nem is álmodtunk. Ez pedig a nyelv mai
élete, melynek törvénye nincs megirva előre a
rokonság határai között.
Hasonlóul hiába való törekvés „a magyar nyelvnek minden
izikéjét oklevelesen meghatározni“ akarni, mert a nyelv oly szabad
alkotásnak is helyt ád, minő a legszilajabb költői képzelődés vagy
kedvcsapongás mögött sem marad hátra. Én tisztelem az
összehasonlitó nyelvészetet, s erről Hunfalvy P. is vön értesülést,
hanem az még nem minden. És Hunfalvytól nem vehető épen rosz
néven, ha emlitvén „a hires filozofia tudományt,“ kicsinléssel szól
felőle, mert ez neki már szokása, másfelől az a bölcsészeti
gondolkodás, a melyre munkáiban ismerhetni, nem is egyéb mai
nap, mint csak épen hires. Ő, hiszem azon bölcsészetről szól
kicsinléssel, a melyet ösmér; tudnillik a magáéról; ez jogában áll.
A nyelv, mint emberi szellem müve, dolgok tárgyak neve. A
dolog vagy tárgy (nap, isten, világ) ugyanegy; a név (nyelvek
szerint) különböző, hasonló vagy épen ellentétes. Lucus a non
lucendo. De a dolgok nem üres, holt lények, hanem bennök erők,
törvények munkálnak, nyilatkoznak; és pedig elménk meg szokta
különböztetni bennök a lényegest a látszattól, az allományit
(substantiale) a járulékitól. Egyik tárgyat elnevezé az ember egyik,
másikat másik tulajdona után; vagy épen a magyar ember a lényegi,
másik csak a látszati oldalt vette észre, s fogadta el inditóul a dolog
elnevezése végett. Sőt tetszett valamely nyelvnek ugy és nem
máskép álkotni szót, mint Humboldt irja: aus freier Lust, teremtői
játékból: ki veheti kérdőre? Az összehasonlitó nyelvész? Soha! A mit
a képzetek társakozása egy Shakspearenél, egy Jean Paulnál vagy
magánál a népnél, dalai, meséi, közmondásaiban szabad, senkitől
nem engedelmezett, de nem is kért módon összehoz: mindazt
előhozhatja, mindazt a szabadságot követheti a nyelv és jaj a
nyelvnek, a mely ebbeli szabadságát nem követi, nem használja,
mert megkövesül, elveszti szülemlő erejét utóvégre. Mondom, ismét
mondom, „okleveli bizonyosságot“ ne keressetek a nyelvben; ne is

feszitsétek a szellemet a tudvalevő szabályokra, és ugy ne a
nyelvben, mint ne egyebütt. A maga önutú, szeszélyes, daczos
alakaiban a nyelvet követni, a nyomokat kimutatni, ez nem épen oly
csekélység, mint pusztán az adatok emberei gyanitják. Tiz
összehasonlitó nyelvészünk lesz addig, mig nem kettő olyan, minőt,
előbbiek után, ohajtok, Czuczorban pedig jó formán birunk is már.
Ha tehát történik, hogy valamely tárgyat ez a nyelv talán lényegi,
amaz ellenkezőleg látszati oldalrul foga föl és nevezett el, és erre a
betük vagy hangok segitségét sajátságos módon vette igénybe: nem
lehet-e szólni bölcsészeti nyelvmüvelésről, mint ezt, Czuczor után,
tömérdek példában isméri a magyar olvasó már eddigelé? És ha
nyelvünkben talán inkább lényegi mint látszati oldaláról van
elnevezve a dolog, nem mondhatni-e, hogy a magyar elme inkább
bölcsészi mint költői határozmányait ragadta meg annak, vagy
mgforditva? Igy a bölcsészeti nyelvmüvelésről, igenis, lehet sőt kell
szólni, ha nem akarjuk egyoldaluságban szilárditani meg a
nyelvészetet, mitől isten őrizzen. De ez a bölcsészeti nyelvmüvelés
korántsem azt teszi, hogy mindig kategóriákat pergessünk
ajkainkon; hanem ez uton lehet szólni valamely nyelvnek bölcsészeti
vagy költői hajlamáról, de akár ezt, akár azt mondjuk, mindig
bölcsészkedve, okot fejtve szólunk, különben az egész nyelvészetet
igen közönyös dolognak tartom, olyannak, melyben semmi sincs
egyéb emlékezeti tudatnál, a lélek bensősége nélkül.
Mindezektől azonban elüt Hunfalvy P. értelme a bölcsészeti
nyelvmüvelésre nézve. Szerinte „bölcselmi magyar nyelvtudomány az
leend egyszer, mely felfogva a nyelvek közötti egyezést és
különbséget, fel az altaji nyelvek általános jellemét, azok mélyébe
hat, s a magyar nyelvnek minden izikéjét oklevelesen
meghatározza“
55)
. A mi ezenkivül van, szerinte, ráfogás, ugyhivés.
Látni való, hogy ő pusztán csak adatokat szeret a nyelvben még
pedig irott adatokat. Ez igen fontos egy dolog, de az élőnek van
élete is nemcsak története, jövője is, nemcsak multja. Én ezt is
becsülöm Czuczorral és Lugossy és Ballagival együtt, mig ő csak
amazokhoz ragaszkodik. Ez érdeme egy részrül, mert munkássága

eddigelé is bámulatos, és hibája más részrül, mert türelmetlensége
már is kiállhatlan. A bölcsészeti nyelvmüvelés nem törli el a nyelvek
közötti különbséget, ha bár egyes hangokat, szókat végső elemekig
bonczol is. Ugyanazon hangot máskép veszi más nép. Ugyanazon
tárgyat más tulajdonság után nevezi el más nyelv. Ugyanazon
nyelvtani alakot más módon szerkeszti más nyelv. A hang egy, de a
felfogás különböző. A tárgy egy, de sokfélék a benne fekvő
tulajdonok. Egy az értelem, de más az alak, p. a mondat formája.
Ha tehát emliti Hunfalvy, hogy nem tudja: „miért nevezte el az
ökröt a régi hindu a vah (vehere) szótul, a görög a boare-tul s a
magyar az öklelni-tul;“ ha nem látja be „azon belső metafizikus
szükséget, melynél fogva különböző uton nevezték el a nyelvcsinálók
az ökröt;“ és ha „az erre adandó felelettől függ az igazság, melynek
hódolni fog“
56)
: ugy előbbeniekben kész az eligazitó felelet. Hiszen a
magyar sajtói Tárczában hozza fel maga Hunfalvy, hogy „némelyek a
szanszkr. uksan-t (taurus) seminatornak értelmezik.“ Hogy ez
épen valami nagy metafizikus szükség volna, arra semmi szükség,
mert a nyelv a képzet dolga, nem pedig a gondolaté s épen azért
különböző. Ha a gondolaté volna, ugy nem volna különböző; mert a
gondolat egy és ugyanaz, p. az ökör sehol sem tartozik nem szarvas
állatok közé, de tulajdonai után egy osztályba eshetik lóval, tevével;
s a lovat, tevét is el lehet vala nevezni vah (vehere) szótul a nélkül,
hogy mindaztal ló és teve összetévesztetnék az ökörrel. De az
öklelni-tul lovat már nem igen fog nyelv nevezni soha, mert a ló
nem öklel. És igy a metafizikus szükség mindössze is a dolog, a tárgy
maga. „Vah (vehere), seminator öklel, boare,“ mind tulajdonságai az
ökörnek, ennélfogva lehete is közülök akármelyik után neveztetnie;
mint nem fogna meglepni, ha körme, szarvai után neveztetnék is
valamely nyelvben talán szarvasnak, körmösnek stb.; mikor csak
annyiban volna beleszólója a bölcsészetnek, a mennyiben elitélné
hogy melyik nyelv nevezi lényegesb vagy kevésbbé lényeges oldal
után ugyanazon tárgyat. – Igy jár el szellemünk a nyelvalkotás körül.
És gyanus az a bölcsészet, mely nem tudhatni vél oly dolgokat,
melyeket még nem tud, ellenkezőleg nem tudni vall olyakat,
melyeket tudhat. Ennélfogva semmi nagy bölcseséget nem látok

abban, hogy „miért nem jelent a menni szó repülni-t.“ Ez a
szőrszálhasogatásnál is finomabb, és lehet, hogy igen gyakorlati, de
a „lét és tudat“ bölcsészetének vele semmi köze. – Térjünk vissza
ennek ügyéhez közelebbrül és végezetre.

XVI.
Ugy tetszik, legalább nekem, hogy az a fenséges tudomány,
melyet mondaszerü adatból Püthágorás óta filozofiának hi a
tudós világ, jelen korunkban megállapodott. Lehet, hogy az időjárás
vön uj fordulatot, s az ugynevezett gyakorlati szellemeknek viradt
fel, de hihetőbb mégis, hogy valami nagy esemény történt a
tudomány életében, mely miatt, vagy mert akadály, vagy mert fontos
előhaladás, lehetlen kissé hosszabb időre meg nem állapodni; első
esetben, hogy elhárittassék; másodikban, hogy reá mivelődjek a kor,
s utána érjenek az elmék. Én ez utolsót hiszem.
E részben a német szellemet illeti a dicsőség. Ezt bevallani az
igazságnak vitt hódolat. Egyszersmind állithatjuk, hogy a bölcsészet
elérte férfikorát, vagy legalább tulvan a fejlődési korszak
vergődésein. Ezen nyilatkozattal, megvallom, azon tudósainknak
ohajtok egy kis örömet szerezni, kik a németországi bölcsészeti
mozgalmakban, miképen Kant óta történt, megrovandónak lelék a
rendszerek egymásutáni gyors következését. De ugyanazon
tudósainknak mondok más oldalrul keserüséget, ha állitom, hogy
ilyes felfogással s ellenvetéssel akaratlanul is elárulják, hogy igen
elmaradtak, vagy tévuton járnak, talán vég meghasonlásban is
vannak a mai bölcsészeti tudalommal.
Ma már nem igen nagy szerencse az a bölcsészet, mely
tapasztalat, kétely, birálat s több efféle vezérige után indul. A
tudomány megnyeré immár a lehető szervületet, s amaz elemekből
elfogadta mindazt, mi bennök életrevaló, elsajátitható volt; minek
öntáplálkozása végett hasznát vehette. Hasonlóul elvirultak a
váladékos (ekklektikus) bölcsészet tavaszi napjai; szinte késői dolgok

a nemzeti bölcsészet ferdén látott alakulásai: az angol vagy skot
közérzék, a franczia felvilágosodás, a német alanyiság
részszerintiségei.
A tudomány épületén egy uj emelet van készen; ezt kell
meglaknunk, megerősitnünk, hogy tovább épithessünk. A szellem,
ugy látszik, megfáradt a nagy munkában, s hosszabb időre pihen, a
mig uj irányt lel. Láthatni ugyan mai nap is némely nyomokat, de
koránsem uj, hanem csak megujitott kezdettel. Az eszmeiségnek
(idealizmus) sükerült a rendszerbe ömlés, a tudományi alak
megnyerése, mig a másik oldal, az anyagiság, mind hiába küzd
szervületért, alakért, elevenségért. Most tehát emez utóbbi ujra
kezdi a harczot
57)
, mint Macready Macbethe, mikor már
haldoklásábul még egyszer fölemelkedik, s megerőteti magát
utoljára. Mert mióta a természet, az anyagi világ is átszellemült, azaz
tüneményeiben magánál fensőbbre, nemesebbre utal, senki okos
nem lesz eléggé bohó a természettudományok itélő széke elé vonni
az eszmeiség elvét. Pedig ez volt a rendes eljárás. A természet, mint
tények országa, volt az itélőszék, a legfelsőbb biróság. Hányszor
állittatott szembe egymással ész és anyag, szellem és természet?
Mai nap épen a legnagyobb természetbuvárok, Liebig, Humboldt stb.
tesznek tanuságot a szellem ügyében.
Ha tehát megujult az anyag és szellem ős kérdése, körülbelül
annyi várható utána, mint a mi eddigelé történt, hogy az eszmeiség
ujra megfelel magaért, föltevén, hogy legyen valakinek kedve
folytatni a vesztett ügy csatáját.
Erre gondoltam én már, midőn a bölcsészeti fejlődés
megállapodásáról szólottam. Legfőbb az, hogy ezalatt időt nyerünk
elérni az előre haladott irodalmakat s egy szivonalra emelkedni
velök. Csak az a kérdés: miképen használtassék fel az eltölteni való
idő. Mert ennek is több módjai lehetnek. Nálunk az volt eddig
szokásban, hogy a bölcsészeti vagy általán, tudományos
jelenségeket a külföldön kelle megszeretnünk előbb s aztán nagy
ügygyel, bajjal ültetnünk által, s honositani meg. Ilyenkor a mi

tudósaink belé kapaszkodva egy egy külföldi nagyságba, vitték a
nevét s tudományát csudálatra méltó buzgósággal, tüzzel, vassal;
inkább mint honfitársai oda haza. Sohasem szerették jobban
Coccejust, Voetiust, Ramus Pétert saját népeik, mint mi. De az
ellenkezővel, a gyülölettel is igy voltunk. Sohasem, üldözték jobban
Hegelt oda haza, mint nálunk. Azonban a szeretet épen olyan volt
mint a gyülölség: bün. Mind a kettő tekintély rovására történt; s ez
mutatá és mutatja ma is azon álláspontat, melyet a bölcsészet, mint
tudomány, irányában elfoglalva tartunk. Igy hallhatni közöttünk ma
is sokféle bölcsészetről. Rousseau és Voltaire felől, ha tetszik,
ujdonságképen csak jelenleg olvashatunk eligazitó elmélkedéseket.
Van embere a mult századi bölcsészetnek oly meggyőződéssel, hogy
a mi azóta történt, mind hiába történt. Igy rothasztjuk az életet
fölösleges tudni valókkal, miket már régen el kellett volna felejteni,
vagy csak annyit tartani meg belőlök, mennyit ételből a gyomor, t. i.
a táplálkozásra szükségeset. – Mind e jelenségből mégis annyi esik
dicséretül a magyarság szellemére, hogy nem volt oly habütése az
eszmék mozgalmának Európában, mely közöttünk nem érzett volna.
Mindenkor belé estünk a mozgalom körébe, s fejlett körültünk a
szellemi tériség, mint naptól a világosság. Ez nagy szerencse, igy és
nem máskép magyarázható meg, ha nem hullottunk ki, mint
önmiveltségü nép, az idő rostájából.
De a mi bününk, szeretet és gyülölséggel egyiránt, igen
természetes volt mind eddig. A népek egymásnak mesterei. Egyik a
másiktól tanul; és nem mutathatni nemzetet a földön, melynek
hiányzott volna a maga mestere. Történik aztán, hogy a kezdet
durvasága lebárdoltatik a müveltség simitó befolyása által; s a
nemzetek rokonulnak a pallérozódásban. Azért egy részről időelőtti
volna kedvünket veszteni a munkához, mert még nagy tudományi
multtal nem dicsekhetünk, de más részrül férfiatlan is, mert
erőszegett állapotra mutatna, mintha félnénk a munkától. Tanuljunk
csak más népeket, irodalmukat: meglátjuk, hogy a mi nem nekünk
való, bizony nem ragad ránk erőszakosan, csak el ne hagyjon
bennünket az eszmélkedés, a magunkra gondolás. Arra, hogy
tudományban eredetiek, önállók legyünk, nem is oly szükséges a

nemzeti eredetiség, mint az emberi szellemnek fölismerése.
Költőénél e részben kedvezőbb a bölcsész sorsa, mivelhogy nem oly
lényeges nála a nyelv és ebben rejlő forma, mint a költőnél. De ha
még a költészet is idegen formák után müveli magát és még sincs
elzárva előtte az eredetiség, mennyivel kevésbbé van okunk
kételkedni magunkszerü bölcsészeti önállóságon, ha szinte ellene
mondok is más részrül minden olyan lehető nemzeti bölcsészetnek,
mely az értelmi és érzelmi természet valamely saját vegyülése,
aránya után, égalji viszonyokból származnék, mint a „Propylaeumok“
szerzője akarja.
Bölcsészeti önállóságot azonban nem ujonnan fölmelegitett
módok és elvek, oldalvásti elmélkedések, viszketeg különczségek
adnak, hanem egyenlő méltatása mindannak, minálunk az idők
folytán az eszme javára, s érdekében nyilatkozott. Ez volna már az a
másik üdvös foglalkozási mód, melyet az eltölteni való idő alatt
fölhasználtatni, nemzetünk s irodalmunk részéről, ohajtok. Tehát
valamely történeti szempont volna elfoglalandó, s erről tekintendő át
a magyar szellemnek e tárgy körüli forgódása.
Nem én vagyok első, ki ezt sürgetem. A magyar akademiáé e
részben az elsőség, mert felállása után mindjárt, 1831-ben már
fontosnak hitte pályakérdésül adni fel: tudományos mivelődésünk
története időszakonként mit terjeszt elénkbe a filozofia állapotja
iránt; és tekintvén a filozofiát, miben és mi okra nézve vagyunk
hátrább némely nemzeteknél. És épen az, hogy nem én vagyok első,
hanem az akademia, mutatja, miszerint tárgyam földeritése a
nemzeti tudományosság ügyébe vág. A beadott pályamüvek lehet,
hogy megfejtették a kérdést, de a további nyomozást nem tették
fölöslegessé. Elismérve Balogh Pál és Hetényi pályairataik becsét –
mert ők voltak a versenyzők – annyiban mégis hiányosnak mondható
mindkettő, hogy első inkább támaszkodik a bölcsészet iróira,
összeköttetésben a külfölddel; másik, történetére; az irók
bővebb ismértetése nélkül. Mert ha kifonják is a tudomány
történetének szálait, de az első csak halmazosan, nevek egymás
után rakásával elégszik be; a második némi tartalmat is ád régi

bölcsészeink irataibol, de mind a mellett csak egy pár helyen, mig
legtöbb esetben nem hagyja belátni: honnan, mit és miért állit,
ekképen nem vagyunk minden lépten biztositva iratában, hogy jó
helyen járunk-e csakugyan; s a történeti alap mintha ingana lábaink
alatt. Megértjük példaul, mikép Arisztotelest vagy Cartest követé
egyik vagy másik bölcsészünk, de nem többet ennél; s nem marad
egyéb hátra, mint szavukra hinni belátás nélkül.
Ez oldalrul kivánatos volna minden egyes bölcsészt át meg át
tanulmányozni, s kivonatban közzé tenni, mások itélete alá is
bocsátani az irodalom utján, hogy a holt kelme megelevenednék
lelkeinkben. – Alapos reményeim vannak hozzá, hogy bárminő parlag
is a mi régi tudományosságunk mezeje – mégis csak a mienk az –
nem egy buvárkodó elmének fogja, épen ezért, maga felé ragadni
szeretetét.
Ha mégis a történeti szempont fölvétele után aggodalom
keletkeznék az iránt, hogy adataink sovány multra, szégyenlendő
kezdetre fognának visszavezetni: ez a legalaptalanabb aggodalom
volna, s épen ellenkező a történeti szemponttal. Hiszen a történetnek
épen azt kell mutatni, a mi történt, a mi megesett; s megvallom, én
nem volnék oly nagyra vele, mint közönségesen a történetirók, hogy
a mi eleinknek a tüzimadással nem épen legalább való fogalmuk volt
istenről. Sőt egyáltalában kétséges előttem minden nagy kezdet;
akkor pedig, ha netalán az utódok a nagy kezdet után is
alászállottak, nevetséges. Sohasem vált szégyenére a görög
elmének, különösen az ion iskolának, hogy Thales a vizet,
Anaximenes a léget, Anaximander a vizet és léget, Heraklit a tüzet,
Empedokles az elemek khaószi vegyületét tartá a dolgok kezdetének,
mig Leucipp és Demokrit a parányokat (atomokat). Ki veti szemére a
Püthágorás által alapitott olasz iskolának, hogy istent az anyaggal
együtt hivé öröktőlinek s ezek egymásra mükődésének
harmóniájából hozta ki a világot? Igy vagyunk a többi oskolákkal is.
És miért nem volnánk igy továbbá minden egyes népekkel és
tudósaikkal? Nekünk magyaroknak, utoljára is csak magunknak kell
magunkat felfogni, megismerni; s vajjon aggodalmasan kell-e

nyulnunk Laszkói Csókás Péter bölcsészetéhez, mert ő a
lelkeket, a test halála után, egész saját, nekik való helyen egy nagy
társaságban együtt tartja, mit bölcsésznek tudni alig lehet; piruljunk-
e, ha Pósaházi előtt nem látszott épen nevetségesnek a föld
napkörüli forgása, mig Sartori Bernát egy századdal utóbb is
lehetlennek hitte azt?
Szokjunk hozzá észrevenni a kicsiségeket, majd rá kapunk a
nagyra is. Hibábul, tévedésbül még a kicsi jó. A történeti szempont
már legbiztosabban juttat bennünket eme nem irigylendő jóhoz; de
ha egyszer nincs jobb, az is több semminél. És ha netalán ugy
látnók, hogy az a nagy bölcsészeti tökély másutt is csak nagy idők és
törekvések munkája s eredménye, nem kapnánk-e vidámságot,
kedvet a tudományhoz inkább, mint bölcsészeink szokásos
gyakorlatával, kik elsajátitván a fő eszméket a külföld tudósaitól,
vadonat ujdonság gyanánt bevetik közinkbe rágódni és veszekedni
rajtok mint Pósaházi korában Cartesen, Rozgonyi korában Kanton,
Szontagh Gusztáv korában Hegelen? Ki látta fejleni azon
körülményeket s föltéteket, melyek alatt, által és között az emlitett
bölcsészek tudománya nem épen szörnyeteg szülött, vagy az emberi
elmejárásnak ficzamos gyermeke, hanem rendes maga utjáni
teremtmény gyanánt mutatkozik, s természetesnek találtatik? Senki!
– Pedig ha egyszer bevétettek tudósaink által, kellett annak valami
belső okának is lenni. Az nem lehetett puszta ránktapadás. Ily
módok előadásával ohajtanám én elfoglalni egy időre bölcsészeti
irodalmunkat. De még eddig elhanyagoltatott közöttünk a
bölcsészetnek ily utu müvelése; szakadékos jelenetek mutatkoztak
folytonos velebánás helyett. Fölvettük, letettük a tárgyat, mint a
pert; s nem adván semmit lelkünk elevenségéből a tudományhoz,
elidősült, elócskult a legszebb ujdonság is, mig végül hasznavehetlen
jószág gyanánt rajtunk veszett, rajtunk száradt mint a gyalázat.
Hiányzott a szerves munkásság, fejlődés.
Mindez semmi volna magában, ha némileg elvből nem történnék.
Talán minden gonoszkodás nélkül állithatnám, hogy mi, magunk
között elméletét állitottuk fel a nemgondolkodásnak. Valaki elkiáltá

magát egy rosz órában, hogy a magyar szellem fellengősdi járásu, és
legott elkezdtünk lenni gyakorlatiak, életbölcsek s ellenségei minden
elmélődésnek. Hetényinek szüksége volt a gyakorlat erősbödésére, s
igyekezett bebizonyitani, hogy a magyar „keleti faj“ és „gyakorlati
irányu“; igy felhőt támasztott a szobatudósság ellen. S általában a
tudós czimet gunyul szokták használni akademikusok épen ugy
mint ujdonságirók, előtte utána, kivétel nélkül. Aztán velőnket veték
latba, s mérlegelék az érzelmi és értelmi természet vegyarányát.
Honnan mindez állitások? Felmutatta-e valaki: miben áll a
magyarság szelleme, gondolatjárása kezdettől mostanig? Művelődési
történetünk csak most kezdődik, mióta az irodalmat, s
tudományosságot fejtegeti egy két elme, de még nem jutottunk el a
magunk megismerésének határpontjához.
És legyen kárhoztatás nélkül mondva, de mégis megmondva
egyszer és őszintén, hogy a történeti életére oly sokat adó magyar
népnek bizony nem válik dicséretül az a fél meleg fél hideg indulat,
melylyel a legujabb magyar irodalom történeti irányát fogadja, ha
még most is csak áldozatul kell vinni az irónak minden tudományát,
erkölcsi s anyagi haszon kétes kilátásával. Mit nem követ el az
irodalom, hogy kellő méltánylást gerjeszszen Szalay, Teleki, Toldy e
nemű vállalata iránt? Micsoda mesterséges az a kelet, mely a
„Nemzeti könyvtárnak“ csináltátott? Az „Erdélyi történelmi tár,“ a
tudós társasági „Magyar történelmi emlékek“ hasonló utánalátással
remélhetik az életet. Az ember ohajtana ilyekrűl nem beszélni, mert
kinos kinnal esik. De a kényszerüségnél, mely ilyekrül beszélni
kötelességül teszi, fájdalmasb volna mégis a hallgatás.
Senkisem olvasta hivebben a történetirókat, mint én; de hát hol
volt az a magyar történeti munka, mely kielégitett volna? Hadainkról,
katonai erényeinkről meglehetősen hallottam; valamint jelenlenni
véltem magamat nem egyszer a Rákoson vagy Budán a nemzet
tanácskozásaiban. Figyelemmel voltam az ipar, czéh s
jobbágyrendszer multjára, s már már történetiró lett belőlem, de
mind nem láttam, mind nem találtam még fel azt a lényeget, vagy
inkább ős alapot, mely középpontja fogott volna lenni az én

bölcsészet-történelmi dolgozatomnak. Mikép a föstész, midőn arczot
másol, a szemet rajzolja ki legelőbb, hogy mintegy folyvást
nézhessen a másolandó egyén lelkébe: ugy kerestem én azt a
szemet, melyen a magyarság szellemébe láthassak, s nem találtam.
Kiki megérthet, hogy az én tekintetem s vágyódásom belső
történet után sovárog, melyhez az irodalom ismérete ad
vezérvilágot. De az irodalomnak sem minden ága ver ide. Mert más
valamely tudomány története a nemzet irodalmában, más ismét oly
tudományé, mely magának a nemzetnek belső története, s
alaplényiségére vonatkozik. Mint az egyes igen rég óta vesz és tesz,
alkot és ront az életben, mielőtt teljes tudalommal birna minde felől:
ugy a nemzet. És pedig a szellemnek ilyféle nyilatkozása hiába
mondatik egyesben ifjui megnemgondolásnak, nemzetben kezdeti
müveletlen kornak; annál jobban magyaráz és fest mindkettő. Nem
ok nélkül vetettem hát én magamat utána ilyen mozgalmaknak a
magyarság szellemi életében; nem ok nélkül kerestem össze a
nemzet dalait, közmondásait, meséit, s ohajtanám ismérni most
bölcsészetét. Nekem az alapvonásokat nem adja ki a polgári vagy
világi történet. Nekem a polgári élet körülményessége, közel és
távoli befolyásoktól függése a legmeglepőbb eseményeket adhatja
had és békében; de maga az egész polgári élet olyan, hol sokan
csinálnak egyet. Melyik a sok közül a mester, nem birom kivenni,
mert gyakran a vezér is vezettetik. A szellem függ, határoztatik.
Mennyi játéka van mindenféle ingernek az ember lelke körül. A
dicsvágy még legártatlanabb, noha legbizonyosb. De a kül s erőszaki
befolyások! Ha észreveszem is a sok egyesben a nemzeti lelket, de
sokkal inkább rajta kapjuk a szellemet az igazságon, midőn is ten,
világ, lélek eszméivel foglalkozva lepjük meg az egyest; midőn
gondolatait, és érzelmeit vallás, bölcsészet aztán szépmüvekben
tárja elménk, szivünk elé; s ugy gondolom, hogy eme dolgok
ismérete az a szem, melyen a nemzet lelkébe pillanthatunk.
Nem kisebb tehát ohajtásom, mint belátást, meggyőződést
szerezni arról: micsoda fokát birja meg szellemünk az
elmélkedésnek, s mi a magyarnak belső embere a gondolkodás
É

szerint; s hogyan mutatkozik ez a bölcsészet történetében. És ha
mind ezt ki tudnók fejteni, magyarázni! Ha módunk esnék a földig
alázott bölcsészeti müveltséget nem lábra állitani, hanem mélyebb
sülyedéstől megovni! Mert ha százszor derűl is aranyidő az anyagi
érdekekre, melyek hatalom és nyervágy uralkodása által szinte
divattá emelvék: még sem fognak lehullni magasságukból az égnek
csillagai, melyek a világutazót vezetik; ezek pedig épen a magas
metafizikai eszmék, a szellemi világ vezérszövétnekei. És ha
csakugyan elvéljük s meggondoljuk: miben áll parányiságunk, mint
nemzeté, saját népé; mi vitte elő eddigi sorsunkat vallás,
polgárzatban; mi az, minek nevében annyiszor formáltattunk ujjá
ezer év alatt: ugy fogjuk találni, hogy az mindig és kivétel nélkül
valamely észiség, változott meggyőződés, emberiségünkhöz méltóbb
felfogás, értelmi alap nevében s érdekében történt; és ha külön
czimet szán is müvében az anyag ügyének a történetiró, s megjegyzi
az időt, mikor külső jóllét, vagyon előmenetelt vőnek: mégis a nagy
életet intéző mozzanatok mindig az eszme, az igazság, a magasabb
gondolkodás ereje által születtek; sőt magának az anyaginak többre
becsülése is onnan van, mert tisztultabb felfogás bánik vele; holott
értelmi gyarapodás, eszmék körüli jártasság nélkül az anyag igen
könnyen megöl.
Mivel pedig nálunk hamar elszaggatják egymástól az élő
igazságot, minő például ez is, hogy anyag nincs szellem nélkül, s
megforditva, de mégis emez utolsó a nemesb, óvást teszek minden
egyoldalu, ügyvédi felfogás ellen, mely csak ellentétek szerint, a
maga eltépett állapotában képes fölismerni az igazságot, s arra,
hogy anyagot és szellemet összerüen, együttesen fogjon fel, végkép
gyarló, s egyáltalában képtelen Az ilyen felfogás ellen óvást teszek, s
ujra mondom: ama nagy változások, melyek az európai népségek
közt idegen magyar elemet megtartották, koronként elővitték,
mindig az eszmeiség jelszava mellett történtek. Hogy ne volna hát
érdekes tudni ama változások mélyebb fekvésü okát, vagyis az idő
lelkében működött értelmet, meggyőződést; mert hogy a
keresztyénség, a hübériség, a hitujitás, a szabadelvüség csak
külsőleg ragadtak volna reánk, s nem meggyőződéseinkben vertek

volna gyökeret, alapot: megfoghatlan. A történészet ugyan kijegyzi
helyét most német és bizanczi, majd szláv és vegyes természetű
befolyásoknak, ugyszinte bevon bennünket legujabb idő szerint, az
európai bölcselkedés ármozgalmába: de kimagyarázni, okot fejteni
még eddig vagy módjában nem állt, vegy érdekében. Ide járulnak
azután a hidegség, közönyösség utáni meggyőződések az
emberekben; például az a meggyőződés, hogy a magyar sohsem
törődött az elvont eszmékkel; az nem természetéhez való; ha őseink
nem sokat gondoltak velök, miért lennénk mi különbek, mint voltak
apáink?
Ez igen fontos ötlet némely történeti egyoldalu miveltség előtt, de
máskülönben nem igaz. Mind a mellett bizonyos, miszerint a kik a
történetet az emberi szellemen kivül keresik, vagy történeteikből a
tudat, a gondolat életét kitudják: előbb utóbb kiesnek a történetből
mindenestűl magok is. Részletesség, töredékesség soha meg nem
tart. – S megvallom, e ponton engem egyes, társalgási mondatok,
önkénytelenül elejtett szavak is érdekelnek jóra való emberek
szájából. Itt azonban nem szükség urát adnom: kitől, noha ma is élő
magyar irótul hallottam ily határzott, egyenes nyilatkozatot: „a
tudományok legközelebbi változása, tökélyesbülése abban fog
határozódni, hogy a metafizika elenyészend közülök“. Egy ily mondat
bárminő elszigeteltnek látszik is a papiroson, mégsem áll magában.
Ám enyészszen ki a tudományok sorából minden metafizika, jobban
lesz-e akkor? De a mondat egyáltalán helytelen. Hogy ez
megtörténhetnék, embernek tulajdonlag nem kevesebbről, mint
eszéről kellene lemondani. Azonban kérdés: lemondhat-e? A vakand
tur, mert neki turni kell; az ember gondolkodik, mert ez által ember.
De továbbá az sem hiábavaló kérdés: mi minden fogna ez esetben
maradni tudománynak metafizika nélkül? Bizony legfölebb is meddő,
sivatag tekintet a külvilágba, mint az állatok megrebbenése. Még
csak heraldikára sem lehetne kilátásunk.
Igaz ugyan, miszerint nagy emberek, sőt egész tudós felekezetek
ovakodtak a metafizikától. Névszerint Newton, de csak a
természettanban; mind a mellett semmi sem bizonyosabb, mint hogy

maga sem tette. Az ilyen ovakodási beszéd aztán nagy névi tekintély
gyanánt foly ki a világba. Isten tudja, hány ember hiszen ugy mint ő
kitalálta ejteni a szót, ha szinte nem érti is. Hasonlóul tilt a
metafizikától az anyagi s tapasztalati bölcsész, de még sincs avagy
csak egy is, hogy tudta volna óni magát Locketól kezdve
Moleschottig.
Se a természet, se a szellemi világ nincs addig kiösmérve s
kellően felfogva, mig átlátszóvá nem tétetett a buvárló gondolkodás
által. Mint nem puszta vakeseményt látunk a természetben immár,
ugy kell kiösmérszeni a szellemnek a történetből, mely az összes
emberiség vagy egyes népfajok szerint válik emberiség vagy nemzet
szellemvilágának tűkörévé. Mert a történet nem csak tények
halmaza, előszámlálása; de sőt inkább a tények magok is akarat,
elhatárzás, meggyőződés müveletei. E szerint a mi nálunk az idő
folytán ténynyé vált, az egyszersmind visszamutat a lélekre, a
meggyőződések mibenlétére. Csak a tények és meggyőződések
szigoru egybefoglalása viheti oda müveltségi haladásunkat, hogy
saját egész valónk, nemzeti méltóságunk, magunk és az emberiség
irányában önisméretté világositassék fel, s egész történelmi életünk
átlátszóvá tétessék a nemzeti öntudalomban.
Ennyi, a mit mondani akartam, ennyi az, minek végbevitelére
szólitom fel a magyar tudományosság embereit azon idő
elfolyandása alatt, melyre a bölcsészet jelen korunkban
megállapodott, vagy legalább megállapodni látszik. Különösen
minden szeretettel fordulok a hazai bölcsészet müvelőihez.
Emlékeztetem őket az eddigi foganatlan kisérletekre a bölcsészet
utján, melyek mint rendesen idegenből jött mozdulatok, csak
függelékei a külföld munkásságának, mint ügyekvés csak
vesztegetése az erőnek, mint előmenet, csak toldozásai a szellem
életének. Azonban a szellem soha sem fog előmenni a maga
természetén kivül. A szellem élete a gondolkodás, előmenete a
szervesség. És ha már az anyagi világban is oly szerepet játszik ez:
mennyivel inkább a szellemiben. Sőt szervesség a szellem igazsága,
egészlete. Azon kivül csak töredék, összefüggetlen részenkéntiség.

Ohajtásom ennélfogva bölcsészetben is visszafordulni, meddig csak
nyomokat lelünk, a mult emlékeihez. Helyezzük be hát magunkat,
bölcsészetileg is, a történeti állás jogaiba, mint a költészeti oldalon
eddigelé behelyeztük már. És midőn ezt ohajtom, nem beszélek
valamely soha nem gyanitott eredetiségről, hanem gondolkodásról,
olyanról a milyenről: ez lesz az eredetiség. Mert az eredetiségre nem
szükség egyéb mint az emberi szellem buvárlása, fölismerése. Ez
uton senki elől sincs elvéve az. Ily formán együtt vagyok azokkal, kik
a külföldi bölcsészet mozgalmaitul ónak: de koránsem nemzetiségi
önségből, hanem, mert szeretem hogy mi is gondolkozzunk, nehogy
megemésztessék belső emberünk. Együtt vagyok továbbá azokkal is,
kiket anyagiakban a külfölddeli verseny dicse ösztönöz: de reszketek
ama szellemi szolgaság előtt, melybe már eddig is sülyedtünk, hogy
eszméink, gondolataink sincsenek, mielőtt idegen könyvet át nem
lapoztunk. Ez oly vivmány, melyért nem magunk fáradtunk; oly
dicsőség, mely magunk előtt aláz meg; oly előmenetel, melyből még
igen sok van elmaradva; oly nyereség, mely veszteséggel ér föl.
Tudom én hogy a gondolkodás egyetemesbe visz: a nemzetet
összeköti az emberiséggel. Tudom hogy minden folyó a tengerbe
siet, de mégis a tenger a folyók éltetője, folyók a tenger élete.
Kölcsönhatásban áll egymással a kettő: nemzet és az emberiség,
folyók és a tenger. Tudom, hogy a vizcsep természete nem más akár
Tiszábul, akár Rajnábul merittessék, de mégis a Tisza délre foly, a a
Rajna északra. Ilyen lenne talán az, mit a hazai bölcsészet neve alatt
értek? Ugy vagyon! mert az egész csak hasonlitás. Hanem az igaz
szó ennyiben áll: bölcsészeti multunk összeállitásábul folyó fogna elő
állni a szellemi élet mozgalmával, elevenségével; és ki fogna tünni a
munkarészlet, melyet a magyarság elméje vön a gondolkodás nehéz
pályáján. Az a részlet, melyet nemzetünk az ész, a tulajdonképi
emberiség ügyében leszolgált. Azon illetőség, mely reánk mint
nemzetre, az emberiség egy családára, világpolgári kötelesség
gyanánt esett a közös teendőbül.
Vajha senki ne lássa magát oly nagynak, hogy kicsit lásson ebben
s méltatlan magához! Vajha előitéleteink földet veszitsenek a

bölcsészet mezején, s adassék ellenkezőleg tám az önisméretnek és
a nemzeti tudalomnak az által, hogy az idők rendiben mindig volt
annyi életrevalósága szellemünknek hogy, ha rátelt az idő, szert foga
rendesen a szellem, a gondolkodás nehéz, de dicső munkájában. Öt
hat század beszélhet nálunk a bölcsészetről; s a mit ők beszélnek, az
lesz a magyarság szelleme, s bölcsészete okvetlenül.

Nyomási hibák,
Lap. Sor. Helyett Olvasd.
75.felülről19.hat. i. ha t. i.
84. – 14.vitágot világot.
94. – 8.tökéletetlenebbtökéletlenebb.
95. alulról 6.
bélyege nincs,
mód
bélyege, nincs
mód
107.felűlről 8.vegyik vegyük
120. alulról 9.ogitare cogitare.

Lábjegyzetek.
1) Philosophiaí pályamunkák. Első kötet. Budán, 1835.
2) A magyar philosophia történetirásának alaprajza. Uj Tudtár.
1837. 2. köt. 76–164 lap.
3) Munkái, azon kis logikán kivül, mely a Széchenyi-katalogusban
találtatik, a sárospataki főiskola kéziratai között: 1) Pneumatica,
2) politica, 3) ethica, 4) grammatica, 5) rhetorica, 6) logica, 7)
philosophica, 8) annotationes in logicam etc. – Leirattak 1656–
1659 folytán.
4) Philusophia; ennek utóbbi része sophia, nőnév; köznyelven
kicsinyitve: Zsófi. Tehát zsófiféle talán asszonyi, férfiatlan,
mendemonda filozofia? Propylaeumok 1839. 103. lap.
5) Uj Tudtár. 1837. 2. k. 90–91. lap.
6) Philosophia. Irta Ercsei Dániel. Első db. Debreczen, 1813.
Előljáró beszéd 8–9 lap.
7) Erdmann. Grundriss der Logik und Metaphysik. Zweite
verbesserte Ausgabe. Halle, 1843 22. 23. lap.
8) Erdmann, fentebb idézett munkája 66. lap. jegyzetében.
9) Hegels Werke. Encyklopaedie. Sechster Band. Zweite Auflage.
Berlin 1843. 254. lap.
10) Uj M. Muzeum 1853. VII. 346. lap.
11) Hegels Werke. Encyklopaedie – 327. lap.
12) Az egyezményes Philosophia stb. 41 l.
13) Buhle, Geschichte der Philosophie. Göttingen 1802. 7. kötet,
433–34 II.
14) Buda, 1837. 76–164 lap.

15) Pest, 1853. 204. 223. 263. stb. lapokon
16) „Értelmek“ áll, nyomási hibából, mint én hiszem, a szövegben.
17) Athenaeum 1841. febr. 16-ki számában *) alatt: mutatvány ily
czimü, kéziratban levő munkából; „Szépélettan, vagy az
egyezményes rendszerre épitett fensőbb filozofia.“
18) M. Akademiai Értesitő. 1853. 273. lap.
19) M. Akad. Értesitő. 1853. 275. l.
20) U. o. 242–3. l.
21) Magyar Akadem. Értesitő. 333. l.
22) A Magyar Egyezményes Phlosophía. Irta Szontagh G. 24. lap.
23) Toldy. M. irodalom története. Pest, 1851. 8dr. Első kötet, 137.
lap.
24) A Magyar Egyezményes Phil. 11. lap.
25) Chalybäus. Historische Entwickelung der spekul. Philosophie.
Vierte Auflage. Dresden und Leipzig. 1848. 258–9. lap.
26) Magyar Akad. Értesítő. 1853. 211. lap.
27) A Magyar Egyezm. Phil. 29. l.
28) A Magyar Egyezm. Phil. 21. l.
29) Hegels Encyklopädie. Sechster Band 282–3. lap
30) A Magyar Egyezm. Phil. 24. l.
31) Chalybäus „Historische Entwickelung d. spekul. Philosophie.“
230–341. l.
32) Vörösmarty Csongor, és Tünde. 2. fv.
33) Geschichte der Philosophie. 15. Band. 3. Abtheilung. Berlin.
1836. 516. l.
34) Anglia története. Irta Macaulay; magyarul Csengeri Antal. I.
kötet. 21–22. l.
35) A Magyar Egyezményes Phil. 40. lap.
36) Philosophiai pályamunkák. Első kötet. 121. l.

37) Tud. Gyüjtemény. 1822. X. kötet. 73. lap.
38) Principia Philocaliae seu Doctrinae Pulcri. Pestini. 1828. 8 dr,
184. l.
39) Tud. Gyüjtemény. 1818. Első kötet. 10. lap.
40) M. Tudós Társaság Évkönyvei. Negyedik kötet. 60–86 lap.
41) Uj M. Muzeum. 1854. VII. füzet. 13. lapon, alul, szerkesztői
jegyzésben.
42) Philosophiai Tanulmányai. Pest. 1856. 202. lap. – Olvastatott
a magyar akademiaban, febr. 26. 1844.
43) U. o. 196. lapon.
44) M. Akademiai Értesitő. 1853. 41. lap.
45) Térey. Elmélet és szemlélődés. Pest. 1843.
46) Hetényi. Palinagonia. Protestans Egyházi és Iskolai Lap. 1843.
477–95. l.
47) Protestans Egyházi és Iskolai Lap. 1844. 128. lap.
48) Pesten, 1841. 8dr. 183 lap.
49) Sárospatakon, 1849. 8dr. 158. lap.
50) Egyház és oskola. Szarvas. 1852. 42. lap.
51) Uj M. Muzeum 1855. 353–369. l.
52) Uj M. Muzeum 1856. VII. VIII. füzet.
53) Eszményi = ideal, eszmei = ideel.
54) M. Akad. Értesitő. 1855. II. sz. 151. lap.
55) M. Akademiai Értesitő. 1855. II. 155 l.
56) Magyar Sajtó Tárczája. 1857. 21. vagy január 27-ki szám.
57) Feuerbach, Vogt, Moleschott.

Javítások.
Az eredeti szöveg helyesírásán nem változtattunk.
A nyomdai hibákat javítottuk. Ezek listája:
8 sürgetní sürgetni
18 változtatní változtatni
46 ngyanannyi ugyanannyi
88 ő,“ korunkban ő, „korunkban
91 tekinteuek tekintenek
122 tökéleteseu egy tökéletesen egy
126 tndalom tudalom
131 leezkét leczkét
159 jauuár január
167 bogy Thales hogy Thales

*** END OF THE PROJECT GUTENBERG EBOOK A HAZAI
BÖLCSÉSZET JELENE ***
Updated editions will replace the previous one—the old editions
will be renamed.
Creating the works from print editions not protected by U.S.
copyright law means that no one owns a United States
copyright in these works, so the Foundation (and you!) can copy
and distribute it in the United States without permission and
without paying copyright royalties. Special rules, set forth in the
General Terms of Use part of this license, apply to copying and
distributing Project Gutenberg™ electronic works to protect the
PROJECT GUTENBERG™ concept and trademark. Project
Gutenberg is a registered trademark, and may not be used if
you charge for an eBook, except by following the terms of the
trademark license, including paying royalties for use of the
Project Gutenberg trademark. If you do not charge anything for
copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such
as creation of derivative works, reports, performances and
research. Project Gutenberg eBooks may be modified and
printed and given away—you may do practically ANYTHING in
the United States with eBooks not protected by U.S. copyright
law. Redistribution is subject to the trademark license, especially
commercial redistribution.
START: FULL LICENSE

THE FULL PROJECT GUTENBERG LICENSE

PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK
To protect the Project Gutenberg™ mission of promoting the
free distribution of electronic works, by using or distributing this
work (or any other work associated in any way with the phrase
“Project Gutenberg”), you agree to comply with all the terms of
the Full Project Gutenberg™ License available with this file or
online at www.gutenberg.org/license.
Section 1. General Terms of Use and
Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand,
agree to and accept all the terms of this license and intellectual
property (trademark/copyright) agreement. If you do not agree
to abide by all the terms of this agreement, you must cease
using and return or destroy all copies of Project Gutenberg™
electronic works in your possession. If you paid a fee for
obtaining a copy of or access to a Project Gutenberg™
electronic work and you do not agree to be bound by the terms
of this agreement, you may obtain a refund from the person or
entity to whom you paid the fee as set forth in paragraph 1.E.8.
1.B. “Project Gutenberg” is a registered trademark. It may only
be used on or associated in any way with an electronic work by
people who agree to be bound by the terms of this agreement.
There are a few things that you can do with most Project
Gutenberg™ electronic works even without complying with the
full terms of this agreement. See paragraph 1.C below. There
are a lot of things you can do with Project Gutenberg™
electronic works if you follow the terms of this agreement and
help preserve free future access to Project Gutenberg™
electronic works. See paragraph 1.E below.

1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright
law in the United States and you are located in the United
States, we do not claim a right to prevent you from copying,
distributing, performing, displaying or creating derivative works
based on the work as long as all references to Project
Gutenberg are removed. Of course, we hope that you will
support the Project Gutenberg™ mission of promoting free
access to electronic works by freely sharing Project Gutenberg™
works in compliance with the terms of this agreement for
keeping the Project Gutenberg™ name associated with the
work. You can easily comply with the terms of this agreement
by keeping this work in the same format with its attached full
Project Gutenberg™ License when you share it without charge
with others.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.
1.E. Unless you have removed all references to Project
Gutenberg:
1.E.1. The following sentence, with active links to, or other
immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project
Gutenberg™ work (any work on which the phrase “Project

Gutenberg” appears, or with which the phrase “Project
Gutenberg” is associated) is accessed, displayed, performed,
viewed, copied or distributed:
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and
with almost no restrictions whatsoever. You may copy it,
give it away or re-use it under the terms of the Project
Gutenberg License included with this eBook or online at
www.gutenberg.org. If you are not located in the United
States, you will have to check the laws of the country
where you are located before using this eBook.
1.E.2. If an individual Project Gutenberg™ electronic work is
derived from texts not protected by U.S. copyright law (does not
contain a notice indicating that it is posted with permission of
the copyright holder), the work can be copied and distributed to
anyone in the United States without paying any fees or charges.
If you are redistributing or providing access to a work with the
phrase “Project Gutenberg” associated with or appearing on the
work, you must comply either with the requirements of
paragraphs 1.E.1 through 1.E.7 or obtain permission for the use
of the work and the Project Gutenberg™ trademark as set forth
in paragraphs 1.E.8 or 1.E.9.
1.E.3. If an individual Project Gutenberg™ electronic work is
posted with the permission of the copyright holder, your use and
distribution must comply with both paragraphs 1.E.1 through
1.E.7 and any additional terms imposed by the copyright holder.
Additional terms will be linked to the Project Gutenberg™
License for all works posted with the permission of the copyright
holder found at the beginning of this work.
1.E.4. Do not unlink or detach or remove the full Project
Gutenberg™ License terms from this work, or any files

containing a part of this work or any other work associated with
Project Gutenberg™.
1.E.5. Do not copy, display, perform, distribute or redistribute
this electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the
Project Gutenberg™ License.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must,
at no additional cost, fee or expense to the user, provide a copy,
a means of exporting a copy, or a means of obtaining a copy
upon request, of the work in its original “Plain Vanilla ASCII” or
other form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.
1.E.7. Do not charge a fee for access to, viewing, displaying,
performing, copying or distributing any Project Gutenberg™
works unless you comply with paragraph 1.E.8 or 1.E.9.
1.E.8. You may charge a reasonable fee for copies of or
providing access to or distributing Project Gutenberg™
electronic works provided that:
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty

payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You provide a full refund of any money paid by a user who
notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.
• You provide, in accordance with paragraph 1.F.3, a full refund of
any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.E.9. If you wish to charge a fee or distribute a Project
Gutenberg™ electronic work or group of works on different
terms than are set forth in this agreement, you must obtain
permission in writing from the Project Gutenberg Literary
Archive Foundation, the manager of the Project Gutenberg™
trademark. Contact the Foundation as set forth in Section 3
below.
1.F.
1.F.1. Project Gutenberg volunteers and employees expend
considerable effort to identify, do copyright research on,
transcribe and proofread works not protected by U.S. copyright

law in creating the Project Gutenberg™ collection. Despite these
efforts, Project Gutenberg™ electronic works, and the medium
on which they may be stored, may contain “Defects,” such as,
but not limited to, incomplete, inaccurate or corrupt data,
transcription errors, a copyright or other intellectual property
infringement, a defective or damaged disk or other medium, a
computer virus, or computer codes that damage or cannot be
read by your equipment.
1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except
for the “Right of Replacement or Refund” described in
paragraph 1.F.3, the Project Gutenberg Literary Archive
Foundation, the owner of the Project Gutenberg™ trademark,
and any other party distributing a Project Gutenberg™ electronic
work under this agreement, disclaim all liability to you for
damages, costs and expenses, including legal fees. YOU AGREE
THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT
LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT
EXCEPT THOSE PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE
THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY
DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE
TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL,
PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE
NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.
1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you
discover a defect in this electronic work within 90 days of
receiving it, you can receive a refund of the money (if any) you
paid for it by sending a written explanation to the person you
received the work from. If you received the work on a physical
medium, you must return the medium with your written
explanation. The person or entity that provided you with the
defective work may elect to provide a replacement copy in lieu
of a refund. If you received the work electronically, the person
or entity providing it to you may choose to give you a second
opportunity to receive the work electronically in lieu of a refund.

If the second copy is also defective, you may demand a refund
in writing without further opportunities to fix the problem.
1.F.4. Except for the limited right of replacement or refund set
forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’,
WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
1.F.5. Some states do not allow disclaimers of certain implied
warranties or the exclusion or limitation of certain types of
damages. If any disclaimer or limitation set forth in this
agreement violates the law of the state applicable to this
agreement, the agreement shall be interpreted to make the
maximum disclaimer or limitation permitted by the applicable
state law. The invalidity or unenforceability of any provision of
this agreement shall not void the remaining provisions.
1.F.6. INDEMNITY - You agree to indemnify and hold the
Foundation, the trademark owner, any agent or employee of the
Foundation, anyone providing copies of Project Gutenberg™
electronic works in accordance with this agreement, and any
volunteers associated with the production, promotion and
distribution of Project Gutenberg™ electronic works, harmless
from all liability, costs and expenses, including legal fees, that
arise directly or indirectly from any of the following which you
do or cause to occur: (a) distribution of this or any Project
Gutenberg™ work, (b) alteration, modification, or additions or
deletions to any Project Gutenberg™ work, and (c) any Defect
you cause.
Section 2. Information about the Mission
of Project Gutenberg™

Welcome to Our Bookstore - The Ultimate Destination for Book Lovers
Are you passionate about books and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
ebookgate.com