URL
https://opencores.org/ocsvn/opb_vga_char_display_nodac/opb_vga_char_display_nodac/trunk
Subversion Repositories opb_vga_char_display_nodac
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 1 to Rev 2
- ↔ Reverse comparison
Rev 1 → Rev 2
/trunk/s3e_vga_char_dev_v1_00_a/gpl.txt
0,0 → 1,674
GNU GENERAL PUBLIC LICENSE |
Version 3, 29 June 2007 |
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> |
Everyone is permitted to copy and distribute verbatim copies |
of this license document, but changing it is not allowed. |
|
Preamble |
|
The GNU General Public License is a free, copyleft license for |
software and other kinds of works. |
|
The licenses for most software and other practical works are designed |
to take away your freedom to share and change the works. By contrast, |
the GNU General Public License is intended to guarantee your freedom to |
share and change all versions of a program--to make sure it remains free |
software for all its users. We, the Free Software Foundation, use the |
GNU General Public License for most of our software; it applies also to |
any other work released this way by its authors. You can apply it to |
your programs, too. |
|
When we speak of free software, we are referring to freedom, not |
price. Our General Public Licenses are designed to make sure that you |
have the freedom to distribute copies of free software (and charge for |
them if you wish), that you receive source code or can get it if you |
want it, that you can change the software or use pieces of it in new |
free programs, and that you know you can do these things. |
|
To protect your rights, we need to prevent others from denying you |
these rights or asking you to surrender the rights. Therefore, you have |
certain responsibilities if you distribute copies of the software, or if |
you modify it: responsibilities to respect the freedom of others. |
|
For example, if you distribute copies of such a program, whether |
gratis or for a fee, you must pass on to the recipients the same |
freedoms that you received. You must make sure that they, too, receive |
or can get the source code. And you must show them these terms so they |
know their rights. |
|
Developers that use the GNU GPL protect your rights with two steps: |
(1) assert copyright on the software, and (2) offer you this License |
giving you legal permission to copy, distribute and/or modify it. |
|
For the developers' and authors' protection, the GPL clearly explains |
that there is no warranty for this free software. For both users' and |
authors' sake, the GPL requires that modified versions be marked as |
changed, so that their problems will not be attributed erroneously to |
authors of previous versions. |
|
Some devices are designed to deny users access to install or run |
modified versions of the software inside them, although the manufacturer |
can do so. This is fundamentally incompatible with the aim of |
protecting users' freedom to change the software. The systematic |
pattern of such abuse occurs in the area of products for individuals to |
use, which is precisely where it is most unacceptable. Therefore, we |
have designed this version of the GPL to prohibit the practice for those |
products. If such problems arise substantially in other domains, we |
stand ready to extend this provision to those domains in future versions |
of the GPL, as needed to protect the freedom of users. |
|
Finally, every program is threatened constantly by software patents. |
States should not allow patents to restrict development and use of |
software on general-purpose computers, but in those that do, we wish to |
avoid the special danger that patents applied to a free program could |
make it effectively proprietary. To prevent this, the GPL assures that |
patents cannot be used to render the program non-free. |
|
The precise terms and conditions for copying, distribution and |
modification follow. |
|
TERMS AND CONDITIONS |
|
0. Definitions. |
|
"This License" refers to version 3 of the GNU General Public License. |
|
"Copyright" also means copyright-like laws that apply to other kinds of |
works, such as semiconductor masks. |
|
"The Program" refers to any copyrightable work licensed under this |
License. Each licensee is addressed as "you". "Licensees" and |
"recipients" may be individuals or organizations. |
|
To "modify" a work means to copy from or adapt all or part of the work |
in a fashion requiring copyright permission, other than the making of an |
exact copy. The resulting work is called a "modified version" of the |
earlier work or a work "based on" the earlier work. |
|
A "covered work" means either the unmodified Program or a work based |
on the Program. |
|
To "propagate" a work means to do anything with it that, without |
permission, would make you directly or secondarily liable for |
infringement under applicable copyright law, except executing it on a |
computer or modifying a private copy. Propagation includes copying, |
distribution (with or without modification), making available to the |
public, and in some countries other activities as well. |
|
To "convey" a work means any kind of propagation that enables other |
parties to make or receive copies. Mere interaction with a user through |
a computer network, with no transfer of a copy, is not conveying. |
|
An interactive user interface displays "Appropriate Legal Notices" |
to the extent that it includes a convenient and prominently visible |
feature that (1) displays an appropriate copyright notice, and (2) |
tells the user that there is no warranty for the work (except to the |
extent that warranties are provided), that licensees may convey the |
work under this License, and how to view a copy of this License. If |
the interface presents a list of user commands or options, such as a |
menu, a prominent item in the list meets this criterion. |
|
1. Source Code. |
|
The "source code" for a work means the preferred form of the work |
for making modifications to it. "Object code" means any non-source |
form of a work. |
|
A "Standard Interface" means an interface that either is an official |
standard defined by a recognized standards body, or, in the case of |
interfaces specified for a particular programming language, one that |
is widely used among developers working in that language. |
|
The "System Libraries" of an executable work include anything, other |
than the work as a whole, that (a) is included in the normal form of |
packaging a Major Component, but which is not part of that Major |
Component, and (b) serves only to enable use of the work with that |
Major Component, or to implement a Standard Interface for which an |
implementation is available to the public in source code form. A |
"Major Component", in this context, means a major essential component |
(kernel, window system, and so on) of the specific operating system |
(if any) on which the executable work runs, or a compiler used to |
produce the work, or an object code interpreter used to run it. |
|
The "Corresponding Source" for a work in object code form means all |
the source code needed to generate, install, and (for an executable |
work) run the object code and to modify the work, including scripts to |
control those activities. However, it does not include the work's |
System Libraries, or general-purpose tools or generally available free |
programs which are used unmodified in performing those activities but |
which are not part of the work. For example, Corresponding Source |
includes interface definition files associated with source files for |
the work, and the source code for shared libraries and dynamically |
linked subprograms that the work is specifically designed to require, |
such as by intimate data communication or control flow between those |
subprograms and other parts of the work. |
|
The Corresponding Source need not include anything that users |
can regenerate automatically from other parts of the Corresponding |
Source. |
|
The Corresponding Source for a work in source code form is that |
same work. |
|
2. Basic Permissions. |
|
All rights granted under this License are granted for the term of |
copyright on the Program, and are irrevocable provided the stated |
conditions are met. This License explicitly affirms your unlimited |
permission to run the unmodified Program. The output from running a |
covered work is covered by this License only if the output, given its |
content, constitutes a covered work. This License acknowledges your |
rights of fair use or other equivalent, as provided by copyright law. |
|
You may make, run and propagate covered works that you do not |
convey, without conditions so long as your license otherwise remains |
in force. You may convey covered works to others for the sole purpose |
of having them make modifications exclusively for you, or provide you |
with facilities for running those works, provided that you comply with |
the terms of this License in conveying all material for which you do |
not control copyright. Those thus making or running the covered works |
for you must do so exclusively on your behalf, under your direction |
and control, on terms that prohibit them from making any copies of |
your copyrighted material outside their relationship with you. |
|
Conveying under any other circumstances is permitted solely under |
the conditions stated below. Sublicensing is not allowed; section 10 |
makes it unnecessary. |
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law. |
|
No covered work shall be deemed part of an effective technological |
measure under any applicable law fulfilling obligations under article |
11 of the WIPO copyright treaty adopted on 20 December 1996, or |
similar laws prohibiting or restricting circumvention of such |
measures. |
|
When you convey a covered work, you waive any legal power to forbid |
circumvention of technological measures to the extent such circumvention |
is effected by exercising rights under this License with respect to |
the covered work, and you disclaim any intention to limit operation or |
modification of the work as a means of enforcing, against the work's |
users, your or third parties' legal rights to forbid circumvention of |
technological measures. |
|
4. Conveying Verbatim Copies. |
|
You may convey verbatim copies of the Program's source code as you |
receive it, in any medium, provided that you conspicuously and |
appropriately publish on each copy an appropriate copyright notice; |
keep intact all notices stating that this License and any |
non-permissive terms added in accord with section 7 apply to the code; |
keep intact all notices of the absence of any warranty; and give all |
recipients a copy of this License along with the Program. |
|
You may charge any price or no price for each copy that you convey, |
and you may offer support or warranty protection for a fee. |
|
5. Conveying Modified Source Versions. |
|
You may convey a work based on the Program, or the modifications to |
produce it from the Program, in the form of source code under the |
terms of section 4, provided that you also meet all of these conditions: |
|
a) The work must carry prominent notices stating that you modified |
it, and giving a relevant date. |
|
b) The work must carry prominent notices stating that it is |
released under this License and any conditions added under section |
7. This requirement modifies the requirement in section 4 to |
"keep intact all notices". |
|
c) You must license the entire work, as a whole, under this |
License to anyone who comes into possession of a copy. This |
License will therefore apply, along with any applicable section 7 |
additional terms, to the whole of the work, and all its parts, |
regardless of how they are packaged. This License gives no |
permission to license the work in any other way, but it does not |
invalidate such permission if you have separately received it. |
|
d) If the work has interactive user interfaces, each must display |
Appropriate Legal Notices; however, if the Program has interactive |
interfaces that do not display Appropriate Legal Notices, your |
work need not make them do so. |
|
A compilation of a covered work with other separate and independent |
works, which are not by their nature extensions of the covered work, |
and which are not combined with it such as to form a larger program, |
in or on a volume of a storage or distribution medium, is called an |
"aggregate" if the compilation and its resulting copyright are not |
used to limit the access or legal rights of the compilation's users |
beyond what the individual works permit. Inclusion of a covered work |
in an aggregate does not cause this License to apply to the other |
parts of the aggregate. |
|
6. Conveying Non-Source Forms. |
|
You may convey a covered work in object code form under the terms |
of sections 4 and 5, provided that you also convey the |
machine-readable Corresponding Source under the terms of this License, |
in one of these ways: |
|
a) Convey the object code in, or embodied in, a physical product |
(including a physical distribution medium), accompanied by the |
Corresponding Source fixed on a durable physical medium |
customarily used for software interchange. |
|
b) Convey the object code in, or embodied in, a physical product |
(including a physical distribution medium), accompanied by a |
written offer, valid for at least three years and valid for as |
long as you offer spare parts or customer support for that product |
model, to give anyone who possesses the object code either (1) a |
copy of the Corresponding Source for all the software in the |
product that is covered by this License, on a durable physical |
medium customarily used for software interchange, for a price no |
more than your reasonable cost of physically performing this |
conveying of source, or (2) access to copy the |
Corresponding Source from a network server at no charge. |
|
c) Convey individual copies of the object code with a copy of the |
written offer to provide the Corresponding Source. This |
alternative is allowed only occasionally and noncommercially, and |
only if you received the object code with such an offer, in accord |
with subsection 6b. |
|
d) Convey the object code by offering access from a designated |
place (gratis or for a charge), and offer equivalent access to the |
Corresponding Source in the same way through the same place at no |
further charge. You need not require recipients to copy the |
Corresponding Source along with the object code. If the place to |
copy the object code is a network server, the Corresponding Source |
may be on a different server (operated by you or a third party) |
that supports equivalent copying facilities, provided you maintain |
clear directions next to the object code saying where to find the |
Corresponding Source. Regardless of what server hosts the |
Corresponding Source, you remain obligated to ensure that it is |
available for as long as needed to satisfy these requirements. |
|
e) Convey the object code using peer-to-peer transmission, provided |
you inform other peers where the object code and Corresponding |
Source of the work are being offered to the general public at no |
charge under subsection 6d. |
|
A separable portion of the object code, whose source code is excluded |
from the Corresponding Source as a System Library, need not be |
included in conveying the object code work. |
|
A "User Product" is either (1) a "consumer product", which means any |
tangible personal property which is normally used for personal, family, |
or household purposes, or (2) anything designed or sold for incorporation |
into a dwelling. In determining whether a product is a consumer product, |
doubtful cases shall be resolved in favor of coverage. For a particular |
product received by a particular user, "normally used" refers to a |
typical or common use of that class of product, regardless of the status |
of the particular user or of the way in which the particular user |
actually uses, or expects or is expected to use, the product. A product |
is a consumer product regardless of whether the product has substantial |
commercial, industrial or non-consumer uses, unless such uses represent |
the only significant mode of use of the product. |
|
"Installation Information" for a User Product means any methods, |
procedures, authorization keys, or other information required to install |
and execute modified versions of a covered work in that User Product from |
a modified version of its Corresponding Source. The information must |
suffice to ensure that the continued functioning of the modified object |
code is in no case prevented or interfered with solely because |
modification has been made. |
|
If you convey an object code work under this section in, or with, or |
specifically for use in, a User Product, and the conveying occurs as |
part of a transaction in which the right of possession and use of the |
User Product is transferred to the recipient in perpetuity or for a |
fixed term (regardless of how the transaction is characterized), the |
Corresponding Source conveyed under this section must be accompanied |
by the Installation Information. But this requirement does not apply |
if neither you nor any third party retains the ability to install |
modified object code on the User Product (for example, the work has |
been installed in ROM). |
|
The requirement to provide Installation Information does not include a |
requirement to continue to provide support service, warranty, or updates |
for a work that has been modified or installed by the recipient, or for |
the User Product in which it has been modified or installed. Access to a |
network may be denied when the modification itself materially and |
adversely affects the operation of the network or violates the rules and |
protocols for communication across the network. |
|
Corresponding Source conveyed, and Installation Information provided, |
in accord with this section must be in a format that is publicly |
documented (and with an implementation available to the public in |
source code form), and must require no special password or key for |
unpacking, reading or copying. |
|
7. Additional Terms. |
|
"Additional permissions" are terms that supplement the terms of this |
License by making exceptions from one or more of its conditions. |
Additional permissions that are applicable to the entire Program shall |
be treated as though they were included in this License, to the extent |
that they are valid under applicable law. If additional permissions |
apply only to part of the Program, that part may be used separately |
under those permissions, but the entire Program remains governed by |
this License without regard to the additional permissions. |
|
When you convey a copy of a covered work, you may at your option |
remove any additional permissions from that copy, or from any part of |
it. (Additional permissions may be written to require their own |
removal in certain cases when you modify the work.) You may place |
additional permissions on material, added by you to a covered work, |
for which you have or can give appropriate copyright permission. |
|
Notwithstanding any other provision of this License, for material you |
add to a covered work, you may (if authorized by the copyright holders of |
that material) supplement the terms of this License with terms: |
|
a) Disclaiming warranty or limiting liability differently from the |
terms of sections 15 and 16 of this License; or |
|
b) Requiring preservation of specified reasonable legal notices or |
author attributions in that material or in the Appropriate Legal |
Notices displayed by works containing it; or |
|
c) Prohibiting misrepresentation of the origin of that material, or |
requiring that modified versions of such material be marked in |
reasonable ways as different from the original version; or |
|
d) Limiting the use for publicity purposes of names of licensors or |
authors of the material; or |
|
e) Declining to grant rights under trademark law for use of some |
trade names, trademarks, or service marks; or |
|
f) Requiring indemnification of licensors and authors of that |
material by anyone who conveys the material (or modified versions of |
it) with contractual assumptions of liability to the recipient, for |
any liability that these contractual assumptions directly impose on |
those licensors and authors. |
|
All other non-permissive additional terms are considered "further |
restrictions" within the meaning of section 10. If the Program as you |
received it, or any part of it, contains a notice stating that it is |
governed by this License along with a term that is a further |
restriction, you may remove that term. If a license document contains |
a further restriction but permits relicensing or conveying under this |
License, you may add to a covered work material governed by the terms |
of that license document, provided that the further restriction does |
not survive such relicensing or conveying. |
|
If you add terms to a covered work in accord with this section, you |
must place, in the relevant source files, a statement of the |
additional terms that apply to those files, or a notice indicating |
where to find the applicable terms. |
|
Additional terms, permissive or non-permissive, may be stated in the |
form of a separately written license, or stated as exceptions; |
the above requirements apply either way. |
|
8. Termination. |
|
You may not propagate or modify a covered work except as expressly |
provided under this License. Any attempt otherwise to propagate or |
modify it is void, and will automatically terminate your rights under |
this License (including any patent licenses granted under the third |
paragraph of section 11). |
|
However, if you cease all violation of this License, then your |
license from a particular copyright holder is reinstated (a) |
provisionally, unless and until the copyright holder explicitly and |
finally terminates your license, and (b) permanently, if the copyright |
holder fails to notify you of the violation by some reasonable means |
prior to 60 days after the cessation. |
|
Moreover, your license from a particular copyright holder is |
reinstated permanently if the copyright holder notifies you of the |
violation by some reasonable means, this is the first time you have |
received notice of violation of this License (for any work) from that |
copyright holder, and you cure the violation prior to 30 days after |
your receipt of the notice. |
|
Termination of your rights under this section does not terminate the |
licenses of parties who have received copies or rights from you under |
this License. If your rights have been terminated and not permanently |
reinstated, you do not qualify to receive new licenses for the same |
material under section 10. |
|
9. Acceptance Not Required for Having Copies. |
|
You are not required to accept this License in order to receive or |
run a copy of the Program. Ancillary propagation of a covered work |
occurring solely as a consequence of using peer-to-peer transmission |
to receive a copy likewise does not require acceptance. However, |
nothing other than this License grants you permission to propagate or |
modify any covered work. These actions infringe copyright if you do |
not accept this License. Therefore, by modifying or propagating a |
covered work, you indicate your acceptance of this License to do so. |
|
10. Automatic Licensing of Downstream Recipients. |
|
Each time you convey a covered work, the recipient automatically |
receives a license from the original licensors, to run, modify and |
propagate that work, subject to this License. You are not responsible |
for enforcing compliance by third parties with this License. |
|
An "entity transaction" is a transaction transferring control of an |
organization, or substantially all assets of one, or subdividing an |
organization, or merging organizations. If propagation of a covered |
work results from an entity transaction, each party to that |
transaction who receives a copy of the work also receives whatever |
licenses to the work the party's predecessor in interest had or could |
give under the previous paragraph, plus a right to possession of the |
Corresponding Source of the work from the predecessor in interest, if |
the predecessor has it or can get it with reasonable efforts. |
|
You may not impose any further restrictions on the exercise of the |
rights granted or affirmed under this License. For example, you may |
not impose a license fee, royalty, or other charge for exercise of |
rights granted under this License, and you may not initiate litigation |
(including a cross-claim or counterclaim in a lawsuit) alleging that |
any patent claim is infringed by making, using, selling, offering for |
sale, or importing the Program or any portion of it. |
|
11. Patents. |
|
A "contributor" is a copyright holder who authorizes use under this |
License of the Program or a work on which the Program is based. The |
work thus licensed is called the contributor's "contributor version". |
|
A contributor's "essential patent claims" are all patent claims |
owned or controlled by the contributor, whether already acquired or |
hereafter acquired, that would be infringed by some manner, permitted |
by this License, of making, using, or selling its contributor version, |
but do not include claims that would be infringed only as a |
consequence of further modification of the contributor version. For |
purposes of this definition, "control" includes the right to grant |
patent sublicenses in a manner consistent with the requirements of |
this License. |
|
Each contributor grants you a non-exclusive, worldwide, royalty-free |
patent license under the contributor's essential patent claims, to |
make, use, sell, offer for sale, import and otherwise run, modify and |
propagate the contents of its contributor version. |
|
In the following three paragraphs, a "patent license" is any express |
agreement or commitment, however denominated, not to enforce a patent |
(such as an express permission to practice a patent or covenant not to |
sue for patent infringement). To "grant" such a patent license to a |
party means to make such an agreement or commitment not to enforce a |
patent against the party. |
|
If you convey a covered work, knowingly relying on a patent license, |
and the Corresponding Source of the work is not available for anyone |
to copy, free of charge and under the terms of this License, through a |
publicly available network server or other readily accessible means, |
then you must either (1) cause the Corresponding Source to be so |
available, or (2) arrange to deprive yourself of the benefit of the |
patent license for this particular work, or (3) arrange, in a manner |
consistent with the requirements of this License, to extend the patent |
license to downstream recipients. "Knowingly relying" means you have |
actual knowledge that, but for the patent license, your conveying the |
covered work in a country, or your recipient's use of the covered work |
in a country, would infringe one or more identifiable patents in that |
country that you have reason to believe are valid. |
|
If, pursuant to or in connection with a single transaction or |
arrangement, you convey, or propagate by procuring conveyance of, a |
covered work, and grant a patent license to some of the parties |
receiving the covered work authorizing them to use, propagate, modify |
or convey a specific copy of the covered work, then the patent license |
you grant is automatically extended to all recipients of the covered |
work and works based on it. |
|
A patent license is "discriminatory" if it does not include within |
the scope of its coverage, prohibits the exercise of, or is |
conditioned on the non-exercise of one or more of the rights that are |
specifically granted under this License. You may not convey a covered |
work if you are a party to an arrangement with a third party that is |
in the business of distributing software, under which you make payment |
to the third party based on the extent of your activity of conveying |
the work, and under which the third party grants, to any of the |
parties who would receive the covered work from you, a discriminatory |
patent license (a) in connection with copies of the covered work |
conveyed by you (or copies made from those copies), or (b) primarily |
for and in connection with specific products or compilations that |
contain the covered work, unless you entered into that arrangement, |
or that patent license was granted, prior to 28 March 2007. |
|
Nothing in this License shall be construed as excluding or limiting |
any implied license or other defenses to infringement that may |
otherwise be available to you under applicable patent law. |
|
12. No Surrender of Others' Freedom. |
|
If conditions are imposed on you (whether by court order, agreement or |
otherwise) that contradict the conditions of this License, they do not |
excuse you from the conditions of this License. If you cannot convey a |
covered work so as to satisfy simultaneously your obligations under this |
License and any other pertinent obligations, then as a consequence you may |
not convey it at all. For example, if you agree to terms that obligate you |
to collect a royalty for further conveying from those to whom you convey |
the Program, the only way you could satisfy both those terms and this |
License would be to refrain entirely from conveying the Program. |
|
13. Use with the GNU Affero General Public License. |
|
Notwithstanding any other provision of this License, you have |
permission to link or combine any covered work with a work licensed |
under version 3 of the GNU Affero General Public License into a single |
combined work, and to convey the resulting work. The terms of this |
License will continue to apply to the part which is the covered work, |
but the special requirements of the GNU Affero General Public License, |
section 13, concerning interaction through a network will apply to the |
combination as such. |
|
14. Revised Versions of this License. |
|
The Free Software Foundation may publish revised and/or new versions of |
the GNU General Public License from time to time. Such new versions will |
be similar in spirit to the present version, but may differ in detail to |
address new problems or concerns. |
|
Each version is given a distinguishing version number. If the |
Program specifies that a certain numbered version of the GNU General |
Public License "or any later version" applies to it, you have the |
option of following the terms and conditions either of that numbered |
version or of any later version published by the Free Software |
Foundation. If the Program does not specify a version number of the |
GNU General Public License, you may choose any version ever published |
by the Free Software Foundation. |
|
If the Program specifies that a proxy can decide which future |
versions of the GNU General Public License can be used, that proxy's |
public statement of acceptance of a version permanently authorizes you |
to choose that version for the Program. |
|
Later license versions may give you additional or different |
permissions. However, no additional obligations are imposed on any |
author or copyright holder as a result of your choosing to follow a |
later version. |
|
15. Disclaimer of Warranty. |
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY |
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT |
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY |
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, |
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM |
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF |
ALL NECESSARY SERVICING, REPAIR OR CORRECTION. |
|
16. Limitation of Liability. |
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS |
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY |
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE |
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF |
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD |
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), |
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF |
SUCH DAMAGES. |
|
17. Interpretation of Sections 15 and 16. |
|
If the disclaimer of warranty and limitation of liability provided |
above cannot be given local legal effect according to their terms, |
reviewing courts shall apply local law that most closely approximates |
an absolute waiver of all civil liability in connection with the |
Program, unless a warranty or assumption of liability accompanies a |
copy of the Program in return for a fee. |
|
END OF TERMS AND CONDITIONS |
|
How to Apply These Terms to Your New Programs |
|
If you develop a new program, and you want it to be of the greatest |
possible use to the public, the best way to achieve this is to make it |
free software which everyone can redistribute and change under these terms. |
|
To do so, attach the following notices to the program. It is safest |
to attach them to the start of each source file to most effectively |
state the exclusion of warranty; and each file should have at least |
the "copyright" line and a pointer to where the full notice is found. |
|
<one line to give the program's name and a brief idea of what it does.> |
Copyright (C) <year> <name of author> |
|
This program is free software: you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
the Free Software Foundation, either version 3 of the License, or |
(at your option) any later version. |
|
This program is distributed in the hope that it will be useful, |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
GNU General Public License for more details. |
|
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
Also add information on how to contact you by electronic and paper mail. |
|
If the program does terminal interaction, make it output a short |
notice like this when it starts in an interactive mode: |
|
<program> Copyright (C) <year> <name of author> |
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
This is free software, and you are welcome to redistribute it |
under certain conditions; type `show c' for details. |
|
The hypothetical commands `show w' and `show c' should show the appropriate |
parts of the General Public License. Of course, your program's commands |
might be different; for a GUI interface, you would use an "about box". |
|
You should also get your employer (if you work as a programmer) or school, |
if any, to sign a "copyright disclaimer" for the program, if necessary. |
For more information on this, and how to apply and follow the GNU GPL, see |
<http://www.gnu.org/licenses/>. |
|
The GNU General Public License does not permit incorporating your program |
into proprietary programs. If your program is a subroutine library, you |
may consider it more useful to permit linking proprietary applications with |
the library. If this is what you want to do, use the GNU Lesser General |
Public License instead of this License. But first, please read |
<http://www.gnu.org/philosophy/why-not-lgpl.html>. |
/trunk/s3e_vga_char_dev_v1_00_a/hdl/verilog/user_logic.v
0,0 → 1,2488
`include "SVGA_DEFINES.v" |
|
//---------------------------------------------------------------------------- |
// user_logic.v - module |
//---------------------------------------------------------------------------- |
// |
// This program is free software: you can redistribute it and/or modify |
// it under the terms of the GNU General Public License as published by |
// the Free Software Foundation, either version 3 of the License, or |
// (at your option) any later version. |
// |
// This program is distributed in the hope that it will be useful, |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
// GNU General Public License for more details. |
// |
// You should have received a copy of the GNU General Public License |
// along with this program. If not, see <http://www.gnu.org/licenses/>. |
// |
//---------------------------------------------------------------------------- |
// Filename: user_logic.v |
// Version: 1.00.a |
// Description: User logic module. |
// Date: Wed Sep 12 16:22:49 2007 (by Create and Import Peripheral Wizard) |
// Verilog Standard: Verilog-2001 |
//---------------------------------------------------------------------------- |
// Naming Conventions: |
// active low signals: "*_n" |
// clock signals: "clk", "clk_div#", "clk_#x" |
// reset signals: "rst", "rst_n" |
// generics: "C_*" |
// user defined types: "*_TYPE" |
// state machine next state: "*_ns" |
// state machine current state: "*_cs" |
// combinatorial signals: "*_com" |
// pipelined or register delay signals: "*_d#" |
// counter signals: "*cnt*" |
// clock enable signals: "*_ce" |
// internal version of output port: "*_i" |
// device pins: "*_pin" |
// ports: "- Names begin with Uppercase" |
// processes: "*_PROCESS" |
// component instantiations: "<ENTITY_>I_<#|FUNC>" |
//---------------------------------------------------------------------------- |
|
module user_logic |
( |
// -- ADD USER PORTS BELOW THIS LINE --------------- |
// --USER ports added here |
fifty_clock_in, |
VGA_HSYNCH, |
VGA_VSYNCH, |
VGA_OUT_RED, |
VGA_OUT_GREEN, |
VGA_OUT_BLUE, |
// -- ADD USER PORTS ABOVE THIS LINE --------------- |
|
// -- DO NOT EDIT BELOW THIS LINE ------------------ |
// -- Bus protocol ports, do not add to or delete |
Bus2IP_Clk, // Bus to IP clock |
Bus2IP_Reset, // Bus to IP reset |
Bus2IP_Data, // Bus to IP data bus for user logic |
Bus2IP_BE, // Bus to IP byte enables for user logic |
Bus2IP_RdCE, // Bus to IP read chip enable for user logic |
Bus2IP_WrCE, // Bus to IP write chip enable for user logic |
IP2Bus_Data, // IP to Bus data bus for user logic |
IP2Bus_Ack, // IP to Bus acknowledgement |
IP2Bus_Retry, // IP to Bus retry response |
IP2Bus_Error, // IP to Bus error response |
IP2Bus_ToutSup // IP to Bus timeout suppress |
// -- DO NOT EDIT ABOVE THIS LINE ------------------ |
); // user_logic |
|
// -- ADD USER PARAMETERS BELOW THIS LINE ------------ |
// --USER parameters added here |
// -- ADD USER PARAMETERS ABOVE THIS LINE ------------ |
|
// -- DO NOT EDIT BELOW THIS LINE -------------------- |
// -- Bus protocol parameters, do not add to or delete |
parameter C_DWIDTH = 32; |
parameter C_NUM_CE = 2; |
// -- DO NOT EDIT ABOVE THIS LINE -------------------- |
|
// -- ADD USER PORTS BELOW THIS LINE ----------------- |
// --USER ports added here |
input fifty_clock_in; |
output VGA_HSYNCH; |
output VGA_VSYNCH; |
output VGA_OUT_RED; |
output VGA_OUT_GREEN; |
output VGA_OUT_BLUE; |
// -- ADD USER PORTS ABOVE THIS LINE ----------------- |
|
// -- DO NOT EDIT BELOW THIS LINE -------------------- |
// -- Bus protocol ports, do not add to or delete |
input Bus2IP_Clk; |
input Bus2IP_Reset; |
input [0 : C_DWIDTH-1] Bus2IP_Data; |
input [0 : C_DWIDTH/8-1] Bus2IP_BE; |
input [0 : C_NUM_CE-1] Bus2IP_RdCE; |
input [0 : C_NUM_CE-1] Bus2IP_WrCE; |
output [0 : C_DWIDTH-1] IP2Bus_Data; |
output IP2Bus_Ack; |
output IP2Bus_Retry; |
output IP2Bus_Error; |
output IP2Bus_ToutSup; |
// -- DO NOT EDIT ABOVE THIS LINE -------------------- |
|
//---------------------------------------------------------------------------- |
// Implementation |
//---------------------------------------------------------------------------- |
|
// --USER nets declarations added here, as needed for user logic |
|
// Nets for user logic slave model s/w accessible register example |
reg [0 : C_DWIDTH-1] slv_reg0; |
reg [0 : C_DWIDTH-1] slv_reg1; |
wire [0 : 1] slv_reg_write_select; |
wire [0 : 1] slv_reg_read_select; |
reg [0 : C_DWIDTH-1] slv_ip2bus_data; |
wire slv_read_ack; |
wire slv_write_ack; |
integer byte_index, bit_index; |
|
// --USER logic implementation added here |
|
// ------------------------------------------------------ |
// Example code to read/write user logic slave model s/w accessible registers |
// |
// Note: |
// The example code presented here is to show you one way of reading/writing |
// software accessible registers implemented in the user logic slave model. |
// Each bit of the Bus2IP_WrCE/Bus2IP_RdCE signals is configured to correspond |
// to one software accessible register by the top level template. For example, |
// if you have four 32 bit software accessible registers in the user logic, you |
// are basically operating on the following memory mapped registers: |
// |
// Bus2IP_WrCE or Memory Mapped |
// Bus2IP_RdCE Register |
// "1000" C_BASEADDR + 0x0 |
// "0100" C_BASEADDR + 0x4 |
// "0010" C_BASEADDR + 0x8 |
// "0001" C_BASEADDR + 0xC |
// |
// ------------------------------------------------------ |
|
assign |
slv_reg_write_select = Bus2IP_WrCE[0:1], |
slv_reg_read_select = Bus2IP_RdCE[0:1], |
slv_write_ack = Bus2IP_WrCE[0] || Bus2IP_WrCE[1], |
slv_read_ack = Bus2IP_RdCE[0] || Bus2IP_RdCE[1]; |
|
// implement slave model register(s) |
always @( posedge Bus2IP_Clk ) |
begin: SLAVE_REG_WRITE_PROC |
|
if ( Bus2IP_Reset == 1 ) |
begin |
slv_reg0 <= 0; |
slv_reg1 <= 0; |
end |
else |
case ( slv_reg_write_select ) |
2'b10 : |
for ( byte_index = 0; byte_index <= (C_DWIDTH/8)-1; byte_index = byte_index+1 ) |
if ( Bus2IP_BE[byte_index] == 1 ) |
for ( bit_index = byte_index*8; bit_index <= byte_index*8+7; bit_index = bit_index+1 ) |
slv_reg0[bit_index] <= Bus2IP_Data[bit_index]; |
2'b01 : |
for ( byte_index = 0; byte_index <= (C_DWIDTH/8)-1; byte_index = byte_index+1 ) |
if ( Bus2IP_BE[byte_index] == 1 ) |
for ( bit_index = byte_index*8; bit_index <= byte_index*8+7; bit_index = bit_index+1 ) |
slv_reg1[bit_index] <= Bus2IP_Data[bit_index]; |
default : ; |
endcase |
|
end // SLAVE_REG_WRITE_PROC |
|
// implement slave model register read mux |
always @( slv_reg_read_select or slv_reg0 or slv_reg1 ) |
begin: SLAVE_REG_READ_PROC |
|
case ( slv_reg_read_select ) |
2'b10 : slv_ip2bus_data <= slv_reg0; |
2'b01 : slv_ip2bus_data <= slv_reg1; |
default : slv_ip2bus_data <= 0; |
endcase |
|
end // SLAVE_REG_READ_PROC |
|
// ------------------------------------------------------------ |
// Example code to drive IP to Bus signals |
// ------------------------------------------------------------ |
|
assign IP2Bus_Data = slv_ip2bus_data; |
assign IP2Bus_Ack = slv_write_ack || slv_read_ack; |
assign IP2Bus_Error = 0; |
assign IP2Bus_Retry = 0; |
assign IP2Bus_ToutSup = 0; |
|
S3E_VGA_CHAR_DEVICE S3E_VGA_CHAR_DEVICE(.SYSTEM_CLOCK(fifty_clock_in), .VGA_HSYNCH(VGA_HSYNCH), |
.VGA_VSYNCH(VGA_VSYNCH), .VGA_OUT_RED(VGA_OUT_RED), .VGA_OUT_GREEN(VGA_OUT_GREEN), |
.VGA_OUT_BLUE(VGA_OUT_BLUE), .address(slv_reg0[0:13]), .character(slv_reg0[14:25]), .loadit(1)); |
|
endmodule |
|
//------------------------------------------------------------------------ |
|
module S3E_VGA_CHAR_DEVICE |
( |
SYSTEM_CLOCK, |
|
VGA_HSYNCH, |
VGA_VSYNCH, |
VGA_OUT_RED, |
VGA_OUT_GREEN, |
VGA_OUT_BLUE, |
|
address, |
character, |
loadit |
); |
|
input SYSTEM_CLOCK; // 100MHz LVTTL SYSTEM CLOCK |
|
output VGA_HSYNCH; // horizontal sync for the VGA output connector |
output VGA_VSYNCH; // vertical sync for the VGA output connector |
output VGA_OUT_RED; // RED DAC data |
output VGA_OUT_GREEN; // GREEN DAC data |
output VGA_OUT_BLUE; // BLUE DAC data |
|
input [13:0] address; |
input [11:0] character; |
input loadit; |
|
wire system_clock_buffered; // buffered SYSTEM CLOCK |
wire pixel_clock; // generated from SYSTEM CLOCK |
wire reset; // reset asserted when DCMs are NOT LOCKED |
|
wire vga_red_data; // red video data |
wire vga_green_data; // green video data |
wire vga_blue_data; // blue video data |
|
// internal video timing signals |
wire h_synch; // horizontal synch for VGA connector |
wire v_synch; // vertical synch for VGA connector |
wire blank; // composite blanking |
wire [10:0] pixel_count; // bit mapped pixel position within the line |
wire [9:0] line_count; // bit mapped line number in a frame lines within the frame |
wire [2:0] subchar_pixel; // pixel position within the character |
wire [2:0] subchar_line; // identifies the line number within a character block |
wire [6:0] char_column; // character number on the current line |
wire [6:0] char_line; // line number on the screen |
|
// instantiate the character generator |
CHAR_DISPLAY CHAR_DISPLAY |
( |
char_column, |
char_line, |
subchar_line, |
subchar_pixel, |
pixel_clock, |
reset, |
vga_red_data, |
vga_green_data, |
vga_blue_data, |
address, |
character, |
loadit |
); |
|
// instantiate the clock generation module |
CLOCK_GEN CLOCK_GEN |
( |
SYSTEM_CLOCK, |
system_clock_buffered, |
pixel_clock, |
reset |
); |
|
// instantiate the video timing generator |
SVGA_TIMING_GENERATION SVGA_TIMING_GENERATION |
( |
pixel_clock, |
reset, |
h_synch, |
v_synch, |
blank, |
pixel_count, |
line_count, |
subchar_pixel, |
subchar_line, |
char_column, |
char_line |
); |
|
// instantiate the video output mux |
VIDEO_OUT VIDEO_OUT |
( |
pixel_clock, |
reset, |
vga_red_data, |
vga_green_data, |
vga_blue_data, |
h_synch, |
v_synch, |
blank, |
|
VGA_HSYNCH, |
VGA_VSYNCH, |
VGA_OUT_RED, |
VGA_OUT_GREEN, |
VGA_OUT_BLUE |
); |
|
endmodule // MAIN |
|
//--------------------------------------------------------- |
|
module CHAR_DISPLAY |
( |
char_column, |
char_line, |
subchar_line, |
subchar_pixel, |
pixel_clock, |
reset, |
vga_red_data, |
vga_green_data, |
vga_blue_data, |
address, |
character, |
loadit |
); |
|
input [6:0] char_column; // character number on the current line |
input [6:0] char_line; // line number on the screen |
input [2:0] subchar_line; // the line number within a character block 0-8 |
input [2:0] subchar_pixel; // the pixel number within a character block 0-8 |
input pixel_clock; |
input reset; |
output vga_red_data; |
output vga_green_data; |
output vga_blue_data; |
|
input [13:0] address; |
input [11:0] character; |
input loadit; |
|
//// Label Definitions //// |
|
// Note: all labels must match their defined length--shorter labels will be padded with solid blocks, |
// and longer labels will be truncated |
|
wire write_enable; // character memory is written to on a clock rise when high |
assign write_enable = loadit; |
|
// The character write address |
reg [13:0] char_addr; |
|
//wire [13:0] my_char_read_addr = {char_line[6:0], char_column[6:0]}; |
//wire [13:0] my_char_read_addr = {char_line[6:0], char_column[5:0]}; |
wire [13:0] my_char_read_addr = (char_line[6:0] * 75) + char_column[6:0]; |
|
wire pixel_on; // high => output foreground color, low => output background color |
reg [13:0] char_write_data; // the data that will be written to character memory at the clock rise |
reg char_addr_is_0; |
|
reg [3:0] hex; // the 4 bit value to be converted into ASCII |
wire [7:0] ascii; // the result of the conversion to ASCII |
integer i, ii; // iterators |
|
wire fore_red; |
wire fore_green; |
wire fore_blue; |
wire back_red; |
wire back_green; |
wire back_blue; |
|
// write the appropriate character data to memory |
always @ (char_line or char_column) begin |
char_write_data <= character; |
char_addr <= address[13:0]; |
end |
|
|
wire background_red; // the red component of the background color |
wire background_green; // the green component of the background color |
wire background_blue; // the blue component of the background color |
wire foreground_red; // the red component of the foreground color |
wire foreground_green; // the green component of the foreground color |
wire foreground_blue; // the blue component of the foreground color |
|
// use the result of the character generator module to choose between the foreground and background color |
assign vga_red_data = (pixel_on) ? foreground_red : background_red; |
assign vga_green_data = (pixel_on) ? foreground_green : background_green; |
assign vga_blue_data = (pixel_on) ? foreground_blue : background_blue; |
|
assign foreground_red = (back_red) ? 0 : fore_red; // If the invert signal is 1, then foreground is 0 |
assign foreground_green = (back_red) ? 0 : fore_green; |
assign foreground_blue = (back_red) ? 0 : fore_blue; |
|
assign background_red = (back_red) ? fore_red : 0; // If invert is 1, then the background is the values passed |
assign background_green = (back_red) ? fore_green : 0; |
assign background_blue = (back_red) ? fore_blue : 0; |
|
// the character generator block includes the character RAM |
// and the character generator ROM |
CHAR_GEN CHAR_GEN |
( |
reset, // reset signal |
char_addr, // write address |
char_write_data, // write data |
write_enable, // write enable |
pixel_clock, // write clock |
my_char_read_addr,// read address of current character |
subchar_line, // current line of pixels within current character |
subchar_pixel, // current column of pixels withing current character |
pixel_clock, // read clock |
pixel_on, // read data |
fore_red, |
fore_green, |
fore_blue, |
back_red, |
back_green, |
back_blue |
); |
|
endmodule //CHAR_DISPLAY |
|
//------------------------------------------------------- |
|
module CHAR_GEN( |
// control |
reset, |
// write side |
char_write_addr, |
char_write_data, |
char_write_enable, |
char_write_clock, |
// read side |
char_address, |
subchar_line, |
subchar_pixel, |
pixel_clock, |
pixel_on, |
|
fore_red, |
fore_green, |
fore_blue, |
back_red, |
back_green, |
back_blue |
); |
|
input pixel_clock; |
input reset; |
input [2:0] subchar_line; // line number within 8 line block |
input [13:0] char_address; // character address "0" is upper left character |
input [2:0] subchar_pixel; // pixel position within 8 pixel block |
input [13:0] char_write_addr; |
input [11:0] char_write_data; |
input char_write_enable; |
input char_write_clock; |
output pixel_on; |
|
output fore_red; |
output fore_green; |
output fore_blue; |
output back_red; |
output back_green; |
output back_blue; |
|
reg latch_data; |
reg latch_low_data; |
reg shift_high; |
reg shift_low; |
reg [3:0] latched_low_char_data; |
reg [7:0] latched_char_data; |
reg pixel_on; |
|
wire [11:0] ascii_code; |
wire [10:0] chargen_rom_address = {ascii_code[7:0], subchar_line[2:0]}; |
wire [7:0] char_gen_rom_data; |
|
// instantiate the CHARACTER RAM |
CHAR_RAM CHAR_RAM |
( |
char_write_clock, |
char_write_enable, |
char_write_addr, |
char_write_data, |
|
pixel_clock, |
char_address, |
ascii_code |
); |
|
//assign back_red = ascii_code[10]; |
//assign back_green = ascii_code[9]; |
//assign back_blue = ascii_code[8]; |
|
//assign back_red = 0; |
assign back_green = 0; |
assign back_blue = 0; |
|
assign fore_red = ascii_code[8]; |
assign fore_green = ascii_code[9]; |
assign fore_blue = ascii_code[10]; |
assign back_red = ascii_code[11]; |
|
// instantiate the character generator ROM |
CHAR_GEN_ROM CHAR_GEN_ROM |
( |
pixel_clock, |
chargen_rom_address, |
char_gen_rom_data |
); |
|
// LATCH THE CHARTACTER DATA FROM THE CHAR GEN ROM AND CREATE A SERIAL CHAR DATA STREAM |
always @ (posedge pixel_clock or posedge reset)begin |
if (reset) begin |
latch_data <= 1'b0; |
end |
else if (subchar_pixel == 3'b110) begin |
latch_data <= 1'b1; |
end |
else if (subchar_pixel == 3'b111) begin |
latch_data <= 1'b0; |
end |
end |
|
always @ (posedge pixel_clock or posedge reset)begin |
if (reset) begin |
latch_low_data <= 1'b0; |
end |
else if (subchar_pixel == 3'b010) begin |
latch_low_data <= 1'b1; |
end |
else if (subchar_pixel == 3'b011) begin |
latch_low_data <= 1'b0; |
end |
end |
|
always @ (posedge pixel_clock or posedge reset)begin |
if (reset) begin |
shift_high <= 1'b1; |
end |
else if (subchar_pixel == 3'b011) begin |
shift_high <= 1'b0; |
end |
else if (subchar_pixel == 3'b111) begin |
shift_high <= 1'b1; |
end |
end |
|
always @ (posedge pixel_clock or posedge reset)begin |
if (reset) begin |
shift_low <= 1'b0; |
end |
else if (subchar_pixel == 3'b011) begin |
shift_low <= 1'b1; |
end |
else if (subchar_pixel == 3'b111) begin |
shift_low <= 1'b0; |
end |
end |
|
// serialize the CHARACTER MODE data |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
begin |
pixel_on = 1'b0; |
latched_low_char_data = 4'h0; |
latched_char_data = 8'h00; |
end |
|
else if (shift_high) |
begin |
pixel_on = latched_char_data [7]; |
latched_char_data [7] = latched_char_data [6]; |
latched_char_data [6] = latched_char_data [5]; |
latched_char_data [5] = latched_char_data [4]; |
latched_char_data [4] = latched_char_data [7]; |
if(latch_low_data) begin |
latched_low_char_data [3:0] = latched_char_data [3:0]; |
end |
else begin |
latched_low_char_data [3:0] = latched_low_char_data [3:0]; |
end |
end |
|
else if (shift_low) |
begin |
pixel_on = latched_low_char_data [3]; |
latched_low_char_data [3] = latched_low_char_data [2]; |
latched_low_char_data [2] = latched_low_char_data [1]; |
latched_low_char_data [1] = latched_low_char_data [0]; |
latched_low_char_data [0] = latched_low_char_data [3]; |
if (latch_data) begin |
latched_char_data [7:0] = char_gen_rom_data[7:0]; |
end |
else begin |
latched_char_data [7:0] = latched_char_data [7:0]; |
end |
end |
else |
begin |
latched_low_char_data [3:0] = latched_low_char_data [3:0]; |
latched_char_data [7:0] = latched_char_data [7:0]; |
pixel_on = pixel_on; |
end |
end |
|
endmodule //CHAR_GEN |
|
//-------------------------------------------------------------- |
|
/* |
------------------------------------------- |
Code 00h defines a solid block |
Codes 01h-04h define block graphics |
Codes 05h-1Fh define line graphics |
Codes 20h-7Eh define the ASCII characters |
Code 7Fh defines a hash pattern |
Codes 80h-FFh user defined characters |
------------------------------------------- |
*/ |
|
module CHAR_GEN_ROM |
( |
pixel_clock, |
address, |
data |
); |
|
input pixel_clock; |
input [10:0] address; |
output reg [7:0] data; |
|
always @(posedge pixel_clock) begin |
case(address) |
|
//// Solid Block //// |
|
// 00h: solid block |
11'h000: data <= 8'hFF; |
11'h001: data <= 8'hFF; |
11'h002: data <= 8'hFF; |
11'h003: data <= 8'hFF; |
11'h004: data <= 8'hFF; |
11'h005: data <= 8'hFF; |
11'h006: data <= 8'hFF; |
11'h007: data <= 8'hFF; |
|
//// Block graphics //// |
|
// 01h: Left block up, right block down |
11'h008: data <= 8'hF0; |
11'h009: data <= 8'hF0; |
11'h00A: data <= 8'hF0; |
11'h00B: data <= 8'hF0; |
11'h00C: data <= 8'h0F; |
11'h00D: data <= 8'h0F; |
11'h00E: data <= 8'h0F; |
11'h00F: data <= 8'h0F; |
// 02h: Left block down, right block up |
11'h010: data <= 8'h0F; |
11'h011: data <= 8'h0F; |
11'h012: data <= 8'h0F; |
11'h013: data <= 8'h0F; |
11'h014: data <= 8'hF0; |
11'h015: data <= 8'hF0; |
11'h016: data <= 8'hF0; |
11'h017: data <= 8'hF0; |
// 03h: Both blocks down |
11'h018: data <= 8'h00; |
11'h019: data <= 8'h00; |
11'h01A: data <= 8'h00; |
11'h01B: data <= 8'h00; |
11'h01C: data <= 8'hFF; |
11'h01D: data <= 8'hFF; |
11'h01E: data <= 8'hFF; |
11'h01F: data <= 8'hFF; |
// 04h: Both blocks up |
11'h020: data <= 8'hFF; |
11'h021: data <= 8'hFF; |
11'h022: data <= 8'hFF; |
11'h023: data <= 8'hFF; |
11'h024: data <= 8'h00; |
11'h025: data <= 8'h00; |
11'h026: data <= 8'h00; |
11'h027: data <= 8'h00; |
|
//// Line Graphics //// |
|
// 05h: corner upper left |
11'h028: data <= 8'hFF; |
11'h029: data <= 8'h80; |
11'h02A: data <= 8'h80; |
11'h02B: data <= 8'h80; |
11'h02C: data <= 8'h80; |
11'h02D: data <= 8'h80; |
11'h02E: data <= 8'h80; |
11'h02F: data <= 8'h80; |
// 06h: corner upper right |
11'h030: data <= 8'hFF; |
11'h031: data <= 8'h01; |
11'h032: data <= 8'h01; |
11'h033: data <= 8'h01; |
11'h034: data <= 8'h01; |
11'h035: data <= 8'h01; |
11'h036: data <= 8'h01; |
11'h037: data <= 8'h01; |
// 07h: corner lower left |
11'h038: data <= 8'h80; |
11'h039: data <= 8'h80; |
11'h03A: data <= 8'h80; |
11'h03B: data <= 8'h80; |
11'h03C: data <= 8'h80; |
11'h03D: data <= 8'h80; |
11'h03E: data <= 8'h80; |
11'h03F: data <= 8'hFF; |
// 08h: corner lower right |
11'h040: data <= 8'h01; |
11'h041: data <= 8'h01; |
11'h042: data <= 8'h01; |
11'h043: data <= 8'h01; |
11'h044: data <= 8'h01; |
11'h045: data <= 8'h01; |
11'h046: data <= 8'h01; |
11'h047: data <= 8'hFF; |
// 09h: cross junction |
11'h048: data <= 8'h10; |
11'h049: data <= 8'h10; |
11'h04A: data <= 8'h10; |
11'h04B: data <= 8'hFF; |
11'h04C: data <= 8'h10; |
11'h04D: data <= 8'h10; |
11'h04E: data <= 8'h10; |
11'h04F: data <= 8'h10; |
// 0Ah: "T" junction |
11'h050: data <= 8'hFF; |
11'h051: data <= 8'h10; |
11'h052: data <= 8'h10; |
11'h053: data <= 8'h10; |
11'h054: data <= 8'h10; |
11'h055: data <= 8'h10; |
11'h056: data <= 8'h10; |
11'h057: data <= 8'h10; |
// 0Bh: "T" juntion rotated 90 clockwise |
11'h058: data <= 8'h01; |
11'h059: data <= 8'h01; |
11'h05A: data <= 8'h01; |
11'h05B: data <= 8'hFF; |
11'h05C: data <= 8'h01; |
11'h05D: data <= 8'h01; |
11'h05E: data <= 8'h01; |
11'h05F: data <= 8'h01; |
// 0Ch: "T" juntion rotated 180 |
11'h060: data <= 8'h10; |
11'h061: data <= 8'h10; |
11'h062: data <= 8'h10; |
11'h063: data <= 8'h10; |
11'h064: data <= 8'h10; |
11'h065: data <= 8'h10; |
11'h066: data <= 8'h10; |
11'h067: data <= 8'hFF; |
// 0Dh: "T" junction rotated 270 clockwise |
11'h068: data <= 8'h80; |
11'h069: data <= 8'h80; |
11'h06A: data <= 8'h80; |
11'h06B: data <= 8'hFF; |
11'h06C: data <= 8'h80; |
11'h06D: data <= 8'h80; |
11'h06E: data <= 8'h80; |
11'h06F: data <= 8'h80; |
// 0Eh: arrow pointing right |
11'h070: data <= 8'h08; |
11'h071: data <= 8'h04; |
11'h072: data <= 8'h02; |
11'h073: data <= 8'hFF; |
11'h074: data <= 8'h02; |
11'h075: data <= 8'h04; |
11'h076: data <= 8'h08; |
11'h077: data <= 8'h00; |
// 0Fh: arrow pointing left |
11'h078: data <= 8'h10; |
11'h079: data <= 8'h20; |
11'h07A: data <= 8'h40; |
11'h07B: data <= 8'hFF; |
11'h07C: data <= 8'h40; |
11'h07D: data <= 8'h20; |
11'h07E: data <= 8'h10; |
11'h07F: data <= 8'h00; |
// 10h: first (top) horizontal line |
11'h080: data <= 8'hFF; |
11'h081: data <= 8'h00; |
11'h082: data <= 8'h00; |
11'h083: data <= 8'h00; |
11'h084: data <= 8'h00; |
11'h085: data <= 8'h00; |
11'h086: data <= 8'h00; |
11'h087: data <= 8'h00; |
// 11h: second horizontal line |
11'h088: data <= 8'h00; |
11'h089: data <= 8'hFF; |
11'h08A: data <= 8'h00; |
11'h08B: data <= 8'h00; |
11'h08C: data <= 8'h00; |
11'h08D: data <= 8'h00; |
11'h08E: data <= 8'h00; |
11'h08F: data <= 8'h00; |
// 12h: third horizontal line |
11'h090: data <= 8'h00; |
11'h091: data <= 8'h00; |
11'h092: data <= 8'hFF; |
11'h093: data <= 8'h00; |
11'h094: data <= 8'h00; |
11'h095: data <= 8'h00; |
11'h096: data <= 8'h00; |
11'h097: data <= 8'h00; |
// 13h: fourth horizontal line |
11'h098: data <= 8'h00; |
11'h099: data <= 8'h00; |
11'h09A: data <= 8'h00; |
11'h09B: data <= 8'hFF; |
11'h09C: data <= 8'h00; |
11'h09D: data <= 8'h00; |
11'h09E: data <= 8'h00; |
11'h09F: data <= 8'h00; |
// 14h: fifth horizontal line |
11'h0A0: data <= 8'h00; |
11'h0A1: data <= 8'h00; |
11'h0A2: data <= 8'h00; |
11'h0A3: data <= 8'h00; |
11'h0A4: data <= 8'hFF; |
11'h0A5: data <= 8'h00; |
11'h0A6: data <= 8'h00; |
// 15h: sixth horizontal line |
11'h0A7: data <= 8'h00; |
11'h0A8: data <= 8'h00; |
11'h0A9: data <= 8'h00; |
11'h0AA: data <= 8'h00; |
11'h0AB: data <= 8'h00; |
11'h0AC: data <= 8'h00; |
11'h0AD: data <= 8'hFF; |
11'h0AE: data <= 8'h00; |
11'h0AF: data <= 8'h00; |
// 16h: seventh horizontal line |
11'h0B0: data <= 8'h00; |
11'h0B1: data <= 8'h00; |
11'h0B2: data <= 8'h00; |
11'h0B3: data <= 8'h00; |
11'h0B4: data <= 8'h00; |
11'h0B5: data <= 8'h00; |
11'h0B6: data <= 8'hFF; |
11'h0B7: data <= 8'h00; |
// 17h: eighth (bottom) horizontal line |
11'h0B8: data <= 8'h00; |
11'h0B9: data <= 8'h00; |
11'h0BA: data <= 8'h00; |
11'h0BB: data <= 8'h00; |
11'h0BC: data <= 8'h00; |
11'h0BD: data <= 8'h00; |
11'h0BE: data <= 8'h00; |
11'h0BF: data <= 8'hFF; |
// 18h: first (left) vertical line |
11'h0C0: data <= 8'h80; |
11'h0C1: data <= 8'h80; |
11'h0C2: data <= 8'h80; |
11'h0C3: data <= 8'h80; |
11'h0C4: data <= 8'h80; |
11'h0C5: data <= 8'h80; |
11'h0C6: data <= 8'h80; |
11'h0C7: data <= 8'h80; |
// 19h: second vertical line |
11'h0C8: data <= 8'h40; |
11'h0C9: data <= 8'h40; |
11'h0CA: data <= 8'h40; |
11'h0CB: data <= 8'h40; |
11'h0CC: data <= 8'h40; |
11'h0CD: data <= 8'h40; |
11'h0CE: data <= 8'h40; |
11'h0CF: data <= 8'h40; |
// 1Ah: third vertical line |
11'h0D0: data <= 8'h20; |
11'h0D1: data <= 8'h20; |
11'h0D2: data <= 8'h20; |
11'h0D3: data <= 8'h20; |
11'h0D4: data <= 8'h20; |
11'h0D5: data <= 8'h20; |
11'h0D6: data <= 8'h20; |
11'h0D7: data <= 8'h20; |
// 1Bh: fourth vertical line |
11'h0D8: data <= 8'h10; |
11'h0D9: data <= 8'h10; |
11'h0DA: data <= 8'h10; |
11'h0DB: data <= 8'h10; |
11'h0DC: data <= 8'h10; |
11'h0DD: data <= 8'h10; |
11'h0DE: data <= 8'h10; |
11'h0DF: data <= 8'h10; |
// 1Ch: fifth vertical line |
11'h0E0: data <= 8'h08; |
11'h0E1: data <= 8'h08; |
11'h0E2: data <= 8'h08; |
11'h0E3: data <= 8'h08; |
11'h0E4: data <= 8'h08; |
11'h0E5: data <= 8'h08; |
11'h0E6: data <= 8'h08; |
11'h0E7: data <= 8'h08; |
// 1Dh: sixth vertical line |
11'h0E8: data <= 8'h04; |
11'h0E9: data <= 8'h04; |
11'h0EA: data <= 8'h04; |
11'h0EB: data <= 8'h04; |
11'h0EC: data <= 8'h04; |
11'h0ED: data <= 8'h04; |
11'h0EE: data <= 8'h04; |
11'h0EF: data <= 8'h04; |
// 1Eh: seventh vertical line |
11'h0F0: data <= 8'h02; |
11'h0F1: data <= 8'h02; |
11'h0F2: data <= 8'h02; |
11'h0F3: data <= 8'h02; |
11'h0F4: data <= 8'h02; |
11'h0F5: data <= 8'h02; |
11'h0F6: data <= 8'h02; |
11'h0F7: data <= 8'h02; |
// 1Fh: eighth (right) vertical line |
11'h0F8: data <= 8'h01; |
11'h0F9: data <= 8'h01; |
11'h0FA: data <= 8'h01; |
11'h0FB: data <= 8'h01; |
11'h0FC: data <= 8'h01; |
11'h0FD: data <= 8'h01; |
11'h0FE: data <= 8'h01; |
11'h0FF: data <= 8'h01; |
|
//// ASCII Characters //// |
|
// 20h: space |
11'h100: data <= 8'h00; |
11'h101: data <= 8'h00; |
11'h102: data <= 8'h00; |
11'h103: data <= 8'h00; |
11'h104: data <= 8'h00; |
11'h105: data <= 8'h00; |
11'h106: data <= 8'h00; |
11'h107: data <= 8'h00; |
// 21h: ! |
11'h108: data <= 8'h10; |
11'h109: data <= 8'h10; |
11'h10A: data <= 8'h10; |
11'h10B: data <= 8'h10; |
11'h10C: data <= 8'h00; |
11'h10D: data <= 8'h00; |
11'h10E: data <= 8'h10; |
11'h10F: data <= 8'h00; |
// 22h: " |
11'h110: data <= 8'h28; |
11'h111: data <= 8'h28; |
11'h112: data <= 8'h28; |
11'h113: data <= 8'h00; |
11'h114: data <= 8'h00; |
11'h115: data <= 8'h00; |
11'h116: data <= 8'h00; |
11'h117: data <= 8'h00; |
// 23h: # |
11'h118: data <= 8'h28; |
11'h119: data <= 8'h28; |
11'h11A: data <= 8'h7C; |
11'h11B: data <= 8'h28; |
11'h11C: data <= 8'h7C; |
11'h11D: data <= 8'h28; |
11'h11E: data <= 8'h28; |
11'h11F: data <= 8'h00; |
// 24h: $ |
11'h120: data <= 8'h10; |
11'h121: data <= 8'h3C; |
11'h122: data <= 8'h50; |
11'h123: data <= 8'h38; |
11'h124: data <= 8'h14; |
11'h125: data <= 8'h78; |
11'h126: data <= 8'h10; |
11'h127: data <= 8'h00; |
// 25h: % |
11'h128: data <= 8'h60; |
11'h129: data <= 8'h64; |
11'h12A: data <= 8'h08; |
11'h12B: data <= 8'h10; |
11'h12C: data <= 8'h20; |
11'h12D: data <= 8'h46; |
11'h12E: data <= 8'h06; |
11'h12F: data <= 8'h00; |
// 26h: & |
11'h130: data <= 8'h30; |
11'h131: data <= 8'h48; |
11'h132: data <= 8'h50; |
11'h133: data <= 8'h20; |
11'h134: data <= 8'h54; |
11'h135: data <= 8'h48; |
11'h136: data <= 8'h34; |
11'h137: data <= 8'h00; |
// 27h: ' |
11'h138: data <= 8'h30; |
11'h139: data <= 8'h10; |
11'h13A: data <= 8'h20; |
11'h13B: data <= 8'h00; |
11'h13C: data <= 8'h00; |
11'h13D: data <= 8'h00; |
11'h13E: data <= 8'h00; |
11'h13F: data <= 8'h00; |
// 28h: ( |
11'h140: data <= 8'h08; |
11'h141: data <= 8'h10; |
11'h142: data <= 8'h20; |
11'h143: data <= 8'h20; |
11'h144: data <= 8'h20; |
11'h145: data <= 8'h10; |
11'h146: data <= 8'h08; |
11'h147: data <= 8'h00; |
// 29h: ) |
11'h148: data <= 8'h20; |
11'h149: data <= 8'h10; |
11'h14A: data <= 8'h08; |
11'h14B: data <= 8'h08; |
11'h14C: data <= 8'h08; |
11'h14D: data <= 8'h10; |
11'h14E: data <= 8'h20; |
11'h14F: data <= 8'h00; |
// 2Ah: * |
11'h150: data <= 8'h00; |
11'h151: data <= 8'h10; |
11'h152: data <= 8'h54; |
11'h153: data <= 8'h38; |
11'h154: data <= 8'h54; |
11'h155: data <= 8'h10; |
11'h156: data <= 8'h00; |
11'h157: data <= 8'h00; |
// 2Bh: + |
11'h158: data <= 8'h00; |
11'h159: data <= 8'h10; |
11'h15A: data <= 8'h10; |
11'h15B: data <= 8'h7C; |
11'h15C: data <= 8'h10; |
11'h15D: data <= 8'h10; |
11'h15E: data <= 8'h00; |
11'h15F: data <= 8'h00; |
// 2Ch: , |
11'h160: data <= 8'h00; |
11'h161: data <= 8'h00; |
11'h162: data <= 8'h00; |
11'h163: data <= 8'h00; |
11'h164: data <= 8'h00; |
11'h165: data <= 8'h30; |
11'h166: data <= 8'h10; |
11'h167: data <= 8'h20; |
// 2Dh: - |
11'h168: data <= 8'h00; |
11'h169: data <= 8'h00; |
11'h16A: data <= 8'h00; |
11'h16B: data <= 8'h7C; |
11'h16C: data <= 8'h00; |
11'h16D: data <= 8'h00; |
11'h16E: data <= 8'h00; |
11'h16F: data <= 8'h00; |
// 2Eh: . |
11'h170: data <= 8'h00; |
11'h171: data <= 8'h00; |
11'h172: data <= 8'h00; |
11'h173: data <= 8'h00; |
11'h174: data <= 8'h00; |
11'h175: data <= 8'h30; |
11'h176: data <= 8'h30; |
11'h177: data <= 8'h00; |
// 2Fh: / |
11'h178: data <= 8'h00; |
11'h179: data <= 8'h04; |
11'h17A: data <= 8'h08; |
11'h17B: data <= 8'h10; |
11'h17C: data <= 8'h20; |
11'h17D: data <= 8'h40; |
11'h17E: data <= 8'h00; |
11'h17F: data <= 8'h00; |
// 30h: 0 |
11'h180: data <= 8'h38; |
11'h181: data <= 8'h44; |
11'h182: data <= 8'h4C; |
11'h183: data <= 8'h54; |
11'h184: data <= 8'h64; |
11'h185: data <= 8'h44; |
11'h186: data <= 8'h38; |
11'h187: data <= 8'h00; |
// 31h: 1 |
11'h188: data <= 8'h10; |
11'h189: data <= 8'h30; |
11'h18A: data <= 8'h10; |
11'h18B: data <= 8'h10; |
11'h18C: data <= 8'h10; |
11'h18D: data <= 8'h10; |
11'h18E: data <= 8'h38; |
11'h18F: data <= 8'h00; |
// 32h: 2 |
11'h190: data <= 8'h38; |
11'h191: data <= 8'h44; |
11'h192: data <= 8'h04; |
11'h193: data <= 8'h08; |
11'h194: data <= 8'h10; |
11'h195: data <= 8'h20; |
11'h196: data <= 8'h7C; |
11'h197: data <= 8'h00; |
// 33h: 3 |
11'h198: data <= 8'h7C; |
11'h199: data <= 8'h08; |
11'h19A: data <= 8'h10; |
11'h19B: data <= 8'h08; |
11'h19C: data <= 8'h04; |
11'h19D: data <= 8'h44; |
11'h19E: data <= 8'h38; |
11'h19F: data <= 8'h00; |
// 34h: 4 |
11'h1A0: data <= 8'h08; |
11'h1A1: data <= 8'h18; |
11'h1A2: data <= 8'h28; |
11'h1A3: data <= 8'h48; |
11'h1A4: data <= 8'h7C; |
11'h1A5: data <= 8'h08; |
11'h1A6: data <= 8'h08; |
11'h1A7: data <= 8'h00; |
// 35h: 5 |
11'h1A8: data <= 8'h7C; |
11'h1A9: data <= 8'h40; |
11'h1AA: data <= 8'h78; |
11'h1AB: data <= 8'h04; |
11'h1AC: data <= 8'h04; |
11'h1AD: data <= 8'h44; |
11'h1AE: data <= 8'h38; |
11'h1AF: data <= 8'h00; |
// 36h: 6 |
11'h1B0: data <= 8'h18; |
11'h1B1: data <= 8'h20; |
11'h1B2: data <= 8'h40; |
11'h1B3: data <= 8'h78; |
11'h1B4: data <= 8'h44; |
11'h1B5: data <= 8'h44; |
11'h1B6: data <= 8'h38; |
11'h1B7: data <= 8'h00; |
// 37h: 7 |
11'h1B8: data <= 8'h7C; |
11'h1B9: data <= 8'h04; |
11'h1BA: data <= 8'h08; |
11'h1BB: data <= 8'h10; |
11'h1BC: data <= 8'h20; |
11'h1BD: data <= 8'h20; |
11'h1BE: data <= 8'h20; |
11'h1BF: data <= 8'h00; |
// 38h: 8 |
11'h1C0: data <= 8'h38; |
11'h1C1: data <= 8'h44; |
11'h1C2: data <= 8'h44; |
11'h1C3: data <= 8'h38; |
11'h1C4: data <= 8'h44; |
11'h1C5: data <= 8'h44; |
11'h1C6: data <= 8'h38; |
11'h1C7: data <= 8'h00; |
// 39h: 9 |
11'h1C8: data <= 8'h38; |
11'h1C9: data <= 8'h44; |
11'h1CA: data <= 8'h44; |
11'h1CB: data <= 8'h3C; |
11'h1CC: data <= 8'h04; |
11'h1CD: data <= 8'h08; |
11'h1CE: data <= 8'h30; |
11'h1CF: data <= 8'h00; |
// 3Ah: : |
11'h1D0: data <= 8'h00; |
11'h1D1: data <= 8'h30; |
11'h1D2: data <= 8'h30; |
11'h1D3: data <= 8'h00; |
11'h1D4: data <= 8'h00; |
11'h1D5: data <= 8'h30; |
11'h1D6: data <= 8'h30; |
11'h1D7: data <= 8'h00; |
// 3Bh: ; |
11'h1D8: data <= 8'h00; |
11'h1D9: data <= 8'h30; |
11'h1DA: data <= 8'h30; |
11'h1DB: data <= 8'h00; |
11'h1DC: data <= 8'h00; |
11'h1DD: data <= 8'h30; |
11'h1DE: data <= 8'h10; |
11'h1DF: data <= 8'h20; |
// 3Ch: < |
11'h1E0: data <= 8'h08; |
11'h1E1: data <= 8'h10; |
11'h1E2: data <= 8'h20; |
11'h1E3: data <= 8'h40; |
11'h1E4: data <= 8'h20; |
11'h1E5: data <= 8'h10; |
11'h1E6: data <= 8'h08; |
11'h1E7: data <= 8'h00; |
// 3Dh: = |
11'h1E8: data <= 8'h00; |
11'h1E9: data <= 8'h00; |
11'h1EA: data <= 8'h7C; |
11'h1EB: data <= 8'h00; |
11'h1EC: data <= 8'h7C; |
11'h1ED: data <= 8'h00; |
11'h1EE: data <= 8'h00; |
11'h1EF: data <= 8'h00; |
// 3Eh: > |
11'h1F0: data <= 8'h20; |
11'h1F1: data <= 8'h10; |
11'h1F2: data <= 8'h08; |
11'h1F3: data <= 8'h04; |
11'h1F4: data <= 8'h08; |
11'h1F5: data <= 8'h10; |
11'h1F6: data <= 8'h20; |
11'h1F7: data <= 8'h00; |
// 3Fh: ? |
11'h1F8: data <= 8'h38; |
11'h1F9: data <= 8'h44; |
11'h1FA: data <= 8'h04; |
11'h1FB: data <= 8'h08; |
11'h1FC: data <= 8'h10; |
11'h1FD: data <= 8'h00; |
11'h1FE: data <= 8'h10; |
11'h1FF: data <= 8'h00; |
// 40h: @ |
11'h200: data <= 8'h38; |
11'h201: data <= 8'h44; |
11'h202: data <= 8'h04; |
11'h203: data <= 8'h34; |
11'h204: data <= 8'h54; |
11'h205: data <= 8'h54; |
11'h206: data <= 8'h38; |
11'h207: data <= 8'h00; |
// 41h: A |
11'h208: data <= 8'h38; |
11'h209: data <= 8'h44; |
11'h20A: data <= 8'h44; |
11'h20B: data <= 8'h44; |
11'h20C: data <= 8'h7C; |
11'h20D: data <= 8'h44; |
11'h20E: data <= 8'h44; |
11'h20F: data <= 8'h00; |
// 42h: B |
11'h210: data <= 8'h78; |
11'h211: data <= 8'h44; |
11'h212: data <= 8'h44; |
11'h213: data <= 8'h78; |
11'h214: data <= 8'h44; |
11'h215: data <= 8'h44; |
11'h216: data <= 8'h78; |
11'h217: data <= 8'h00; |
// 43h: C |
11'h218: data <= 8'h38; |
11'h219: data <= 8'h44; |
11'h21A: data <= 8'h40; |
11'h21B: data <= 8'h40; |
11'h21C: data <= 8'h40; |
11'h21D: data <= 8'h44; |
11'h21E: data <= 8'h38; |
11'h21F: data <= 8'h00; |
// 44h: D |
11'h220: data <= 8'h70; |
11'h221: data <= 8'h48; |
11'h222: data <= 8'h44; |
11'h223: data <= 8'h44; |
11'h224: data <= 8'h44; |
11'h225: data <= 8'h48; |
11'h226: data <= 8'h70; |
11'h227: data <= 8'h00; |
// 45h: E |
11'h228: data <= 8'h7C; |
11'h229: data <= 8'h40; |
11'h22A: data <= 8'h40; |
11'h22B: data <= 8'h78; |
11'h22C: data <= 8'h40; |
11'h22D: data <= 8'h40; |
11'h22E: data <= 8'h7C; |
11'h22F: data <= 8'h00; |
// 46h: F |
11'h230: data <= 8'h7C; |
11'h231: data <= 8'h40; |
11'h232: data <= 8'h40; |
11'h233: data <= 8'h78; |
11'h234: data <= 8'h40; |
11'h235: data <= 8'h40; |
11'h236: data <= 8'h40; |
11'h237: data <= 8'h00; |
// 47h: G |
11'h238: data <= 8'h38; |
11'h239: data <= 8'h44; |
11'h23A: data <= 8'h40; |
11'h23B: data <= 8'h5C; |
11'h23C: data <= 8'h44; |
11'h23D: data <= 8'h44; |
11'h23E: data <= 8'h3C; |
11'h23F: data <= 8'h00; |
// 48h: H |
11'h240: data <= 8'h44; |
11'h241: data <= 8'h44; |
11'h242: data <= 8'h44; |
11'h243: data <= 8'h7C; |
11'h244: data <= 8'h44; |
11'h245: data <= 8'h44; |
11'h246: data <= 8'h44; |
11'h247: data <= 8'h00; |
// 49h: I |
11'h248: data <= 8'h38; |
11'h249: data <= 8'h10; |
11'h24A: data <= 8'h10; |
11'h24B: data <= 8'h10; |
11'h24C: data <= 8'h10; |
11'h24D: data <= 8'h10; |
11'h24E: data <= 8'h38; |
11'h24F: data <= 8'h00; |
// 4Ah: J |
11'h250: data <= 8'h1C; |
11'h251: data <= 8'h08; |
11'h252: data <= 8'h08; |
11'h253: data <= 8'h08; |
11'h254: data <= 8'h08; |
11'h255: data <= 8'h48; |
11'h256: data <= 8'h30; |
11'h257: data <= 8'h00; |
// 4Bh: K |
11'h258: data <= 8'h44; |
11'h259: data <= 8'h48; |
11'h25A: data <= 8'h50; |
11'h25B: data <= 8'h60; |
11'h25C: data <= 8'h50; |
11'h25D: data <= 8'h48; |
11'h25E: data <= 8'h44; |
11'h25F: data <= 8'h00; |
// 4Ch: L |
11'h260: data <= 8'h40; |
11'h261: data <= 8'h40; |
11'h262: data <= 8'h40; |
11'h263: data <= 8'h40; |
11'h264: data <= 8'h40; |
11'h265: data <= 8'h40; |
11'h266: data <= 8'h7C; |
11'h267: data <= 8'h00; |
// 4Dh: M |
11'h268: data <= 8'h44; |
11'h269: data <= 8'h6C; |
11'h26A: data <= 8'h54; |
11'h26B: data <= 8'h54; |
11'h26C: data <= 8'h44; |
11'h26D: data <= 8'h44; |
11'h26E: data <= 8'h44; |
11'h26F: data <= 8'h00; |
// 4Eh: N |
11'h270: data <= 8'h44; |
11'h271: data <= 8'h44; |
11'h272: data <= 8'h64; |
11'h273: data <= 8'h54; |
11'h274: data <= 8'h4C; |
11'h275: data <= 8'h44; |
11'h276: data <= 8'h44; |
11'h277: data <= 8'h00; |
// 4Fh: O |
11'h278: data <= 8'h38; |
11'h279: data <= 8'h44; |
11'h27A: data <= 8'h44; |
11'h27B: data <= 8'h44; |
11'h27C: data <= 8'h44; |
11'h27D: data <= 8'h44; |
11'h27E: data <= 8'h38; |
11'h27F: data <= 8'h00; |
// 50h: P |
11'h280: data <= 8'h78; |
11'h281: data <= 8'h44; |
11'h282: data <= 8'h44; |
11'h283: data <= 8'h78; |
11'h284: data <= 8'h40; |
11'h285: data <= 8'h40; |
11'h286: data <= 8'h40; |
11'h287: data <= 8'h00; |
// 51h: Q |
11'h288: data <= 8'h38; |
11'h289: data <= 8'h44; |
11'h28A: data <= 8'h44; |
11'h28B: data <= 8'h44; |
11'h28C: data <= 8'h54; |
11'h28D: data <= 8'h48; |
11'h28E: data <= 8'h34; |
11'h28F: data <= 8'h00; |
// 52h: R |
11'h290: data <= 8'h78; |
11'h291: data <= 8'h44; |
11'h292: data <= 8'h44; |
11'h293: data <= 8'h78; |
11'h294: data <= 8'h50; |
11'h295: data <= 8'h48; |
11'h296: data <= 8'h44; |
11'h297: data <= 8'h00; |
// 53h: S |
11'h298: data <= 8'h3C; |
11'h299: data <= 8'h40; |
11'h29A: data <= 8'h40; |
11'h29B: data <= 8'h38; |
11'h29C: data <= 8'h04; |
11'h29D: data <= 8'h04; |
11'h29E: data <= 8'h78; |
11'h29F: data <= 8'h00; |
// 54h: T |
11'h2A0: data <= 8'h7C; |
11'h2A1: data <= 8'h10; |
11'h2A2: data <= 8'h10; |
11'h2A3: data <= 8'h10; |
11'h2A4: data <= 8'h10; |
11'h2A5: data <= 8'h10; |
11'h2A6: data <= 8'h10; |
11'h2A7: data <= 8'h00; |
// 55h: U |
11'h2A8: data <= 8'h44; |
11'h2A9: data <= 8'h44; |
11'h2AA: data <= 8'h44; |
11'h2AB: data <= 8'h44; |
11'h2AC: data <= 8'h44; |
11'h2AD: data <= 8'h44; |
11'h2AE: data <= 8'h38; |
11'h2AF: data <= 8'h00; |
// 56h: V |
11'h2B0: data <= 8'h44; |
11'h2B1: data <= 8'h44; |
11'h2B2: data <= 8'h44; |
11'h2B3: data <= 8'h44; |
11'h2B4: data <= 8'h44; |
11'h2B5: data <= 8'h28; |
11'h2B6: data <= 8'h10; |
11'h2B7: data <= 8'h00; |
// 57h: W |
11'h2B8: data <= 8'h44; |
11'h2B9: data <= 8'h44; |
11'h2BA: data <= 8'h44; |
11'h2BB: data <= 8'h54; |
11'h2BC: data <= 8'h54; |
11'h2BD: data <= 8'h54; |
11'h2BE: data <= 8'h28; |
11'h2BF: data <= 8'h00; |
// 58h: X |
11'h2C0: data <= 8'h44; |
11'h2C1: data <= 8'h44; |
11'h2C2: data <= 8'h28; |
11'h2C3: data <= 8'h10; |
11'h2C4: data <= 8'h28; |
11'h2C5: data <= 8'h44; |
11'h2C6: data <= 8'h44; |
11'h2C7: data <= 8'h00; |
// 59h: Y |
11'h2C8: data <= 8'h44; |
11'h2C9: data <= 8'h44; |
11'h2CA: data <= 8'h44; |
11'h2CB: data <= 8'h28; |
11'h2CC: data <= 8'h10; |
11'h2CD: data <= 8'h10; |
11'h2CE: data <= 8'h10; |
11'h2CF: data <= 8'h00; |
// 5Ah: Z |
11'h2D0: data <= 8'h7C; |
11'h2D1: data <= 8'h04; |
11'h2D2: data <= 8'h08; |
11'h2D3: data <= 8'h10; |
11'h2D4: data <= 8'h20; |
11'h2D5: data <= 8'h40; |
11'h2D6: data <= 8'h7C; |
11'h2D7: data <= 8'h00; |
// 5Bh: [ |
11'h2D8: data <= 8'h38; |
11'h2D9: data <= 8'h20; |
11'h2DA: data <= 8'h20; |
11'h2DB: data <= 8'h20; |
11'h2DC: data <= 8'h20; |
11'h2DD: data <= 8'h20; |
11'h2DE: data <= 8'h38; |
11'h2DF: data <= 8'h00; |
// 5Ch: \ |
11'h2E0: data <= 8'h00; |
11'h2E1: data <= 8'h40; |
11'h2E2: data <= 8'h20; |
11'h2E3: data <= 8'h10; |
11'h2E4: data <= 8'h08; |
11'h2E5: data <= 8'h04; |
11'h2E6: data <= 8'h00; |
11'h2E7: data <= 8'h00; |
// 5Dh: ] |
11'h2E8: data <= 8'h38; |
11'h2E9: data <= 8'h08; |
11'h2EA: data <= 8'h08; |
11'h2EB: data <= 8'h08; |
11'h2EC: data <= 8'h08; |
11'h2ED: data <= 8'h08; |
11'h2EE: data <= 8'h38; |
11'h2EF: data <= 8'h00; |
// 5Eh: ^ |
11'h2F0: data <= 8'h10; |
11'h2F1: data <= 8'h28; |
11'h2F2: data <= 8'h44; |
11'h2F3: data <= 8'h00; |
11'h2F4: data <= 8'h00; |
11'h2F5: data <= 8'h00; |
11'h2F6: data <= 8'h00; |
11'h2F7: data <= 8'h00; |
// 5Fh: _ |
11'h2F8: data <= 8'h00; |
11'h2F9: data <= 8'h00; |
11'h2FA: data <= 8'h00; |
11'h2FB: data <= 8'h00; |
11'h2FC: data <= 8'h00; |
11'h2FD: data <= 8'h00; |
11'h2FE: data <= 8'h7C; |
11'h2FF: data <= 8'h00; |
// 60h: ` |
11'h300: data <= 8'h20; |
11'h301: data <= 8'h10; |
11'h302: data <= 8'h08; |
11'h303: data <= 8'h00; |
11'h304: data <= 8'h00; |
11'h305: data <= 8'h00; |
11'h306: data <= 8'h00; |
11'h307: data <= 8'h00; |
// 61h: a |
11'h308: data <= 8'h00; |
11'h309: data <= 8'h00; |
11'h30A: data <= 8'h38; |
11'h30B: data <= 8'h04; |
11'h30C: data <= 8'h3C; |
11'h30D: data <= 8'h44; |
11'h30E: data <= 8'h3C; |
11'h30F: data <= 8'h00; |
// 62h: b |
11'h310: data <= 8'h40; |
11'h311: data <= 8'h40; |
11'h312: data <= 8'h58; |
11'h313: data <= 8'h64; |
11'h314: data <= 8'h44; |
11'h315: data <= 8'h44; |
11'h316: data <= 8'h78; |
11'h317: data <= 8'h00; |
// 63h: c |
11'h318: data <= 8'h00; |
11'h319: data <= 8'h00; |
11'h31A: data <= 8'h38; |
11'h31B: data <= 8'h40; |
11'h31C: data <= 8'h40; |
11'h31D: data <= 8'h44; |
11'h31E: data <= 8'h38; |
11'h31F: data <= 8'h00; |
// 64h: d |
11'h320: data <= 8'h04; |
11'h321: data <= 8'h04; |
11'h322: data <= 8'h34; |
11'h323: data <= 8'h4C; |
11'h324: data <= 8'h44; |
11'h325: data <= 8'h44; |
11'h326: data <= 8'h3C; |
11'h327: data <= 8'h00; |
// 65h: e |
11'h328: data <= 8'h00; |
11'h329: data <= 8'h00; |
11'h32A: data <= 8'h38; |
11'h32B: data <= 8'h44; |
11'h32C: data <= 8'h7C; |
11'h32D: data <= 8'h40; |
11'h32E: data <= 8'h38; |
11'h32F: data <= 8'h00; |
// 66h: f |
11'h330: data <= 8'h18; |
11'h331: data <= 8'h24; |
11'h332: data <= 8'h20; |
11'h333: data <= 8'h70; |
11'h334: data <= 8'h20; |
11'h335: data <= 8'h20; |
11'h336: data <= 8'h20; |
11'h337: data <= 8'h00; |
// 67h: g |
11'h338: data <= 8'h00; |
11'h339: data <= 8'h00; |
11'h33A: data <= 8'h3C; |
11'h33B: data <= 8'h44; |
11'h33C: data <= 8'h44; |
11'h33D: data <= 8'h3C; |
11'h33E: data <= 8'h04; |
11'h33F: data <= 8'h38; |
// 68h: h |
11'h340: data <= 8'h40; |
11'h341: data <= 8'h40; |
11'h342: data <= 8'h58; |
11'h343: data <= 8'h64; |
11'h344: data <= 8'h44; |
11'h345: data <= 8'h44; |
11'h346: data <= 8'h44; |
11'h347: data <= 8'h00; |
// 69h: i |
11'h348: data <= 8'h10; |
11'h349: data <= 8'h10; |
11'h34A: data <= 8'h30; |
11'h34B: data <= 8'h10; |
11'h34C: data <= 8'h10; |
11'h34D: data <= 8'h10; |
11'h34E: data <= 8'h38; |
11'h34F: data <= 8'h00; |
// 6Ah: j |
11'h350: data <= 8'h00; |
11'h351: data <= 8'h08; |
11'h352: data <= 8'h00; |
11'h353: data <= 8'h18; |
11'h354: data <= 8'h08; |
11'h355: data <= 8'h08; |
11'h356: data <= 8'h48; |
11'h357: data <= 8'h30; |
// 6Bh: k |
11'h358: data <= 8'h40; |
11'h359: data <= 8'h40; |
11'h35A: data <= 8'h48; |
11'h35B: data <= 8'h50; |
11'h35C: data <= 8'h60; |
11'h35D: data <= 8'h50; |
11'h35E: data <= 8'h48; |
11'h35F: data <= 8'h00; |
// 6Ch: l |
11'h360: data <= 8'h30; |
11'h361: data <= 8'h10; |
11'h362: data <= 8'h10; |
11'h363: data <= 8'h10; |
11'h364: data <= 8'h10; |
11'h365: data <= 8'h10; |
11'h366: data <= 8'h38; |
11'h367: data <= 8'h00; |
// 6Dh: m |
11'h368: data <= 8'h00; |
11'h369: data <= 8'h00; |
11'h36A: data <= 8'h68; |
11'h36B: data <= 8'h54; |
11'h36C: data <= 8'h54; |
11'h36D: data <= 8'h44; |
11'h36E: data <= 8'h44; |
11'h36F: data <= 8'h00; |
// 6Eh: n |
11'h370: data <= 8'h00; |
11'h371: data <= 8'h00; |
11'h372: data <= 8'h58; |
11'h373: data <= 8'h64; |
11'h374: data <= 8'h44; |
11'h375: data <= 8'h44; |
11'h376: data <= 8'h44; |
11'h377: data <= 8'h00; |
// 6Fh: o |
11'h378: data <= 8'h00; |
11'h379: data <= 8'h00; |
11'h37A: data <= 8'h38; |
11'h37B: data <= 8'h44; |
11'h37C: data <= 8'h44; |
11'h37D: data <= 8'h44; |
11'h37E: data <= 8'h38; |
11'h37F: data <= 8'h00; |
// 70h: p |
11'h380: data <= 8'h00; |
11'h381: data <= 8'h00; |
11'h382: data <= 8'h78; |
11'h383: data <= 8'h44; |
11'h384: data <= 8'h78; |
11'h385: data <= 8'h40; |
11'h386: data <= 8'h40; |
11'h387: data <= 8'h40; |
// 71h: q |
11'h388: data <= 8'h00; |
11'h389: data <= 8'h00; |
11'h38A: data <= 8'h00; |
11'h38B: data <= 8'h34; |
11'h38C: data <= 8'h4C; |
11'h38D: data <= 8'h3C; |
11'h38E: data <= 8'h04; |
11'h38F: data <= 8'h04; |
// 72h: r |
11'h390: data <= 8'h00; |
11'h391: data <= 8'h00; |
11'h392: data <= 8'h58; |
11'h393: data <= 8'h64; |
11'h394: data <= 8'h40; |
11'h395: data <= 8'h40; |
11'h396: data <= 8'h40; |
11'h397: data <= 8'h00; |
// 73h: s |
11'h398: data <= 8'h00; |
11'h399: data <= 8'h00; |
11'h39A: data <= 8'h38; |
11'h39B: data <= 8'h40; |
11'h39C: data <= 8'h38; |
11'h39D: data <= 8'h04; |
11'h39E: data <= 8'h78; |
11'h39F: data <= 8'h00; |
// 74h: t |
11'h3A0: data <= 8'h00; |
11'h3A1: data <= 8'h20; |
11'h3A2: data <= 8'h20; |
11'h3A3: data <= 8'h70; |
11'h3A4: data <= 8'h20; |
11'h3A5: data <= 8'h20; |
11'h3A6: data <= 8'h24; |
11'h3A7: data <= 8'h18; |
// 75h: u |
11'h3A8: data <= 8'h00; |
11'h3A9: data <= 8'h00; |
11'h3AA: data <= 8'h44; |
11'h3AB: data <= 8'h44; |
11'h3AC: data <= 8'h44; |
11'h3AD: data <= 8'h4C; |
11'h3AE: data <= 8'h34; |
11'h3AF: data <= 8'h00; |
// 76h: v |
11'h3B0: data <= 8'h00; |
11'h3B1: data <= 8'h00; |
11'h3B2: data <= 8'h44; |
11'h3B3: data <= 8'h44; |
11'h3B4: data <= 8'h44; |
11'h3B5: data <= 8'h28; |
11'h3B6: data <= 8'h10; |
11'h3B7: data <= 8'h00; |
// 77h: w |
11'h3B8: data <= 8'h00; |
11'h3B9: data <= 8'h00; |
11'h3BA: data <= 8'h44; |
11'h3BB: data <= 8'h44; |
11'h3BC: data <= 8'h54; |
11'h3BD: data <= 8'h54; |
11'h3BE: data <= 8'h28; |
11'h3BF: data <= 8'h00; |
// 78h: x |
11'h3C0: data <= 8'h00; |
11'h3C1: data <= 8'h00; |
11'h3C2: data <= 8'h44; |
11'h3C3: data <= 8'h28; |
11'h3C4: data <= 8'h10; |
11'h3C5: data <= 8'h28; |
11'h3C6: data <= 8'h44; |
11'h3C7: data <= 8'h00; |
// 79h: y |
11'h3C8: data <= 8'h00; |
11'h3C9: data <= 8'h00; |
11'h3CA: data <= 8'h00; |
11'h3CB: data <= 8'h44; |
11'h3CC: data <= 8'h44; |
11'h3CD: data <= 8'h3C; |
11'h3CE: data <= 8'h04; |
11'h3CF: data <= 8'h38; |
// 7Ah: z |
11'h3D0: data <= 8'h00; |
11'h3D1: data <= 8'h00; |
11'h3D2: data <= 8'h7C; |
11'h3D3: data <= 8'h08; |
11'h3D4: data <= 8'h10; |
11'h3D5: data <= 8'h20; |
11'h3D6: data <= 8'h7C; |
11'h3D7: data <= 8'h00; |
// 7Bh: { |
11'h3D8: data <= 8'h08; |
11'h3D9: data <= 8'h10; |
11'h3DA: data <= 8'h10; |
11'h3DB: data <= 8'h20; |
11'h3DC: data <= 8'h10; |
11'h3DD: data <= 8'h10; |
11'h3DE: data <= 8'h08; |
11'h3DF: data <= 8'h00; |
// 7Ch: | |
11'h3E0: data <= 8'h10; |
11'h3E1: data <= 8'h10; |
11'h3E2: data <= 8'h10; |
11'h3E3: data <= 8'h10; |
11'h3E4: data <= 8'h10; |
11'h3E5: data <= 8'h10; |
11'h3E6: data <= 8'h10; |
11'h3E7: data <= 8'h00; |
// 7Dh: } |
11'h3E8: data <= 8'h20; |
11'h3E9: data <= 8'h10; |
11'h3EA: data <= 8'h10; |
11'h3EB: data <= 8'h08; |
11'h3EC: data <= 8'h10; |
11'h3ED: data <= 8'h10; |
11'h3EE: data <= 8'h20; |
11'h3EF: data <= 8'h00; |
// 7Eh: ~ |
11'h3F0: data <= 8'h00; |
11'h3F1: data <= 8'h00; |
11'h3F2: data <= 8'h60; |
11'h3F3: data <= 8'h92; |
11'h3F4: data <= 8'h0C; |
11'h3F5: data <= 8'h00; |
11'h3F6: data <= 8'h00; |
11'h3F7: data <= 8'h00; |
|
//// Hash Pattern //// |
|
// 7Fh: hash pattern |
11'h3F8: data <= 8'h55; |
11'h3F9: data <= 8'hAA; |
11'h3FA: data <= 8'h55; |
11'h3FB: data <= 8'hAA; |
11'h3FC: data <= 8'h55; |
11'h3FD: data <= 8'hAA; |
11'h3FE: data <= 8'h55; |
11'h3FF: data <= 8'hAA; |
|
//// User Defined Characters //// |
|
// 80h: vertical to the left |
11'h400: data <= 8'hF0; |
11'h401: data <= 8'hF0; |
11'h402: data <= 8'hF0; |
11'h403: data <= 8'hF0; |
11'h404: data <= 8'hF0; |
11'h405: data <= 8'hF0; |
11'h406: data <= 8'hF0; |
11'h407: data <= 8'hF0; |
|
// 81h: vertical to the right |
11'h408: data <= 8'h0F; |
11'h409: data <= 8'h0F; |
11'h40A: data <= 8'h0F; |
11'h40B: data <= 8'h0F; |
11'h40C: data <= 8'h0F; |
11'h40D: data <= 8'h0F; |
11'h40E: data <= 8'h0F; |
11'h40F: data <= 8'h0F; |
|
// 82h: circle |
11'h410: data <= 8'h00; |
11'h411: data <= 8'h18; |
11'h412: data <= 8'h3C; |
11'h413: data <= 8'h7E; |
11'h414: data <= 8'h7E; |
11'h415: data <= 8'h3C; |
11'h416: data <= 8'h18; |
11'h417: data <= 8'h00; |
|
// 83h: Upper left block only |
11'h418: data <= 8'hF0; |
11'h419: data <= 8'hF0; |
11'h41A: data <= 8'hF0; |
11'h41B: data <= 8'hF0; |
11'h41C: data <= 8'h00; |
11'h41D: data <= 8'h00; |
11'h41E: data <= 8'h00; |
11'h41F: data <= 8'h00; |
|
// 84h: Upper right block only |
11'h420: data <= 8'h0F; |
11'h421: data <= 8'h0F; |
11'h422: data <= 8'h0F; |
11'h423: data <= 8'h0F; |
11'h424: data <= 8'h00; |
11'h425: data <= 8'h00; |
11'h426: data <= 8'h00; |
11'h427: data <= 8'h00; |
|
// 85h: Lower left block only |
11'h428: data <= 8'h00; |
11'h429: data <= 8'h00; |
11'h42A: data <= 8'h00; |
11'h42B: data <= 8'h00; |
11'h42C: data <= 8'hF0; |
11'h42D: data <= 8'hF0; |
11'h42E: data <= 8'hF0; |
11'h42F: data <= 8'hF0; |
|
// 86h: Lower right block only |
11'h430: data <= 8'h00; |
11'h431: data <= 8'h00; |
11'h432: data <= 8'h00; |
11'h433: data <= 8'h00; |
11'h434: data <= 8'h0F; |
11'h435: data <= 8'h0F; |
11'h436: data <= 8'h0F; |
11'h437: data <= 8'h0F; |
|
// 87h: One horizontal line |
11'h438: data <= 8'h00; |
11'h439: data <= 8'h00; |
11'h43A: data <= 8'h00; |
11'h43B: data <= 8'h00; |
11'h43C: data <= 8'h00; |
11'h43D: data <= 8'h00; |
11'h43E: data <= 8'h00; |
11'h43F: data <= 8'hFF; |
|
// 88h: Two horizontal lines |
11'h440: data <= 8'h00; |
11'h441: data <= 8'h00; |
11'h442: data <= 8'h00; |
11'h443: data <= 8'h00; |
11'h444: data <= 8'h00; |
11'h445: data <= 8'h00; |
11'h446: data <= 8'hFF; |
11'h447: data <= 8'hFF; |
|
// 89h: Three horizontal lines |
11'h448: data <= 8'h00; |
11'h449: data <= 8'h00; |
11'h44A: data <= 8'h00; |
11'h44B: data <= 8'h00; |
11'h44C: data <= 8'h00; |
11'h44D: data <= 8'hFF; |
11'h44E: data <= 8'hFF; |
11'h44F: data <= 8'hFF; |
|
// 8Ah: Four horizontal lines |
11'h450: data <= 8'h00; |
11'h451: data <= 8'h00; |
11'h452: data <= 8'h00; |
11'h453: data <= 8'h00; |
11'h454: data <= 8'hFF; |
11'h455: data <= 8'hFF; |
11'h456: data <= 8'hFF; |
11'h457: data <= 8'hFF; |
|
// 8Bh: Five horizontal lines |
11'h458: data <= 8'h00; |
11'h459: data <= 8'h00; |
11'h45A: data <= 8'h00; |
11'h45B: data <= 8'hFF; |
11'h45C: data <= 8'hFF; |
11'h45D: data <= 8'hFF; |
11'h45E: data <= 8'hFF; |
11'h45F: data <= 8'hFF; |
|
// 8Ch: Six horizontal lines |
11'h460: data <= 8'h00; |
11'h461: data <= 8'h00; |
11'h462: data <= 8'hFF; |
11'h463: data <= 8'hFF; |
11'h464: data <= 8'hFF; |
11'h465: data <= 8'hFF; |
11'h466: data <= 8'hFF; |
11'h467: data <= 8'hFF; |
|
// 8Dh: Seven horizontal lines |
11'h468: data <= 8'h00; |
11'h469: data <= 8'hFF; |
11'h46A: data <= 8'hFF; |
11'h46B: data <= 8'hFF; |
11'h46C: data <= 8'hFF; |
11'h46D: data <= 8'hFF; |
11'h46E: data <= 8'hFF; |
11'h46F: data <= 8'hFF; |
|
// 8Eh: One vertical line |
11'h470: data <= 8'h80; |
11'h471: data <= 8'h80; |
11'h472: data <= 8'h80; |
11'h473: data <= 8'h80; |
11'h474: data <= 8'h80; |
11'h475: data <= 8'h80; |
11'h476: data <= 8'h80; |
11'h477: data <= 8'h80; |
|
// 8Fh: Two vertical lines |
/*11'h478: data <= 8'hc0; |
11'h479: data <= 8'hc0; |
11'h47A: data <= 8'hc0; |
11'h47B: data <= 8'hc0; |
11'h47C: data <= 8'hc0; |
11'h47D: data <= 8'hc0; |
11'h47E: data <= 8'hc0; |
11'h47F: data <= 8'hc0;*/ |
endcase |
end |
|
endmodule //CHAR_GEN_ROM |
|
//------------------------------------------ |
|
module CHAR_RAM |
( |
clka, |
wea, |
addra, |
dia, |
|
clkb, |
addrb, |
dob |
); |
|
input clka; |
input wea; |
input [13:0] addra; |
input [11:0] dia; |
|
input clkb; |
input [13:0] addrb; |
output [11:0] dob; |
|
//reg [11:0] ram [16383:0]; |
//reg [11:0] ram [8191:0]; |
reg [11:0] ram [4095:0]; |
reg [13:0] read_addrb; |
|
always @(posedge clka) begin |
if (wea) |
ram[addra] <= dia; |
end |
|
always @(posedge clkb) begin |
read_addrb <= addrb; |
end |
|
assign dob = ram[read_addrb]; |
|
// fill the character RAM with spaces |
integer index; |
initial begin |
// for (index = 0; index <= 16383; index = index + 1) begin |
for (index = 0; index <= 4095; index = index + 1) begin |
ram[index] = 8'h20; // ASCII space |
end |
|
//for (index = 9998; index <= 16383; index = index + 1) begin |
// ram[index] = 8'h20; // ASCII space |
//end |
end |
|
endmodule //CHAR_RAM |
|
//------------------------------------ |
|
module CLOCK_GEN |
( |
SYSTEM_CLOCK, |
|
system_clock_buffered, |
pixel_clock, |
reset |
); |
|
input SYSTEM_CLOCK; // 100MHz LVTTL SYSTEM CLOCK |
|
output system_clock_buffered; // buffered SYSTEM_CLOCK |
output pixel_clock; // adjusted SYSTEM_CLOCK |
output reset; // reset asserted when DCMs are NOT LOCKED |
|
wire low = 1'b0; |
wire high = 1'b1; |
|
// signals associated with the system clock DCM |
wire system_dcm_reset; |
wire system_dcm_locked; |
wire system_clock_in; |
wire system_clock_unbuffered; |
wire pixel_clock_unbuffered; |
wire system_clock_buffered; |
wire pixel_clock; |
|
//IBUFG SYSTEM_CLOCK_BUF ( |
//.O (system_clock_in), |
//.I (SYSTEM_CLOCK) |
//); |
|
BUFG SYSTEM_CLOCK_BUF ( |
.O (system_clock_in), |
.I (SYSTEM_CLOCK) |
); |
|
//assign system_clock_in = SYSTEM_CLOCK; |
|
// instantiate the clock input buffers for the internal clocks |
BUFG SYS_CLOCK_BUF ( |
.O (system_clock_buffered), |
.I (system_clock_unbuffered) |
); |
|
//assign system_clock_buffered = system_clock_unbuffered; |
|
BUFG PIXEL_CLOCK_BUF ( |
.O (pixel_clock), |
.I (pixel_clock_unbuffered) |
); |
|
//assign pixel_clock = pixel_clock_unbuffered; |
|
assign reset = !system_dcm_locked; |
|
DCM SYSTEM_DCM ( |
.CLKFB (system_clock_buffered), |
.CLKIN (system_clock_in), |
.DSSEN (low), |
.PSCLK (low), |
.PSEN (low), |
.PSINCDEC (low), |
.RST (system_dcm_reset), |
.CLK0 (system_clock_unbuffered), |
.CLK90 (), |
.CLK180 (), |
.CLK270 (), |
.CLK2X (), |
.CLK2X180 (), |
.CLKDV (), |
.CLKFX (pixel_clock_unbuffered), |
.CLKFX180 (), |
.LOCKED (system_dcm_locked), |
.PSDONE (), |
.STATUS () |
); |
defparam SYSTEM_DCM.CLKDV_DIVIDE = 2.0; // divide the system clock (50 MHz) by 2.0 to determine CLKDV (25 MHz) |
defparam SYSTEM_DCM.CLKFX_DIVIDE = `CLK_DIVIDE; // the denominator of the clock multiplier used to determine CLKFX |
defparam SYSTEM_DCM.CLKFX_MULTIPLY = `CLK_MULTIPLY; // the numerator of the clock multiplier used to determine CLKFX |
defparam SYSTEM_DCM.CLKIN_DIVIDE_BY_2 = "FALSE"; |
defparam SYSTEM_DCM.CLKIN_PERIOD = 20.0; // period of input clock in ns |
defparam SYSTEM_DCM.CLKOUT_PHASE_SHIFT = "NONE"; // phase shift of NONE |
defparam SYSTEM_DCM.CLK_FEEDBACK = "1X"; // feedback of NONE, 1X |
defparam SYSTEM_DCM.DFS_FREQUENCY_MODE = "LOW"; // LOW frequency mode for frequency synthesis |
defparam SYSTEM_DCM.DLL_FREQUENCY_MODE = "LOW"; // LOW frequency mode for DLL |
defparam SYSTEM_DCM.DUTY_CYCLE_CORRECTION = "TRUE"; // Duty cycle correction, TRUE |
defparam SYSTEM_DCM.PHASE_SHIFT = 0; // Amount of fixed phase shift from -255 to 255 |
defparam SYSTEM_DCM.STARTUP_WAIT = "FALSE"; // Delay configuration DONE until DCM LOCK FALSE |
|
SRL16 RESET_SYSTEM_DCM ( |
.Q (system_dcm_reset), |
.CLK (system_clock_in), |
.D (low), |
.A0 (high), |
.A1 (high), |
.A2 (high), |
.A3 (high) |
); |
defparam RESET_SYSTEM_DCM.INIT = "000F"; |
|
endmodule //CLOCK_GEN |
|
//--------------------------------------------------- |
|
module SVGA_TIMING_GENERATION |
( |
pixel_clock, |
reset, |
h_synch, |
v_synch, |
blank, |
pixel_count, |
line_count, |
subchar_pixel, |
subchar_line, |
char_column, |
char_line |
); |
|
input pixel_clock; // pixel clock |
input reset; // reset |
output h_synch; // horizontal synch for VGA connector |
output v_synch; // vertical synch for VGA connector |
output blank; // composite blanking |
output [10:0] pixel_count; // counts the pixels in a line |
output [9:0] line_count; // counts the display lines |
output [2:0] subchar_pixel; // pixel position within the character |
output [2:0] subchar_line; // identifies the line number within a character block |
output [6:0] char_column; // character number on the current line |
output [6:0] char_line; // line number on the screen |
|
reg [9:0] line_count; // counts the display lines |
reg [10:0] pixel_count; // counts the pixels in a line |
reg h_synch; // horizontal synch |
reg v_synch; // vertical synch |
|
reg h_blank; // horizontal blanking |
reg v_blank; // vertical blanking |
reg blank; // composite blanking |
|
reg [2:0] subchar_line; // identifies the line number within a character block |
reg [9:0] char_column_count; // a counter used to define the character column number |
reg [9:0] char_line_count; // a counter used to define the character line number |
reg reset_char_line; // flag to reset the character line during VBI |
reg reset_char_column; // flag to reset the character column during HBI |
reg [2:0] subchar_pixel; // pixel position within the character |
reg [6:0] char_column; // character number on the current line |
reg [6:0] char_line; // line number on the screen |
|
// CREATE THE HORIZONTAL LINE PIXEL COUNTER |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
// on reset set pixel counter to 0 |
pixel_count <= 11'd0; |
|
else if (pixel_count == (`H_TOTAL - 1)) |
// last pixel in the line, so reset pixel counter |
pixel_count <= 11'd0; |
|
else |
pixel_count <= pixel_count + 1; |
end |
|
// CREATE THE HORIZONTAL SYNCH PULSE |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
// on reset remove h_synch |
h_synch <= 1'b0; |
|
else if (pixel_count == (`H_ACTIVE + `H_FRONT_PORCH - 1)) |
// start of h_synch |
h_synch <= 1'b1; |
|
else if (pixel_count == (`H_TOTAL - `H_BACK_PORCH - 1)) |
// end of h_synch |
h_synch <= 1'b0; |
end |
|
// CREATE THE VERTICAL FRAME LINE COUNTER |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
// on reset set line counter to 0 |
line_count <= 10'd0; |
|
else if ((line_count == (`V_TOTAL - 1)) & (pixel_count == (`H_TOTAL - 1))) |
// last pixel in last line of frame, so reset line counter |
line_count <= 10'd0; |
|
else if ((pixel_count == (`H_TOTAL - 1))) |
// last pixel but not last line, so increment line counter |
line_count <= line_count + 1; |
end |
|
// CREATE THE VERTICAL SYNCH PULSE |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
// on reset remove v_synch |
v_synch = 1'b0; |
|
else if ((line_count == (`V_ACTIVE + `V_FRONT_PORCH - 1) & |
(pixel_count == `H_TOTAL - 1))) |
// start of v_synch |
v_synch = 1'b1; |
|
else if ((line_count == (`V_TOTAL - `V_BACK_PORCH - 1)) & |
(pixel_count == (`H_TOTAL - 1))) |
// end of v_synch |
v_synch = 1'b0; |
end |
|
|
// CREATE THE HORIZONTAL BLANKING SIGNAL |
// the "-2" is used instead of "-1" because of the extra register delay |
// for the composite blanking signal |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
// on reset remove the h_blank |
h_blank <= 1'b0; |
|
else if (pixel_count == (`H_ACTIVE -2)) |
// start of HBI |
h_blank <= 1'b1; |
|
else if (pixel_count == (`H_TOTAL -2)) |
// end of HBI |
h_blank <= 1'b0; |
end |
|
|
// CREATE THE VERTICAL BLANKING SIGNAL |
// the "-2" is used instead of "-1" in the horizontal factor because of the extra |
// register delay for the composite blanking signal |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
// on reset remove v_blank |
v_blank <= 1'b0; |
|
else if ((line_count == (`V_ACTIVE - 1) & |
(pixel_count == `H_TOTAL - 2))) |
// start of VBI |
v_blank <= 1'b1; |
|
else if ((line_count == (`V_TOTAL - 1)) & |
(pixel_count == (`H_TOTAL - 2))) |
// end of VBI |
v_blank <= 1'b0; |
end |
|
|
// CREATE THE COMPOSITE BANKING SIGNAL |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
// on reset remove blank |
blank <= 1'b0; |
|
// blank during HBI or VBI |
else if (h_blank || v_blank) |
blank <= 1'b1; |
|
else |
// active video do not blank |
blank <= 1'b0; |
end |
|
|
/* |
CREATE THE CHARACTER COUNTER. |
CHARACTERS ARE DEFINED WITHIN AN 8 x 8 PIXEL BLOCK. |
|
A 640 x 480 video mode will display 80 characters on 60 lines. |
A 800 x 600 video mode will display 100 characters on 75 lines. |
A 1024 x 768 video mode will display 128 characters on 96 lines. |
|
"subchar_line" identifies the row in the 8 x 8 block. |
"subchar_pixel" identifies the column in the 8 x 8 block. |
*/ |
|
// CREATE THE VERTICAL FRAME LINE COUNTER |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
// on reset set line counter to 0 |
subchar_line <= 3'b000; |
|
else if ((line_count == (`V_TOTAL - 1)) & (pixel_count == (`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY)) |
// reset line counter |
subchar_line <= 3'b000; |
|
else if (pixel_count == (`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY) |
// increment line counter |
subchar_line <= line_count + 1; |
end |
|
// subchar_pixel defines the pixel within the character line |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
// reset to 5 so that the first character data can be latched |
subchar_pixel <= 3'b101; |
|
else if (pixel_count == ((`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY)) |
// reset to 5 so that the first character data can be latched |
subchar_pixel <= 3'b101; |
|
else |
subchar_pixel <= subchar_pixel + 1; |
end |
|
|
wire [9:0] char_column_count_iter = char_column_count + 1; |
|
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) begin |
char_column_count <= 10'd0; |
char_column <= 7'd0; |
end |
|
else if (reset_char_column) begin |
// reset the char column count during the HBI |
char_column_count <= 10'd0; |
char_column <= 7'd0; |
end |
|
else begin |
char_column_count <= char_column_count_iter; |
char_column <= char_column_count_iter[9:3]; |
end |
end |
|
wire [9:0] char_line_count_iter = char_line_count + 1; |
|
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) begin |
char_line_count <= 10'd0; |
char_line <= 7'd0; |
end |
|
else if (reset_char_line) begin |
// reset the char line count during the VBI |
char_line_count <= 10'd0; |
char_line <= 7'd0; |
end |
|
else if (pixel_count == ((`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY)) begin |
// last pixel but not last line, so increment line counter |
char_line_count <= char_line_count_iter; |
char_line <= char_line_count_iter[9:3]; |
end |
end |
|
// CREATE THE CONTROL SIGNALS FOR THE CHARACTER ADDRESS COUNTERS |
/* |
The HOLD and RESET signals are advanced from the beginning and end |
of HBI and VBI to compensate for the internal character generation |
pipeline. |
*/ |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
reset_char_column <= 1'b0; |
|
else if (pixel_count == ((`H_ACTIVE - 1) - `CHARACTER_DECODE_DELAY)) |
// start of HBI |
reset_char_column <= 1'b1; |
|
else if (pixel_count == ((`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY)) |
// end of HBI |
reset_char_column <= 1'b0; |
end |
|
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) |
reset_char_line <= 1'b0; |
|
else if ((line_count == (`V_ACTIVE - 1)) & |
(pixel_count == ((`H_ACTIVE - 1) - `CHARACTER_DECODE_DELAY))) |
// start of VBI |
reset_char_line <= 1'b1; |
|
else if ((line_count == (`V_TOTAL - 1)) & |
(pixel_count == ((`H_TOTAL - 1) - `CHARACTER_DECODE_DELAY))) |
// end of VBI |
reset_char_line <= 1'b0; |
end |
endmodule //SVGA_TIMING_GENERATION |
|
//---------------------------------------------- |
|
module VIDEO_OUT |
( |
pixel_clock, |
reset, |
vga_red_data, |
vga_green_data, |
vga_blue_data, |
h_synch, |
v_synch, |
blank, |
|
VGA_HSYNCH, |
VGA_VSYNCH, |
VGA_OUT_RED, |
VGA_OUT_GREEN, |
VGA_OUT_BLUE |
); |
|
input pixel_clock; |
input reset; |
input vga_red_data; |
input vga_green_data; |
input vga_blue_data; |
input h_synch; |
input v_synch; |
input blank; |
|
output VGA_HSYNCH; |
output VGA_VSYNCH; |
output VGA_OUT_RED; |
output VGA_OUT_GREEN; |
output VGA_OUT_BLUE; |
|
reg VGA_HSYNCH; |
reg VGA_VSYNCH; |
reg VGA_OUT_RED; |
reg VGA_OUT_GREEN; |
reg VGA_OUT_BLUE; |
|
// make the external video connections |
always @ (posedge pixel_clock or posedge reset) begin |
if (reset) begin |
// shut down the video output during reset |
VGA_HSYNCH <= 1'b1; |
VGA_VSYNCH <= 1'b1; |
VGA_OUT_RED <= 1'b0; |
VGA_OUT_GREEN <= 1'b0; |
VGA_OUT_BLUE <= 1'b0; |
end |
|
else if (blank) begin |
// output black during the blank signal |
VGA_HSYNCH <= h_synch; |
VGA_VSYNCH <= v_synch; |
VGA_OUT_RED <= 1'b0; |
VGA_OUT_GREEN <= 1'b0; |
VGA_OUT_BLUE <= 1'b0; |
end |
|
else begin |
// output color data otherwise |
VGA_HSYNCH <= h_synch; |
VGA_VSYNCH <= v_synch; |
VGA_OUT_RED <= vga_red_data; |
VGA_OUT_GREEN <= vga_green_data; |
VGA_OUT_BLUE <= vga_blue_data; |
end |
end |
|
endmodule // VIDEO_OUT |
/trunk/s3e_vga_char_dev_v1_00_a/hdl/verilog/SVGA_DEFINES.v
0,0 → 1,48
/* |
--------------------------------------------------------------------------------- |
To select a resolution and refresh rate, remove the comments around the desired |
block in this file. The pixel clock output by the DCM module should approximately |
equal the rate specified above the timing block that is uncommented. |
--------------------------------------------------------------------------------- |
*/ |
|
// DEFINE THE VARIOUS PIPELINE DELAYS |
|
`define CHARACTER_DECODE_DELAY 4 |
|
|
// 640 X 480 @ 60Hz with a 25.175MHz pixel clock |
`define H_ACTIVE 600 // pixels |
`define H_FRONT_PORCH 16 // pixels |
`define H_SYNCH 96 // pixels |
`define H_BACK_PORCH 48 // pixels |
`define H_TOTAL 800 // pixels |
|
`define V_ACTIVE 432 // lines |
`define V_FRONT_PORCH 11 // lines |
`define V_SYNCH 2 // lines |
`define V_BACK_PORCH 31 // lines |
`define V_TOTAL 524 // lines |
|
`define CLK_MULTIPLY 2 // 50 * 2/4 = 25.000 MHz |
`define CLK_DIVIDE 4 |
|
|
/* |
// 640 X 480 @ 60Hz with a 25.175MHz pixel clock |
`define H_ACTIVE 640 // pixels |
`define H_FRONT_PORCH 16 // pixels |
`define H_SYNCH 96 // pixels |
`define H_BACK_PORCH 48 // pixels |
`define H_TOTAL 800 // pixels |
|
`define V_ACTIVE 480 // lines |
`define V_FRONT_PORCH 11 // lines |
`define V_SYNCH 2 // lines |
`define V_BACK_PORCH 31 // lines |
`define V_TOTAL 524 // lines |
|
`define CLK_MULTIPLY 2 // 50 * 2/4 = 25.000 MHz |
`define CLK_DIVIDE 4 |
*/ |
|
/trunk/s3e_vga_char_dev_v1_00_a/hdl/vhdl/s3e_vga_char_dev.vhd
0,0 → 1,473
------------------------------------------------------------------------------ |
-- s3e_vga_char_dev.vhd - entity/architecture pair |
------------------------------------------------------------------------------ |
-- IMPORTANT: |
-- DO NOT MODIFY THIS FILE EXCEPT IN THE DESIGNATED SECTIONS. |
-- |
-- SEARCH FOR --USER TO DETERMINE WHERE CHANGES ARE ALLOWED. |
-- |
-- TYPICALLY, THE ONLY ACCEPTABLE CHANGES INVOLVE ADDING NEW |
-- PORTS AND GENERICS THAT GET PASSED THROUGH TO THE INSTANTIATION |
-- OF THE USER_LOGIC ENTITY. |
------------------------------------------------------------------------------ |
-- |
-- This program is free software: you can redistribute it and/or modify |
-- it under the terms of the GNU General Public License as published by |
-- the Free Software Foundation, either version 3 of the License, or |
-- (at your option) any later version. |
-- |
-- This program is distributed in the hope that it will be useful, |
-- but WITHOUT ANY WARRANTY; without even the implied warranty of |
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
-- GNU General Public License for more details. |
-- |
-- You should have received a copy of the GNU General Public License |
-- along with this program. If not, see <http://www.gnu.org/licenses/>. |
-- |
------------------------------------------------------------------------------ |
-- Filename: s3e_vga_char_dev.vhd |
-- Version: 1.00.a |
-- Description: Top level design, instantiates IPIF and user logic. |
-- Date: Wed Sep 12 16:22:49 2007 (by Create and Import Peripheral Wizard) |
-- VHDL Standard: VHDL'93 |
------------------------------------------------------------------------------ |
-- Naming Conventions: |
-- active low signals: "*_n" |
-- clock signals: "clk", "clk_div#", "clk_#x" |
-- reset signals: "rst", "rst_n" |
-- generics: "C_*" |
-- user defined types: "*_TYPE" |
-- state machine next state: "*_ns" |
-- state machine current state: "*_cs" |
-- combinatorial signals: "*_com" |
-- pipelined or register delay signals: "*_d#" |
-- counter signals: "*cnt*" |
-- clock enable signals: "*_ce" |
-- internal version of output port: "*_i" |
-- device pins: "*_pin" |
-- ports: "- Names begin with Uppercase" |
-- processes: "*_PROCESS" |
-- component instantiations: "<ENTITY_>I_<#|FUNC>" |
------------------------------------------------------------------------------ |
|
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.std_logic_arith.all; |
use ieee.std_logic_unsigned.all; |
|
library proc_common_v2_00_a; |
use proc_common_v2_00_a.proc_common_pkg.all; |
use proc_common_v2_00_a.ipif_pkg.all; |
library opb_ipif_v3_01_c; |
use opb_ipif_v3_01_c.all; |
|
library s3e_vga_char_dev_v1_00_a; |
use s3e_vga_char_dev_v1_00_a.all; |
|
------------------------------------------------------------------------------ |
-- Entity section |
------------------------------------------------------------------------------ |
-- Definition of Generics: |
-- C_BASEADDR -- User logic base address |
-- C_HIGHADDR -- User logic high address |
-- C_OPB_AWIDTH -- OPB address bus width |
-- C_OPB_DWIDTH -- OPB data bus width |
-- C_USER_ID_CODE -- User ID to place in MIR/Reset register |
-- C_FAMILY -- Target FPGA architecture |
-- |
-- Definition of Ports: |
-- OPB_Clk -- OPB Clock |
-- OPB_Rst -- OPB Reset |
-- Sl_DBus -- Slave data bus |
-- Sl_errAck -- Slave error acknowledge |
-- Sl_retry -- Slave retry |
-- Sl_toutSup -- Slave timeout suppress |
-- Sl_xferAck -- Slave transfer acknowledge |
-- OPB_ABus -- OPB address bus |
-- OPB_BE -- OPB byte enable |
-- OPB_DBus -- OPB data bus |
-- OPB_RNW -- OPB read/not write |
-- OPB_select -- OPB select |
-- OPB_seqAddr -- OPB sequential address |
------------------------------------------------------------------------------ |
|
entity s3e_vga_char_dev is |
generic |
( |
-- ADD USER GENERICS BELOW THIS LINE --------------- |
--USER generics added here |
-- ADD USER GENERICS ABOVE THIS LINE --------------- |
|
-- DO NOT EDIT BELOW THIS LINE --------------------- |
-- Bus protocol parameters, do not add to or delete |
C_BASEADDR : std_logic_vector := X"00000000"; |
C_HIGHADDR : std_logic_vector := X"0000FFFF"; |
C_OPB_AWIDTH : integer := 32; |
C_OPB_DWIDTH : integer := 32; |
C_USER_ID_CODE : integer := 3; |
C_FAMILY : string := "virtex2p" |
-- DO NOT EDIT ABOVE THIS LINE --------------------- |
); |
port |
( |
-- ADD USER PORTS BELOW THIS LINE ------------------ |
fifty_clock_in : in std_logic; |
VGA_HSYNCH : out std_logic; |
VGA_VSYNCH : out std_logic; |
VGA_OUT_RED : out std_logic; |
VGA_OUT_GREEN : out std_logic; |
VGA_OUT_BLUE : out std_logic; |
-- ADD USER PORTS ABOVE THIS LINE ------------------ |
|
-- DO NOT EDIT BELOW THIS LINE --------------------- |
-- Bus protocol ports, do not add to or delete |
OPB_Clk : in std_logic; |
OPB_Rst : in std_logic; |
Sl_DBus : out std_logic_vector(0 to C_OPB_DWIDTH-1); |
Sl_errAck : out std_logic; |
Sl_retry : out std_logic; |
Sl_toutSup : out std_logic; |
Sl_xferAck : out std_logic; |
OPB_ABus : in std_logic_vector(0 to C_OPB_AWIDTH-1); |
OPB_BE : in std_logic_vector(0 to C_OPB_DWIDTH/8-1); |
OPB_DBus : in std_logic_vector(0 to C_OPB_DWIDTH-1); |
OPB_RNW : in std_logic; |
OPB_select : in std_logic; |
OPB_seqAddr : in std_logic |
-- DO NOT EDIT ABOVE THIS LINE --------------------- |
); |
|
attribute SIGIS : string; |
attribute SIGIS of OPB_Clk : signal is "Clk"; |
attribute SIGIS of OPB_Rst : signal is "Rst"; |
|
end entity s3e_vga_char_dev; |
|
------------------------------------------------------------------------------ |
-- Architecture section |
------------------------------------------------------------------------------ |
|
architecture IMP of s3e_vga_char_dev is |
|
------------------------------------------ |
-- Constant: array of address range identifiers |
------------------------------------------ |
constant ARD_ID_ARRAY : INTEGER_ARRAY_TYPE := |
( |
0 => USER_00, -- user logic S/W register address space |
1 => IPIF_RST -- include IPIF S/W Reset/MIR service |
); |
|
------------------------------------------ |
-- Constant: array of address pairs for each address range |
------------------------------------------ |
constant ZERO_ADDR_PAD : std_logic_vector(0 to 64-C_OPB_AWIDTH-1) := (others => '0'); |
|
constant USER_BASEADDR : std_logic_vector := C_BASEADDR or X"00000000"; |
constant USER_HIGHADDR : std_logic_vector := C_BASEADDR or X"000000FF"; |
|
constant RST_BASEADDR : std_logic_vector := C_BASEADDR or X"00000100"; |
constant RST_HIGHADDR : std_logic_vector := C_BASEADDR or X"000001FF"; |
|
constant ARD_ADDR_RANGE_ARRAY : SLV64_ARRAY_TYPE := |
( |
ZERO_ADDR_PAD & USER_BASEADDR, -- user logic base address |
ZERO_ADDR_PAD & USER_HIGHADDR, -- user logic high address |
ZERO_ADDR_PAD & RST_BASEADDR, -- MIR/Reset register base address |
ZERO_ADDR_PAD & RST_HIGHADDR -- MIR/Reset register high address |
); |
|
------------------------------------------ |
-- Constant: array of data widths for each target address range |
------------------------------------------ |
constant USER_DWIDTH : integer := 32; |
|
constant ARD_DWIDTH_ARRAY : INTEGER_ARRAY_TYPE := |
( |
0 => USER_DWIDTH, -- user logic data width |
1 => C_OPB_DWIDTH -- MIR/Reset register data width |
); |
|
------------------------------------------ |
-- Constant: array of desired number of chip enables for each address range |
------------------------------------------ |
constant USER_NUM_CE : integer := 2; |
|
constant ARD_NUM_CE_ARRAY : INTEGER_ARRAY_TYPE := |
( |
0 => pad_power2(USER_NUM_CE), -- user logic number of CEs |
1 => 1 -- MIR/Reset register - 1 CE |
); |
|
------------------------------------------ |
-- Constant: array of unique properties for each address range |
------------------------------------------ |
constant ARD_DEPENDENT_PROPS_ARRAY : DEPENDENT_PROPS_ARRAY_TYPE := |
( |
0 => (others => 0), -- user logic slave space dependent properties (none defined) |
1 => (others => 0) -- IPIF reset/mir dependent properties (none defined) |
); |
|
------------------------------------------ |
-- Constant: pipeline mode |
-- 1 = include OPB-In pipeline registers |
-- 2 = include IP pipeline registers |
-- 3 = include OPB-In and IP pipeline registers |
-- 4 = include OPB-Out pipeline registers |
-- 5 = include OPB-In and OPB-Out pipeline registers |
-- 6 = include IP and OPB-Out pipeline registers |
-- 7 = include OPB-In, IP, and OPB-Out pipeline registers |
-- Note: |
-- only mode 4, 5, 7 are supported for this release |
------------------------------------------ |
constant PIPELINE_MODEL : integer := 5; |
|
------------------------------------------ |
-- Constant: user core ID code |
------------------------------------------ |
constant DEV_BLK_ID : integer := C_USER_ID_CODE; |
|
------------------------------------------ |
-- Constant: enable MIR/Reset register |
------------------------------------------ |
constant DEV_MIR_ENABLE : integer := 1; |
|
------------------------------------------ |
-- Constant: array of IP interrupt mode |
-- 1 = Active-high interrupt condition |
-- 2 = Active-low interrupt condition |
-- 3 = Active-high pulse interrupt event |
-- 4 = Active-low pulse interrupt event |
-- 5 = Positive-edge interrupt event |
-- 6 = Negative-edge interrupt event |
------------------------------------------ |
constant IP_INTR_MODE_ARRAY : INTEGER_ARRAY_TYPE := |
( |
0 => 0 -- not used |
); |
|
------------------------------------------ |
-- Constant: enable device burst |
------------------------------------------ |
constant DEV_BURST_ENABLE : integer := 0; |
|
------------------------------------------ |
-- Constant: include address counter for burst transfers |
------------------------------------------ |
constant INCLUDE_ADDR_CNTR : integer := 0; |
|
------------------------------------------ |
-- Constant: include write buffer that decouples OPB and IPIC write transactions |
------------------------------------------ |
constant INCLUDE_WR_BUF : integer := 0; |
|
------------------------------------------ |
-- Constant: index for CS/CE |
------------------------------------------ |
constant USER00_CS_INDEX : integer := get_id_index(ARD_ID_ARRAY, USER_00); |
|
constant USER00_CE_INDEX : integer := calc_start_ce_index(ARD_NUM_CE_ARRAY, USER00_CS_INDEX); |
|
------------------------------------------ |
-- IP Interconnect (IPIC) signal declarations -- do not delete |
-- prefix 'i' stands for IPIF while prefix 'u' stands for user logic |
-- typically user logic will be hooked up to IPIF directly via i<sig> |
-- unless signal slicing and muxing are needed via u<sig> |
------------------------------------------ |
signal iBus2IP_RdCE : std_logic_vector(0 to calc_num_ce(ARD_NUM_CE_ARRAY)-1); |
signal iBus2IP_WrCE : std_logic_vector(0 to calc_num_ce(ARD_NUM_CE_ARRAY)-1); |
signal iBus2IP_Data : std_logic_vector(0 to C_OPB_DWIDTH-1); |
signal iBus2IP_BE : std_logic_vector(0 to C_OPB_DWIDTH/8-1); |
signal iIP2Bus_Data : std_logic_vector(0 to C_OPB_DWIDTH-1) := (others => '0'); |
signal iIP2Bus_Ack : std_logic := '0'; |
signal iIP2Bus_Error : std_logic := '0'; |
signal iIP2Bus_Retry : std_logic := '0'; |
signal iIP2Bus_ToutSup : std_logic := '0'; |
signal ENABLE_POSTED_WRITE : std_logic_vector(0 to ARD_ID_ARRAY'length-1) := (others => '0'); -- enable posted write behavior |
signal ZERO_IP2RFIFO_Data : std_logic_vector(0 to ARD_DWIDTH_ARRAY(get_id_index_iboe(ARD_ID_ARRAY, IPIF_RDFIFO_DATA))-1) := (others => '0'); -- work around for XST not taking (others => '0') in port mapping |
signal ZERO_WFIFO2IP_Data : std_logic_vector(0 to ARD_DWIDTH_ARRAY(get_id_index_iboe(ARD_ID_ARRAY, IPIF_WRFIFO_DATA))-1) := (others => '0'); -- work around for XST not taking (others => '0') in port mapping |
signal ZERO_IP2Bus_IntrEvent : std_logic_vector(0 to IP_INTR_MODE_ARRAY'length-1) := (others => '0'); -- work around for XST not taking (others => '0') in port mapping |
signal iBus2IP_Clk : std_logic; |
signal iBus2IP_Reset : std_logic; |
signal uBus2IP_Data : std_logic_vector(0 to USER_DWIDTH-1); |
signal uBus2IP_BE : std_logic_vector(0 to USER_DWIDTH/8-1); |
signal uBus2IP_RdCE : std_logic_vector(0 to USER_NUM_CE-1); |
signal uBus2IP_WrCE : std_logic_vector(0 to USER_NUM_CE-1); |
signal uIP2Bus_Data : std_logic_vector(0 to USER_DWIDTH-1); |
|
------------------------------------------ |
-- Component declaration for verilog user logic |
------------------------------------------ |
component user_logic is |
generic |
( |
-- ADD USER GENERICS BELOW THIS LINE --------------- |
--USER generics added here |
-- ADD USER GENERICS ABOVE THIS LINE --------------- |
|
-- DO NOT EDIT BELOW THIS LINE --------------------- |
-- Bus protocol parameters, do not add to or delete |
C_DWIDTH : integer := 32; |
C_NUM_CE : integer := 2 |
-- DO NOT EDIT ABOVE THIS LINE --------------------- |
); |
port |
( |
-- ADD USER PORTS BELOW THIS LINE ------------------ |
--USER ports added here |
fifty_clock_in : in std_logic; |
VGA_HSYNCH : out std_logic; |
VGA_VSYNCH : out std_logic; |
VGA_OUT_RED : out std_logic; |
VGA_OUT_GREEN : out std_logic; |
VGA_OUT_BLUE : out std_logic; |
-- ADD USER PORTS ABOVE THIS LINE ------------------ |
|
-- DO NOT EDIT BELOW THIS LINE --------------------- |
-- Bus protocol ports, do not add to or delete |
Bus2IP_Clk : in std_logic; |
Bus2IP_Reset : in std_logic; |
Bus2IP_Data : in std_logic_vector(0 to C_DWIDTH-1); |
Bus2IP_BE : in std_logic_vector(0 to C_DWIDTH/8-1); |
Bus2IP_RdCE : in std_logic_vector(0 to C_NUM_CE-1); |
Bus2IP_WrCE : in std_logic_vector(0 to C_NUM_CE-1); |
IP2Bus_Data : out std_logic_vector(0 to C_DWIDTH-1); |
IP2Bus_Ack : out std_logic; |
IP2Bus_Retry : out std_logic; |
IP2Bus_Error : out std_logic; |
IP2Bus_ToutSup : out std_logic |
-- DO NOT EDIT ABOVE THIS LINE --------------------- |
); |
end component user_logic; |
|
begin |
|
------------------------------------------ |
-- instantiate the OPB IPIF |
------------------------------------------ |
OPB_IPIF_I : entity opb_ipif_v3_01_c.opb_ipif |
generic map |
( |
C_ARD_ID_ARRAY => ARD_ID_ARRAY, |
C_ARD_ADDR_RANGE_ARRAY => ARD_ADDR_RANGE_ARRAY, |
C_ARD_DWIDTH_ARRAY => ARD_DWIDTH_ARRAY, |
C_ARD_NUM_CE_ARRAY => ARD_NUM_CE_ARRAY, |
C_ARD_DEPENDENT_PROPS_ARRAY => ARD_DEPENDENT_PROPS_ARRAY, |
C_PIPELINE_MODEL => PIPELINE_MODEL, |
C_DEV_BLK_ID => DEV_BLK_ID, |
C_DEV_MIR_ENABLE => DEV_MIR_ENABLE, |
C_OPB_AWIDTH => C_OPB_AWIDTH, |
C_OPB_DWIDTH => C_OPB_DWIDTH, |
C_FAMILY => C_FAMILY, |
C_IP_INTR_MODE_ARRAY => IP_INTR_MODE_ARRAY, |
C_DEV_BURST_ENABLE => DEV_BURST_ENABLE, |
C_INCLUDE_ADDR_CNTR => INCLUDE_ADDR_CNTR, |
C_INCLUDE_WR_BUF => INCLUDE_WR_BUF |
) |
port map |
( |
OPB_select => OPB_select, |
OPB_DBus => OPB_DBus, |
OPB_ABus => OPB_ABus, |
OPB_BE => OPB_BE, |
OPB_RNW => OPB_RNW, |
OPB_seqAddr => OPB_seqAddr, |
Sln_DBus => Sl_DBus, |
Sln_xferAck => Sl_xferAck, |
Sln_errAck => Sl_errAck, |
Sln_retry => Sl_retry, |
Sln_toutSup => Sl_toutSup, |
Bus2IP_CS => open, |
Bus2IP_CE => open, |
Bus2IP_RdCE => iBus2IP_RdCE, |
Bus2IP_WrCE => iBus2IP_WrCE, |
Bus2IP_Data => iBus2IP_Data, |
Bus2IP_Addr => open, |
Bus2IP_AddrValid => open, |
Bus2IP_BE => iBus2IP_BE, |
Bus2IP_RNW => open, |
Bus2IP_Burst => open, |
IP2Bus_Data => iIP2Bus_Data, |
IP2Bus_Ack => iIP2Bus_Ack, |
IP2Bus_AddrAck => '0', |
IP2Bus_Error => iIP2Bus_Error, |
IP2Bus_Retry => iIP2Bus_Retry, |
IP2Bus_ToutSup => iIP2Bus_ToutSup, |
IP2Bus_PostedWrInh => ENABLE_POSTED_WRITE, |
IP2RFIFO_Data => ZERO_IP2RFIFO_Data, |
IP2RFIFO_WrMark => '0', |
IP2RFIFO_WrRelease => '0', |
IP2RFIFO_WrReq => '0', |
IP2RFIFO_WrRestore => '0', |
RFIFO2IP_AlmostFull => open, |
RFIFO2IP_Full => open, |
RFIFO2IP_Vacancy => open, |
RFIFO2IP_WrAck => open, |
IP2WFIFO_RdMark => '0', |
IP2WFIFO_RdRelease => '0', |
IP2WFIFO_RdReq => '0', |
IP2WFIFO_RdRestore => '0', |
WFIFO2IP_AlmostEmpty => open, |
WFIFO2IP_Data => ZERO_WFIFO2IP_Data, |
WFIFO2IP_Empty => open, |
WFIFO2IP_Occupancy => open, |
WFIFO2IP_RdAck => open, |
IP2Bus_IntrEvent => ZERO_IP2Bus_IntrEvent, |
IP2INTC_Irpt => open, |
Freeze => '0', |
Bus2IP_Freeze => open, |
OPB_Clk => OPB_Clk, |
Bus2IP_Clk => iBus2IP_Clk, |
IP2Bus_Clk => '0', |
Reset => OPB_Rst, |
Bus2IP_Reset => iBus2IP_Reset |
); |
|
------------------------------------------ |
-- instantiate the User Logic |
------------------------------------------ |
USER_LOGIC_I : component user_logic |
generic map |
( |
-- MAP USER GENERICS BELOW THIS LINE --------------- |
--USER generics mapped here |
-- MAP USER GENERICS ABOVE THIS LINE --------------- |
|
C_DWIDTH => USER_DWIDTH, |
C_NUM_CE => USER_NUM_CE |
) |
port map |
( |
-- MAP USER PORTS BELOW THIS LINE ------------------ |
--USER ports mapped here |
fifty_clock_in => fifty_clock_in, |
VGA_HSYNCH => VGA_HSYNCH, |
VGA_VSYNCH => VGA_VSYNCH, |
VGA_OUT_RED => VGA_OUT_RED, |
VGA_OUT_GREEN => VGA_OUT_GREEN, |
VGA_OUT_BLUE => VGA_OUT_BLUE, |
-- MAP USER PORTS ABOVE THIS LINE ------------------ |
|
Bus2IP_Clk => iBus2IP_Clk, |
Bus2IP_Reset => iBus2IP_Reset, |
Bus2IP_Data => uBus2IP_Data, |
Bus2IP_BE => uBus2IP_BE, |
Bus2IP_RdCE => uBus2IP_RdCE, |
Bus2IP_WrCE => uBus2IP_WrCE, |
IP2Bus_Data => uIP2Bus_Data, |
IP2Bus_Ack => iIP2Bus_Ack, |
IP2Bus_Retry => iIP2Bus_Retry, |
IP2Bus_Error => iIP2Bus_Error, |
IP2Bus_ToutSup => iIP2Bus_ToutSup |
); |
|
------------------------------------------ |
-- hooking up signal slicing |
------------------------------------------ |
uBus2IP_BE <= iBus2IP_BE(0 to USER_DWIDTH/8-1); |
uBus2IP_Data <= iBus2IP_Data(0 to USER_DWIDTH-1); |
uBus2IP_RdCE <= iBus2IP_RdCE(USER00_CE_INDEX to USER00_CE_INDEX+USER_NUM_CE-1); |
uBus2IP_WrCE <= iBus2IP_WrCE(USER00_CE_INDEX to USER00_CE_INDEX+USER_NUM_CE-1); |
iIP2Bus_Data(0 to USER_DWIDTH-1) <= uIP2Bus_Data; |
|
end IMP; |
/trunk/s3e_vga_char_dev_v1_00_a/data/s3e_vga_char_dev_v2_1_0.pao
0,0 → 1,50
############################################################################## |
## Filename: D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/data/s3e_vga_char_dev_v2_1_0.pao |
## Description: Peripheral Analysis Order |
## Date: Wed Sep 12 16:22:49 2007 (by Create and Import Peripheral Wizard) |
############################################################################## |
|
lib proc_common_v2_00_a proc_common_pkg vhdl |
lib proc_common_v2_00_a family vhdl |
lib proc_common_v2_00_a or_muxcy vhdl |
lib proc_common_v2_00_a or_gate vhdl |
lib proc_common_v2_00_a counter_bit vhdl |
lib proc_common_v2_00_a counter vhdl |
lib proc_common_v2_00_a inferred_lut4 vhdl |
lib proc_common_v2_00_a srl_fifo2 vhdl |
lib proc_common_v2_00_a pf_counter_bit vhdl |
lib proc_common_v2_00_a pf_counter vhdl |
lib proc_common_v2_00_a pf_counter_top vhdl |
lib proc_common_v2_00_a pf_occ_counter vhdl |
lib proc_common_v2_00_a pf_occ_counter_top vhdl |
lib proc_common_v2_00_a pf_adder_bit vhdl |
lib proc_common_v2_00_a pf_adder vhdl |
lib proc_common_v2_00_a pf_dpram_select vhdl |
lib proc_common_v2_00_a srl16_fifo vhdl |
lib proc_common_v2_00_a pselect vhdl |
lib proc_common_v2_00_a valid_be vhdl |
lib proc_common_v2_00_a ld_arith_reg vhdl |
lib proc_common_v2_00_a mux_onehot vhdl |
lib proc_common_v2_00_a down_counter vhdl |
lib proc_common_v2_00_a ipif_pkg vhdl |
lib proc_common_v2_00_a ipif_steer vhdl |
lib proc_common_v2_00_a direct_path_cntr_ai vhdl |
lib interrupt_control_v1_00_a interrupt_control vhdl |
lib wrpfifo_v1_01_b pf_dly1_mux vhdl |
lib wrpfifo_v1_01_b ipif_control_wr vhdl |
lib wrpfifo_v1_01_b wrpfifo_dp_cntl vhdl |
lib wrpfifo_v1_01_b wrpfifo_top vhdl |
lib rdpfifo_v1_01_b ipif_control_rd vhdl |
lib rdpfifo_v1_01_b rdpfifo_dp_cntl vhdl |
lib rdpfifo_v1_01_b rdpfifo_top vhdl |
lib opb_ipif_v3_01_c reset_mir vhdl |
lib opb_ipif_v3_01_c brst_addr_cntr vhdl |
lib opb_ipif_v3_01_c opb_flex_addr_cntr vhdl |
lib opb_ipif_v3_01_c brst_addr_cntr_reg vhdl |
lib opb_ipif_v3_01_c opb_be_gen vhdl |
lib opb_ipif_v3_01_c srl_fifo3 vhdl |
lib opb_ipif_v3_01_c write_buffer vhdl |
lib opb_ipif_v3_01_c opb_bam vhdl |
lib opb_ipif_v3_01_c opb_ipif vhdl |
lib s3e_vga_char_dev_v1_00_a user_logic verilog |
lib s3e_vga_char_dev_v1_00_a s3e_vga_char_dev vhdl |
/trunk/s3e_vga_char_dev_v1_00_a/data/s3e_vga_char_dev_v2_1_0.mpd
0,0 → 1,51
################################################################### |
## |
## Name : s3e_vga_char_dev |
## Desc : Microprocessor Peripheral Description |
## : Automatically generated by PsfUtility |
## |
################################################################### |
|
BEGIN s3e_vga_char_dev |
|
## Peripheral Options |
OPTION IPTYPE = PERIPHERAL |
OPTION IMP_NETLIST = TRUE |
OPTION HDL = MIXED |
OPTION IP_GROUP = MICROBLAZE:PPC:USER |
OPTION DESC = S3E_VGA_CHAR_DEV |
|
|
## Bus Interfaces |
BUS_INTERFACE BUS = SOPB, BUS_TYPE = SLAVE, BUS_STD = OPB |
|
## Generics for VHDL or Parameters for Verilog |
PARAMETER C_BASEADDR = 0xffffffff, DT = std_logic_vector, MIN_SIZE = 0x200, BUS = SOPB, ADDRESS = BASE, PAIR = C_HIGHADDR |
PARAMETER C_HIGHADDR = 0x00000000, DT = std_logic_vector, BUS = SOPB, ADDRESS = HIGH, PAIR = C_BASEADDR |
PARAMETER C_OPB_AWIDTH = 32, DT = INTEGER, BUS = SOPB, ASSIGNMENT = CONSTANT |
PARAMETER C_OPB_DWIDTH = 32, DT = INTEGER, BUS = SOPB, RANGE = (8, 16, 32) |
PARAMETER C_USER_ID_CODE = 3, DT = INTEGER, RANGE = (0:255) |
PARAMETER C_FAMILY = virtex2p, DT = STRING |
|
## Ports |
PORT fifty_clock_in = "", DIR = I, SIGIS = Clk |
PORT VGA_HSYNCH = "", DIR = O |
PORT VGA_VSYNCH = "", DIR = O |
PORT VGA_OUT_RED = "", DIR = O |
PORT VGA_OUT_GREEN = "", DIR = O |
PORT VGA_OUT_BLUE = "", DIR = O |
PORT OPB_Clk = "", DIR = I, SIGIS = Clk, BUS = SOPB |
PORT OPB_Rst = OPB_Rst, DIR = I, SIGIS = Rst, BUS = SOPB |
PORT Sl_DBus = Sl_DBus, DIR = O, VEC = [0:(C_OPB_DWIDTH-1)], BUS = SOPB |
PORT Sl_errAck = Sl_errAck, DIR = O, BUS = SOPB |
PORT Sl_retry = Sl_retry, DIR = O, BUS = SOPB |
PORT Sl_toutSup = Sl_toutSup, DIR = O, BUS = SOPB |
PORT Sl_xferAck = Sl_xferAck, DIR = O, BUS = SOPB |
PORT OPB_ABus = OPB_ABus, DIR = I, VEC = [0:(C_OPB_AWIDTH-1)], BUS = SOPB |
PORT OPB_BE = OPB_BE, DIR = I, VEC = [0:((C_OPB_DWIDTH/8)-1)], BUS = SOPB |
PORT OPB_DBus = OPB_DBus, DIR = I, VEC = [0:(C_OPB_DWIDTH-1)], BUS = SOPB |
PORT OPB_RNW = OPB_RNW, DIR = I, BUS = SOPB |
PORT OPB_select = OPB_select, DIR = I, BUS = SOPB |
PORT OPB_seqAddr = OPB_seqAddr, DIR = I, BUS = SOPB |
|
END |
/trunk/s3e_vga_char_dev_v1_00_a/data/_s3e_vga_char_dev_xst.prj
0,0 → 1,54
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd" |
vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd" |
vhdl interrupt_control_v1_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd" |
vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd" |
vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd" |
vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd" |
vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd" |
vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd" |
vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd" |
vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd" |
vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd" |
vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd" |
vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd" |
vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd" |
vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd" |
vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd" |
vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd" |
vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd" |
vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/user_logic.v" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/CHAR_DISPLAY.v" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/CHAR_GEN.v" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/CHAR_GEN_ROM.v" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/CHAR_RAM.v" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/CLOCK_GEN.v" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/HEX_2_ASCII.v" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/MAIN.v" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/SVGA_DEFINES.v" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/SVGA_TIMING_GENERATION.v" |
verilog s3e_vga_char_dev_v1_00_a "../hdl/verilog/VIDEO_OUT.v" |
vhdl s3e_vga_char_dev_v1_00_a "../hdl/vhdl/s3e_vga_char_dev.vhd" |
/trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.restore
===================================================================
--- trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.restore (nonexistent)
+++ trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.restore (revision 2)
@@ -0,0 +1,1345 @@
+# Project Navigator Project Restoration Script
+#
+# WARNING: Do not modify this file. Any alteration of this file is not
+# supported and will likely cause project restoration to fail. The
+# format and the contents will be modified without further notice.
+#
+# This script can be used to recreate the associated project. To use this script,
+# source it in a Xilinx Tcl shell, such as xtclsh or the Project Navigator Tcl
+# Shell tab, and call the 'restore' proc. Restore takes the project directory as
+# an optional argument. Pass in the project directory if it is different than the
+# current working directory, otherwise don't pass in anything.
+#
+# Example:
+# In this example the project is in the directory "./projects/m_project_dir".
+#
+# source ./projects/m_project_dir/my_project.restore
+# restore ./projects/m_project_dir
+#
+# Example:
+# In this example the project is in the current working directory.
+#
+# source my_project.restore
+# restore
+#
+# Note that restoring a project this way has the following limitations:
+# - Process status will not be restored.
+# - A root-level source will be set as "Top", even if a lower-level source had
+# previously been set as "Top".
+# - Sources with non-default Design View associations will revert to the default
+# association.
+# - Snapshots will not be restored.
+#
+# The project which failed to load will be backed up as .fail.
+# Please open a Technical Support WebCase at
+# www.xilinx.com/support/clearexpress/websupport.htm and submit this file, along
+# with the project source files, for evaluation.
+#
+# Copyright 2007, Xilinx, Inc.
+
+
+proc ERR { msg } {
+ puts "ERROR: $msg"
+}
+
+proc WARN { msg } {
+ puts "WARNING: $msg"
+}
+
+proc INFO { msg } {
+ puts "$msg"
+}
+
+# Helper that returns 1 if the string is blank, otherwise 0.
+proc IsBlank { str } {
+ if { [string length $str] == 0 } {
+ return 1
+ }
+ return 0
+}
+
+# Helper for determining whether a value is 'NULL'.
+# Returns 1 if the value is 0; returns 0 if the value is anything else.
+proc IsNull { val } {
+ if { $val == 0 } {
+ return 1
+ }
+ return 0
+}
+
+proc HandleException { script { msg "" } } {
+ set catch_result [catch {
+ uplevel 1 $script
+ } RESULT]
+ if {$catch_result} {
+ if {![IsBlank $msg]} {
+ ERR $msg
+ }
+ INFO "$RESULT"
+ INFO "$::errorInfo"
+ }
+}
+
+# These two procs help to load shared libraries in a platform
+# independent way.
+proc _LoadLibrary {name} {
+ set libExt [info sharedlibextension]
+ set libFullName "$name$libExt"
+ HandleException {
+ load $libFullName
+ } "A problem occured loading library $libFullName."
+}
+
+proc _LoadFactoryLibrary {Factory} {
+ HandleException {
+ Xilinx::Cit::FactoryLoad $Factory
+ } "A problem occured loading library $Factory."
+}
+
+_LoadLibrary libCit_CoreStub
+_LoadLibrary libPrjrep_CommonStub
+_LoadFactoryLibrary libPrjrep_Common
+_LoadLibrary libDpm_SupportStub
+_LoadLibrary libDpm_PnfStub
+_LoadLibrary libDpm_DefnDataStub
+_LoadLibrary libDpm_DesignDataStub
+_LoadLibrary libDpm_HdlStub
+_LoadLibrary libPrjrep_RepositoryStub
+_LoadLibrary libCitI_CoreStub
+_LoadLibrary libHdcI_HdcHDProjectStub
+_LoadLibrary libTcltaskI_TaskStub
+_LoadLibrary libCommonI_CommonStub
+_LoadFactoryLibrary libTcltask_Helpers
+_LoadFactoryLibrary libHdcC_HDProject
+_LoadLibrary libHdcI_HdcContainerStub
+
+# Helper to exectute code only when the (pointer) variable name is valid.
+proc OnOkPtr { var_name script } {
+ if { [ uplevel info exists $var_name ] } {
+ upvar $var_name var
+ if { $var != 0 } { return [ uplevel $script ] }
+ }
+}
+
+# Helper to exectute code only when the (pointer) variable name is 0.
+proc OnNullPtr { var_name script } {
+ if { [ uplevel info exists $var_name ] } {
+ upvar $var_name var
+ if { $var == 0 } { return [ uplevel $script ] }
+ }
+}
+
+# Helper to exectute code only when the value of variable name is 1.
+proc OnSuccess { var_name script } {
+ if { $val != 0 } { return [ uplevel $script ] }
+}
+
+# Helper to exectute code only when the value of variable name is 0.
+proc OnFail { val script } {
+ if { $val != 1 } { return [ uplevel $script ] }
+}
+
+# Helper to get a component interface.
+proc GetInterface { iUnk id { name "" } } {
+ if {$iUnk == 0} { return 0 }
+ set iIface [ $iUnk GetInterface $id ]
+ OnNullPtr iIface {
+ if {![IsBlank $name]} {
+ ERR " Could not get the \"$name\" interface."
+ }
+ }
+ return $iIface
+}
+
+# Helper to create a component and return one of its interfaces.
+proc CreateComponent { compId ifaceId { name "" } } {
+ set iUnk [ ::Xilinx::Cit::FactoryCreate $compId ]
+ set iIface [ GetInterface $iUnk $ifaceId ]
+ OnNullPtr iIface {
+ if {![IsBlank $name]} { ERR "Could not create a \"$name\" component." }
+ }
+ return $iIface
+}
+
+# Helper to release an object
+proc Release { args } {
+ foreach iUnk $args {
+ set i_refcount [ GetInterface $iUnk $::xilinx::Prjrep::IRefCountID ]
+ OnNullPtr i_refcount { set i_refcount [ GetInterface $iUnk $::xilinx::CommonI::IRefCountID ] }
+ OnOkPtr i_refcount { $i_refcount Release }
+ }
+}
+
+# Helper to loop over IIterator based pointers.
+proc ForEachIterEle { _ele_var_name _iter script } {
+ if {$_iter == 0} { return 0 }
+ upvar $_ele_var_name ele
+ for { $_iter First } { ![ $_iter IsEnd ] } { $_iter Next } {
+ set ele [ $_iter CurrentItem ]
+ set returned_val [ uplevel $script ]
+ }
+}
+
+# Helper to get the Tcl Project Manager, if possible.
+proc GetTclProjectMgr { } {
+ set TclProjectMgrId "{7d528480-1196-4635-aba9-639446e4aa59}"
+ set iUnk [ Xilinx::CitP::CreateComponent $TclProjectMgrId ]
+ if {$iUnk == 0} { return 0 }
+ set iTclProjectMgr [ $iUnk GetInterface $::xilinx::TcltaskI::ITclProjectMgrID ]
+ OnNullPtr iTclProjectMgr {
+ ERR "Could not create a \"TclProjectMgr\" component."
+ }
+ return $iTclProjectMgr
+}
+
+# Helper to get the current Tcl Project, if one is open.
+proc GetCurrentTclProject { } {
+ set iTclProject 0
+ set iTclProjectMgr [GetTclProjectMgr]
+ OnOkPtr iTclProjectMgr {
+ set errmsg ""
+ $iTclProjectMgr GetCurrentTclProject iTclProject errmsg
+ }
+ return $iTclProject
+}
+
+# Helper to get the current HDProject, if one is open.
+proc GetCurrentHDProject { } {
+ set iHDProject 0
+ set iTclProjectMgr [GetTclProjectMgr]
+ set errmsg ""
+ OnOkPtr iTclProjectMgr { $iTclProjectMgr GetCurrentHDProject iHDProject errmsg }
+ OnNullPtr iHDProject {
+ ERR "Could not get the current HDProject."
+ }
+ return $iHDProject
+}
+
+# Helper to create a Project Helper.
+proc GetProjectHelper { } {
+ set ProjectHelperID "{0725c3d2-5e9b-4383-a7b6-a80c932eac21}"
+ set iProjHelper [CreateComponent $ProjectHelperID $::xilinx::Dpm::IProjectHelperID "Project Helper"]
+ return $iProjHelper
+}
+
+# Helper to find out if a project is currently open.
+# Returns 1 if a project is open, otherwise 0.
+proc IsProjectOpen { } {
+ set iTclProject [GetCurrentTclProject]
+ set isOpen [expr {$iTclProject != 0}]
+ Release $iTclProject
+ return $isOpen
+}
+
+# Helper to return the lock file for the specified project if there is one.
+# Returns an empty string if there is no lock file on the specified project.
+# This assumes that the project_file is in the current directory.
+# It also assumes project_file does not have a path.
+proc GetProjectLockFile { project_file } {
+ INFO "Checking for a lock file for \"$project_file\"."
+ set lock_file "__ISE_repository_${project_file}_.lock"
+ if { [ file isfile "$lock_file" ] } {
+ return $lock_file
+ }
+ return
+}
+
+# Helper to move aside the project file.
+# This assumes that the project_file is in the current directory.
+proc MoveProject { project_file backup_file } {
+ INFO "Moving aside the project \"$project_file\" so that it can be recreated."
+ INFO "The project will be backed up as \"$backup_file\"."
+ if { ![ file isfile "$project_file" ] } {
+ WARN "Could not move \"$project_file\"; it does not exist or is not a file."
+ return 1
+ }
+ file rename -force "$project_file" "$backup_file"
+ # We will need to bail if the project still exists.
+ if { [ file isfile "$project_file" ] } {
+ ERR "Could not remove \"$project_file\"; unable to recreate the project.."
+ return 0
+ }
+ return 1
+}
+
+# Helper to open a project and return a project facilitator (pointer).
+proc OpenFacilProject { project_name } {
+ # first make sure the tcl project mgr singleton exists
+ GetTclProjectMgr
+ # get a Project Helper and open the project.
+ set iProjHelper [GetProjectHelper]
+ if {$iProjHelper == 0} { return 0 }
+ set result [$iProjHelper Open $project_name]
+ OnFail $result {
+ if {$result == 576460769483292673} {
+ ERR "Could not open the project \"$project_name\" because it is locked."
+ } else {
+ ERR "Could not open the \"$project_name\" project."
+ }
+ Release $iProjHelper
+ set iProjHelper 0
+ }
+ return $iProjHelper
+}
+
+# Helper to close and release a project.
+proc CloseFacilProject { iProjHelper } {
+ if {$iProjHelper == 0} { return }
+ $iProjHelper Close
+ Release $iProjHelper
+}
+
+# Helper to get the Project from the Project Helper.
+# Clients must release this.
+proc GetProject { iProjHelper } {
+ if {$iProjHelper == 0} { return 0 }
+ set dpm_project 0
+ $iProjHelper GetDpmProject dpm_project
+ set iProject [ GetInterface $dpm_project $xilinx::Dpm::IProjectID ]
+ OnNullPtr iProject {
+ ERR "Could not get the Project from the Project Helper."
+ }
+ return $iProject
+}
+
+# Helper to get the File Manager from the Project Helper.
+# Clients must release this.
+proc GetFileManager { iProjHelper } {
+ set iProject [GetProject $iProjHelper]
+ set iFileMgr [ GetInterface $iProject $xilinx::Dpm::IFileManagerID ]
+ OnNullPtr iFileMgr {
+ ERR "Could not get the File Manager from the Project Helper."
+ }
+ # Don't release the project here, clients will release it
+ # when they release its IFileManager interface.
+ return $iFileMgr
+}
+
+# Helper to get the Source Library Manager from the Project Helper.
+# Clients must release this.
+proc GetSourceLibraryManager { iProjHelper } {
+ set iProject [GetProject $iProjHelper]
+ set iSourceLibraryMgr [ GetInterface $iProject $xilinx::Dpm::ISourceLibraryManagerID ]
+ OnNullPtr iSourceLibraryMgr {
+ ERR "Could not get the Source Library Manager from the Project Helper."
+ }
+ # Don't release the project here, clients will release it
+ # when they release its IFileManager interface.
+ return $iSourceLibraryMgr
+}
+
+# Helper to get the ProjSrcHelper from the Project Helper.
+# Clients must NOT release this.
+proc GetProjSrcHelper { iProjHelper } {
+ set iSrcHelper [ GetInterface $iProjHelper $::xilinx::Dpm::IProjSrcHelperID IProjSrcHelper ]
+ OnNullPtr iSrcHelper {
+ ERR "Could not get the ProjSrcHelper from the Project Helper."
+ }
+ return $iSrcHelper
+}
+
+# Helper to get the ScratchPropertyManager from the Project Helper.
+# Clients must NOT release this.
+proc GetScratchPropertyManager { iProjHelper } {
+ set iPropTableFetch [ GetInterface $iProjHelper $xilinx::Dpm::IPropTableFetchID IPropTableFetch ]
+ set prop_table_comp 0
+ OnOkPtr iPropTableFetch {
+ $iPropTableFetch GetPropTable prop_table_comp
+ }
+ set iScratch [ GetInterface $prop_table_comp $xilinx::Dpm::IScratchPropertyManagerID ]
+ OnNullPtr iScratch {
+ ERR "Could not get the Scratch Property Manager from the Project Helper."
+ }
+ return $iScratch
+}
+
+# Helper to get the Design from the Project Helper.
+# Clients must release this.
+proc GetDesign { iProjHelper } {
+ set iProject [GetProject $iProjHelper]
+ set iDesign 0
+ OnOkPtr iProject { $iProject GetDesign iDesign }
+ OnNullPtr iDesign {
+ ERR "Could not get the Design from the Project Helper."
+ }
+ Release $iProject
+ return $iDesign
+}
+
+# Helper to get the Data Store from the Project Helper.
+# Clients must NOT release this.
+proc GetDataStore { iProjHelper } {
+ set iDesign [ GetDesign $iProjHelper]
+ set iDataStore 0
+ OnOkPtr iDesign { $iDesign GetDataStore iDataStore }
+ OnNullPtr iDataStore {
+ ERR "Could not get the Data Store from the Project Helper."
+ }
+ Release $iDesign
+ return $iDataStore
+}
+
+# Helper to get the View Manager from the Project Helper.
+# Clients must NOT release this.
+proc GetViewManager { iProjHelper } {
+ set iDesign [ GetDesign $iProjHelper]
+ set iViewMgr [ GetInterface $iDesign $xilinx::Dpm::IViewManagerID ]
+ OnNullPtr iViewMgr {
+ ERR "Could not get the View Manager from the Project Helper."
+ }
+ # Don't release the design here, clients will release it
+ # when they release its IViewManager interface.
+ return $iViewMgr
+}
+
+# Helper to get the Property Manager from the Project Helper.
+# Clients must release this.
+proc GetPropertyManager { iProjHelper } {
+ set iDesign [ GetDesign $iProjHelper]
+ set iPropMgr 0
+ OnOkPtr iDesign { $iDesign GetPropertyManager iPropMgr }
+ OnNullPtr iPropMgr {
+ ERR "Could not get the Property Manager from the Project Helper."
+ }
+ Release $iDesign
+ return $iPropMgr
+}
+
+# Helper to find a property template, based on prop_name
+# Clients must NOT release this.
+proc GetPropertyTemplate { iProjHelper prop_name } {
+ set iPropTempl 0
+ set iUnk 0
+ set iDefdataId 0
+ set iPropTemplStore 0
+ set iDataStore [GetDataStore $iProjHelper]
+ OnOkPtr iDataStore { $iDataStore GetComponentByName $prop_name iUnk }
+ OnOkPtr iUnk { set iDefdataId [ GetInterface $iUnk $xilinx::Dpm::IDefDataIdID IDefDataId ] }
+ OnOkPtr iDefdataId {
+ set iPropTemplStore [ GetInterface $iDataStore $xilinx::Dpm::IPropertyTemplateStoreID IPropertyTemplateStore ]
+ }
+ OnOkPtr iPropTemplStore { $iPropTemplStore GetPropertyTemplate $iDefdataId iPropTempl }
+ OnNullPtr iPropTempl {
+ WARN "Could not get the property template for \"$prop_name\"."
+ }
+ return $iPropTempl
+}
+
+# Helper to get a component's name.
+proc GetName { iUnk } {
+ set name ""
+ set iName [ GetInterface $iUnk $xilinx::Prjrep::INameID IName ]
+ OnOkPtr iName { $iName GetName name }
+ return $name
+}
+
+# Helper to get the name of a view's type.
+proc GetViewTypeName { iView } {
+ set typeName ""
+ set iType 0
+ set iDefdataType 0
+ OnOkPtr iView { $iView GetType iType }
+ OnOkPtr iType {
+ set iDefdataType [ GetInterface $iType $xilinx::Dpm::IDefDataIdID IDefDataId ]
+ }
+ OnOkPtr iDefdataType { $iDefdataType GetID typeName }
+ return $typeName
+}
+
+# Helper to find a view and return its context.
+# Must clients release this?
+proc GetViewContext { iProjHelper view_id view_name } {
+ # Simply return if the view_id or view_name is empty.
+ if { [IsBlank $view_id] || [IsBlank $view_name] } { return 0 }
+ set foundview 0
+ set viewiter 0
+ set iViewMgr [GetViewManager $iProjHelper]
+ OnOkPtr iViewMgr { $iViewMgr GetViews viewiter }
+ ForEachIterEle view $viewiter {
+ set typeName [GetViewTypeName $view]
+ set name [GetName $view]
+ if { [ string equal $name $view_name ] && [ string equal $view_id $typeName ] } {
+ set foundview $view
+ }
+ }
+ set context [ GetInterface $foundview $xilinx::Dpm::IPropertyContextID ]
+ OnNullPtr context {
+ WARN "Could not get the context for view \"$view_id\":\"$view_name\"."
+ }
+ return $context
+}
+
+# Helper to get a string property instance from the property manager.
+proc GetStringPropertyInstance { iProjHelper simple_id } {
+ set iPropMgr [GetPropertyManager $iProjHelper]
+ if {$iPropMgr == 0} { return 0 }
+ set iPropInst 0
+ $iPropMgr GetStringProperty $simple_id iPropInst
+ OnNullPtr iPropInst { WARN "Could not get the string property instance $simple_id." }
+ Release $iPropMgr
+ return $iPropInst
+}
+
+# Helper to get a property instance from the property manager.
+proc GetPropertyInstance { iProjHelper view_name view_id prop_name } {
+ set iPropInst 0
+ set iPropTempl [ GetPropertyTemplate $iProjHelper $prop_name ]
+ if {$iPropTempl == 0} { return 0 }
+ set context [ GetViewContext $iProjHelper $view_id $view_name ]
+ set iPropMgr [GetPropertyManager $iProjHelper]
+ if {$iPropMgr == 0} { return 0 }
+ $iPropMgr GetPropertyInstance $iPropTempl $context iPropInst
+ OnNullPtr iPropInst {
+ if { ![IsBlank $view_id] && ![IsBlank $view_name] } {
+ WARN "Could not get the context sensitive property instance $prop_name."
+ } else {
+ WARN "Could not get the property instance $prop_name."
+ }
+ }
+ Release $iPropMgr
+ return $iPropInst
+}
+
+# Helper to store properties back into the property manager.
+proc RestoreProcessProperties { iProjHelper process_props } {
+ INFO "Restoring process properties"
+ foreach { unused view_name view_id simple_id prop_name prop_val } $process_props {
+ set iPropInst 0
+ if {![IsBlank $simple_id]} {
+ set iPropInst [ GetStringPropertyInstance $iProjHelper $simple_id ]
+ } else {
+ set iPropInst [ GetPropertyInstance $iProjHelper $view_name $view_id $prop_name ]
+ }
+ OnOkPtr iPropInst {
+ OnFail [ $iPropInst SetStringValue "$prop_val" ] {
+ WARN "Could not set the value of the $prop_name property to \"$prop_val\"."
+ }
+ }
+ Release $iPropInst
+ }
+}
+
+# Helper to recreate partitions from the variable name with
+# a list of instance names.
+proc RestorePartitions { namelist } {
+ INFO "Restoring partitions."
+ set iHDProject [ GetCurrentHDProject ]
+ OnOkPtr iHDProject {
+ foreach name $namelist {
+ set iPartition [ $iHDProject CreatePartition "$name" ]
+ }
+ }
+}
+
+# Helper to create and populate a library
+#
+proc CreateLibrary { iProjHelper libname filelist } {
+
+ set iLibMgr [ GetSourceLibraryManager $iProjHelper ]
+ set iFileMgr [ GetFileManager $iProjHelper ]
+
+ if {$iLibMgr == 0} { return 0 }
+ if {$iFileMgr == 0} { return 0 }
+
+ $iLibMgr CreateSourceLibrary "libname" ilib
+
+ OnOkPtr ilib {
+ foreach filename $filelist {
+ set argfile [ file normalize "$filename" ]
+ set found 0
+ set fileiter 0
+ $iFileMgr GetFiles fileiter
+ ForEachIterEle ifile $fileiter {
+ set path ""
+ set file ""
+ $ifile getPath path file
+ set currentfile [ file normalize [ file join "$path" "$file" ] ]
+ if { $currentfile == $argfile } {
+ set found 1
+ $ilib AddFile ifile
+ break
+ }
+ }
+ OnNullPtr found {
+ WARN "Could not add the file \"$filename\" to the library \"$libname\"."
+ }
+ }
+ }
+}
+
+# Helper to create source libraries and populate them.
+proc RestoreSourceLibraries { iProjHelper libraries } {
+ INFO "Restoring source libraries."
+ foreach { libname filelist } $libraries {
+ CreateLibrary $iProjHelper "$libname" $filelist
+ }
+}
+
+# Helper to add user files to the project using the PnF.
+proc AddUserFiles { iProjHelper files } {
+ INFO "Adding User files."
+ set iconflict 0
+ set iSrcHelper [ GetProjSrcHelper $iProjHelper ]
+ if {$iSrcHelper == 0} { return 0 }
+ foreach filename $files {
+ INFO "Adding the file \"$filename\" to the project."
+ set result [$iSrcHelper AddSourceFile "$filename" iconflict]
+ OnFail $result {
+ if {$result == 6} {
+ INFO "The file \"$filename\" is already in the project."
+ } else {
+ ERR "A problem occurred adding the file \"$filename\" to the project."
+ }
+ }
+ }
+}
+
+# Helper to add files to the project and set their origination.
+# Valid origination values are:
+# 0 - User
+# 1 - Generated
+# 2 - Imported
+# Files of origination "User" are added through the facilitator,
+# otherwise they are added directly to the File Manager.
+proc AddImportedFiles { iProjHelper files origination } {
+ switch $origination {
+ 0 { INFO "Adding User files." }
+ 1 { INFO "Adding Generated files." }
+ 2 { INFO "Adding Imported files." }
+ default {
+ ERR "Invalid parameter: origination was set to \"$origination\", but may only be 0, 1, or 2."
+ return 0
+ }
+ }
+ set iFileMgr [ GetFileManager $iProjHelper ]
+ if {$iFileMgr == 0} { return 0 }
+ foreach filename $files {
+ set file_type 0
+ set hdl_file 0
+ set result [$iFileMgr AddFile "$filename" $file_type hdl_file]
+ OnFail $result {
+ if {$result == 6} {
+ INFO "The file \"$filename\" is already in the project."
+ } elseif { $hdl_file == 0 } {
+ ERR "A problem occurred adding the file \"$filename\" to the project."
+ }
+ }
+ OnOkPtr hdl_file {
+ set ifile [ GetInterface $hdl_file $xilinx::Dpm::IFileID IFile ]
+ OnOkPtr ifile {
+ set result [ $ifile SetOrigination $origination ]
+ if {$result != 1} {
+ ERR "A problem occurred setting the origination of \"$filename\" to \"$origination\"."
+ }
+ Release $ifile
+ }
+ }
+ }
+ return 1
+}
+
+proc RestoreProjectSettings { iProjHelper project_settings } {
+ INFO "Restoring device settings"
+ set iScratch [GetScratchPropertyManager $iProjHelper]
+ set iPropIter 0
+ set iPropSet [ GetInterface $iScratch $xilinx::Dpm::IPropertyNodeSetID IPropertyNodeSet ]
+ OnOkPtr iPropSet {
+ $iPropSet GetIterator iPropIter
+ }
+ set index 0
+ set lastindex [llength $project_settings]
+ ForEachIterEle prop_node $iPropIter {
+ set prop_instance 0
+ $prop_node GetPropertyInstance prop_instance
+ if { $index < $lastindex } {
+ set argname [ lindex $project_settings $index ]
+ set argvalue [ lindex $project_settings [ expr $index + 1 ] ]
+ } else {
+ set argname {}
+ set argvalue {}
+ }
+ if { $prop_instance != 0 } {
+ set name {}
+ $prop_instance GetName name
+ if { [string equal $name $argname ] } {
+ $prop_instance SetStringValue $argvalue
+ incr index
+ incr index
+ }
+ }
+ Release $prop_instance
+ }
+ $iScratch Commit
+ # initialize
+ $iProjHelper Init
+}
+
+# Helper to load a source control configuration from a stream
+# and then store it back into an ise file.
+proc RestoreSourceControlOptions { prjfile istream } {
+ INFO "Restoring source control options"
+ set config_comp [::Xilinx::Cit::FactoryCreate $::xilinx::Dpm::SourceControlConfigurationCompID ]
+ OnOkPtr config_comp { set ipersist [ $config_comp GetInterface $xilinx::Prjrep::IPersistID ] }
+ OnOkPtr config_comp { set igetopts [ $config_comp GetInterface $xilinx::Dpm::SrcCtrl::IGetOptionsID ] }
+ set helper_comp [::Xilinx::Cit::FactoryCreate $::xilinx::Dpm::SourceControlHelpCompID ]
+ OnOkPtr helper_comp { set ihelper [ $config_comp GetInterface $xilinx::Dpm::SrcCtrl::IHelperID ] }
+ OnOkPtr ipersist { $ipersist Load istream }
+ OnOkPtr ihelper { OnOkPtr igetopts { $ihelper SaveOptions $prjfile $igetopts } }
+ Release $helper_comp $config_comp
+}
+
+# Call this proc to restore the ISE project.
+proc restore { { project_dir "" } } {
+ set script_file "s3e_vga_char_dev.restore"
+ set project_file "s3e_vga_char_dev.ise"
+ set backup_file "s3e_vga_char_dev.fail"
+ set old_working_dir [pwd]
+ # Make sure a project isn't already open.
+ if {[IsProjectOpen]} {
+ ERR "The project must be closed before performing this operation."
+ cd $old_working_dir
+ return
+ }
+ # If a project directory was supplied, cd into it.
+ if {![IsBlank $project_dir]} {
+ cd $project_dir
+ }
+ # Make sure the project file exists.
+ if { ![ file isfile "$project_file" ] } {
+ ERR "Could not find the project file \"$project_file\". You must be in the project directory to perform this operation."
+ cd $old_working_dir
+ return
+ }
+ # Make sure the project isn't locked.
+ set lock_file [GetProjectLockFile $project_file]
+ if { ![IsBlank "$lock_file" ] } {
+ ERR "Could not restore the project \"$project_name\" because it is locked."
+ INFO "Please remove the lock file \"$lock_file\" and try again."
+ cd $old_working_dir
+ return
+ }
+ # Backup this script because it will be overwritten the next time
+ # the project is saved, which happens right after it is created!
+ file copy -force "$script_file" "${script_file}.last"
+ # Back up the project and remove the project file, since it can't be opened.
+ OnFail [ MoveProject "$project_file" "$backup_file" ] {
+ cd $old_working_dir
+ return
+ }
+
+ # Open the project.
+ HandleException {
+ set iProjHelper [ OpenFacilProject "$project_file"]
+ } "A problem occurred while creating the project \"$project_file\"."
+ if {$iProjHelper == 0} {
+ cd $old_working_dir
+ return
+ }
+ INFO "Recreating project \"$project_file\"."
+ set project_settings {
+ "PROP_DevFamily" "Virtex2P"
+ "PROP_DevDevice" "xc2vp7"
+ "PROP_DevPackage" "fg456"
+ "PROP_DevSpeed" "-6"
+ "PROP_Top_Level_Module_Type" "HDL"
+ "PROP_Synthesis_Tool" "XST (VHDL/Verilog)"
+ "PROP_Simulator" "Modelsim-SE Mixed"
+ "PROP_PreferredLanguage" "Verilog"
+ "PROP_Enable_Message_Capture" "true"
+ "PROP_Enable_Message_Filtering" "false"
+ "PROP_Enable_Incremental_Messaging" "false"
+ }
+
+ HandleException {
+ RestoreProjectSettings $iProjHelper $project_settings
+ } "A problem occured while restoring project settings."
+
+ set user_files {
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd"
+ "../../hdl/verilog/user_logic.v"
+ "../../hdl/vhdl/s3e_vga_char_dev.vhd"}
+
+ HandleException {
+ AddUserFiles $iProjHelper $user_files
+ } "A problem occured while restoring user files."
+
+ set imported_files {}
+
+ set origination 2
+
+ HandleException {
+ AddImportedFiles $iProjHelper $imported_files $origination
+ } "A problem occured while restoring imported files."
+
+ set process_props {
+ "A" "" "" "" "PROPEXT_SynthMultStyle_virtex2" "Auto"
+ "A" "" "" "" "PROPEXT_xilxBitgCfg_DCIUpdateMode_virtex2p" "As Required"
+ "A" "" "" "" "PROPEXT_xilxBitgCfg_TDO_virtex2p" "Float"
+ "A" "" "" "" "PROPEXT_xilxBitgStart_Clk_Done_virtex2p" "Default (4)"
+ "A" "" "" "" "PROPEXT_xilxMapGenInputK_virtex2" "4"
+ "A" "" "" "" "PROPEXT_xilxSynthAddBufg_virtex2" "16"
+ "A" "" "" "" "PROPEXT_xilxSynthMaxFanout_virtex2" "500"
+ "A" "" "" "" "PROP_CPLDFitkeepio" "false"
+ "A" "" "" "" "PROP_CompxlibAbelLib" "true"
+ "A" "" "" "" "PROP_CompxlibCPLDDetLib" "true"
+ "A" "" "" "" "PROP_CompxlibOtherCompxlibOpts" ""
+ "A" "" "" "" "PROP_CompxlibOutputDir" "$XILINX//"
+ "A" "" "" "" "PROP_CompxlibOverwriteLib" "Overwrite"
+ "A" "" "" "" "PROP_CompxlibSimPath" "Search in Path"
+ "A" "" "" "" "PROP_CompxlibSimPrimatives" "true"
+ "A" "" "" "" "PROP_CompxlibXlnxCoreLib" "true"
+ "A" "" "" "" "PROP_CurrentFloorplanFile" ""
+ "A" "" "" "" "PROP_DesignName" "s3e_vga_char_dev"
+ "A" "" "" "" "PROP_Dummy" "dum1"
+ "A" "" "" "" "PROP_EnableWYSIWYG" "None"
+ "A" "" "" "" "PROP_Enable_Incremental_Messaging" "false"
+ "A" "" "" "" "PROP_Enable_Message_Capture" "true"
+ "A" "" "" "" "PROP_Enable_Message_Filtering" "false"
+ "A" "" "" "" "PROP_FunctionBlockInputLimit" "38"
+ "A" "" "" "" "PROP_ISimLibSearchOrderFile" ""
+ "A" "" "" "" "PROP_ISimSDFTimingToBeRead" "Setup Time"
+ "A" "" "" "" "PROP_ISimUseCustomCompilationOrder" "false"
+ "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_behav_tb" "false"
+ "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_behav_tbw" "false"
+ "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_gen_tbw" "false"
+ "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_par_tb" "false"
+ "A" "" "" "" "PROP_ISimUseCustomSimCmdFile_par_tbw" "false"
+ "A" "" "" "" "PROP_ISimUutInstName" "UUT"
+ "A" "" "" "" "PROP_ImpactProjectFile" ""
+ "A" "" "" "" "PROP_MSimSDFTimingToBeRead" "Setup Time"
+ "A" "" "" "" "PROP_ModelSimUseConfigName" "false"
+ "A" "" "" "" "PROP_Parse_Target" "synthesis"
+ "A" "" "" "" "PROP_PartitionCreateDelete" ""
+ "A" "" "" "" "PROP_PartitionForcePlacement" ""
+ "A" "" "" "" "PROP_PartitionForceSynth" ""
+ "A" "" "" "" "PROP_PartitionForceTranslate" ""
+ "A" "" "" "" "PROP_PlsClockEnable" "true"
+ "A" "" "" "" "PROP_PostTrceFastPath" "false"
+ "A" "" "" "" "PROP_PreTrceFastPath" "false"
+ "A" "" "" "" "PROP_SimDo" "true"
+ "A" "" "" "" "PROP_SimModelGenerateTestbenchFile" "false"
+ "A" "" "" "" "PROP_SimModelInsertBuffersPulseSwallow" "false"
+ "A" "" "" "" "PROP_SimModelOtherNetgenOpts" ""
+ "A" "" "" "" "PROP_SimModelRetainHierarchy" "true"
+ "A" "" "" "" "PROP_SimUseCustom_behav" "false"
+ "A" "" "" "" "PROP_SimUseCustom_postMap" "false"
+ "A" "" "" "" "PROP_SimUseCustom_postPar" "false"
+ "A" "" "" "" "PROP_SimUseCustom_postXlate" "false"
+ "A" "" "" "" "PROP_SynthCaseImplStyle" "None"
+ "A" "" "" "" "PROP_SynthDecoderExtract" "true"
+ "A" "" "" "" "PROP_SynthEncoderExtract" "Yes"
+ "A" "" "" "" "PROP_SynthExtractMux" "Yes"
+ "A" "" "" "" "PROP_SynthExtractRAM" "true"
+ "A" "" "" "" "PROP_SynthExtractROM" "true"
+ "A" "" "" "" "PROP_SynthFsmEncode" "Auto"
+ "A" "" "" "" "PROP_SynthLogicalShifterExtract" "true"
+ "A" "" "" "" "PROP_SynthOpt" "Speed"
+ "A" "" "" "" "PROP_SynthOptEffort" "Normal"
+ "A" "" "" "" "PROP_SynthResSharing" "true"
+ "A" "" "" "" "PROP_SynthShiftRegExtract" "true"
+ "A" "" "" "" "PROP_SynthXORCollapse" "true"
+ "A" "" "" "" "PROP_Top_Level_Module_Type" "HDL"
+ "A" "" "" "" "PROP_UseDataGate" "true"
+ "A" "" "" "" "PROP_XPowerOptInputTclScript" ""
+ "A" "" "" "" "PROP_XPowerOptLoadPCFFile" "Default"
+ "A" "" "" "" "PROP_XPowerOptLoadVCDFile" "Default"
+ "A" "" "" "" "PROP_XPowerOptLoadXMLFile" "Default"
+ "A" "" "" "" "PROP_XPowerOptOutputFile" "Default"
+ "A" "" "" "" "PROP_XPowerOptVerboseRpt" "false"
+ "A" "" "" "" "PROP_XPowerOtherXPowerOpts" ""
+ "A" "" "" "" "PROP_XplorerMode" "Off"
+ "A" "" "" "" "PROP_bitgen_Encrypt_keySeq0" "None"
+ "A" "" "" "" "PROP_bitgen_Encrypt_keySeq1" "None"
+ "A" "" "" "" "PROP_bitgen_Encrypt_keySeq2" "None"
+ "A" "" "" "" "PROP_bitgen_Encrypt_keySeq3" "None"
+ "A" "" "" "" "PROP_bitgen_Encrypt_keySeq4" "None"
+ "A" "" "" "" "PROP_bitgen_Encrypt_keySeq5" "None"
+ "A" "" "" "" "PROP_bitgen_Encrypt_startCBC" ""
+ "A" "" "" "" "PROP_bitgen_Encrypt_startKey" "None"
+ "A" "" "" "" "PROP_bitgen_otherCmdLineOptions" ""
+ "A" "" "" "" "PROP_cpldBestFit" "false"
+ "A" "" "" "" "PROP_cpldfitHDLeqStyle" "Source"
+ "A" "" "" "" "PROP_cpldfit_otherCmdLineOptions" ""
+ "A" "" "" "" "PROP_fitGenSimModel" "false"
+ "A" "" "" "" "PROP_hprep6_autosig" "false"
+ "A" "" "" "" "PROP_hprep6_otherCmdLineOptions" ""
+ "A" "" "" "" "PROP_ibiswriterEnableMultiLingualModel" "false"
+ "A" "" "" "" "PROP_ibiswriterShowAllModels" "false"
+ "A" "" "" "" "PROP_impactConfigFileName_CPLD" ""
+ "A" "" "" "" "PROP_mapUseRLOCConstraints" "true"
+ "A" "" "" "" "PROP_map_otherCmdLineOptions" ""
+ "A" "" "" "" "PROP_mpprRsltToCopy" ""
+ "A" "" "" "" "PROP_ngdbuildUseLOCConstraints" "true"
+ "A" "" "" "" "PROP_ngdbuild_otherCmdLineOptions" ""
+ "A" "" "" "" "PROP_parUseTimingConstraints" "true"
+ "A" "" "" "" "PROP_par_otherCmdLineOptions" ""
+ "A" "" "" "" "PROP_primeCorrelateOutput" "false"
+ "A" "" "" "" "PROP_primeFlatternOutputNetlist" "false"
+ "A" "" "" "" "PROP_primeTopLevelModule" ""
+ "A" "" "" "" "PROP_primetimeBlockRamData" ""
+ "A" "" "" "" "PROP_taengine_otherCmdLineOptions" ""
+ "A" "" "" "" "PROP_xcpldFitDesInit" "Low"
+ "A" "" "" "" "PROP_xcpldFitDesInputLmt_xbr" "32"
+ "A" "" "" "" "PROP_xcpldFitDesMultiLogicOpt" "true"
+ "A" "" "" "" "PROP_xcpldFitDesSlew" "Fast"
+ "A" "" "" "" "PROP_xcpldFitDesTimingCst" "true"
+ "A" "" "" "" "PROP_xcpldFitDesTriMode" "Keeper"
+ "A" "" "" "" "PROP_xcpldFitDesUnused" "Keeper"
+ "A" "" "" "" "PROP_xcpldFitDesVolt" "LVCMOS18"
+ "A" "" "" "" "PROP_xcpldFitTemplate_xpla3" "Optimize Density"
+ "A" "" "" "" "PROP_xcpldFittimRptOption" "Summary"
+ "A" "" "" "" "PROP_xcpldUseGlobalClocks" "true"
+ "A" "" "" "" "PROP_xcpldUseGlobalOutputEnables" "true"
+ "A" "" "" "" "PROP_xcpldUseGlobalSetReset" "true"
+ "A" "" "" "" "PROP_xcpldUseLocConst" "Always"
+ "A" "" "" "" "PROP_xilxBitgCfg_Clk" "Pull Up"
+ "A" "" "" "" "PROP_xilxBitgCfg_Code" "0xFFFFFFFF"
+ "A" "" "" "" "PROP_xilxBitgCfg_DCMBandgap" "false"
+ "A" "" "" "" "PROP_xilxBitgCfg_DCMShutdown" "false"
+ "A" "" "" "" "PROP_xilxBitgCfg_Done" "Pull Up"
+ "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_ASCIIFile" "false"
+ "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_BinaryFile" "false"
+ "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_BitFile" "true"
+ "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_Compress" "false"
+ "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_DRC" "true"
+ "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_EnableCRC" "true"
+ "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_IEEE1532File" "false"
+ "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_IEEE1532File_xbr" "false"
+ "A" "" "" "" "PROP_xilxBitgCfg_GenOpt_ReadBack" "false"
+ "A" "" "" "" "PROP_xilxBitgCfg_M0" "Pull Up"
+ "A" "" "" "" "PROP_xilxBitgCfg_M1" "Pull Up"
+ "A" "" "" "" "PROP_xilxBitgCfg_M2" "Pull Up"
+ "A" "" "" "" "PROP_xilxBitgCfg_Pgm" "Pull Up"
+ "A" "" "" "" "PROP_xilxBitgCfg_PwrDown" "Pull Up"
+ "A" "" "" "" "PROP_xilxBitgCfg_Rate" "4"
+ "A" "" "" "" "PROP_xilxBitgCfg_TCK" "Pull Up"
+ "A" "" "" "" "PROP_xilxBitgCfg_TDI" "Pull Up"
+ "A" "" "" "" "PROP_xilxBitgCfg_TMS" "Pull Up"
+ "A" "" "" "" "PROP_xilxBitgCfg_Unused" "Pull Down"
+ "A" "" "" "" "PROP_xilxBitgReadBk_Sec" "Enable Readback and Reconfiguration"
+ "A" "" "" "" "PROP_xilxBitgStart_Clk" "CCLK"
+ "A" "" "" "" "PROP_xilxBitgStart_Clk_DriveDone" "false"
+ "A" "" "" "" "PROP_xilxBitgStart_Clk_EnOut" "Default (5)"
+ "A" "" "" "" "PROP_xilxBitgStart_Clk_MatchCycle" "Auto"
+ "A" "" "" "" "PROP_xilxBitgStart_Clk_RelDLL" "Default (NoWait)"
+ "A" "" "" "" "PROP_xilxBitgStart_Clk_WrtEn" "Default (6)"
+ "A" "" "" "" "PROP_xilxBitgStart_IntDone" "false"
+ "A" "" "" "" "PROP_xilxMapAllowLogicOpt" "false"
+ "A" "" "" "" "PROP_xilxMapCoverMode" "Area"
+ "A" "" "" "" "PROP_xilxMapDisableRegOrdering" "false"
+ "A" "" "" "" "PROP_xilxMapPackRegInto" "For Inputs and Outputs"
+ "A" "" "" "" "PROP_xilxMapReplicateLogic" "true"
+ "A" "" "" "" "PROP_xilxMapReportDetail" "false"
+ "A" "" "" "" "PROP_xilxMapSliceLogicInUnusedBRAMs" "false"
+ "A" "" "" "" "PROP_xilxMapTimingDrivenPacking" "false"
+ "A" "" "" "" "PROP_xilxMapTrimUnconnSig" "true"
+ "A" "" "" "" "PROP_xilxNgdbldIOPads" "false"
+ "A" "" "" "" "PROP_xilxNgdbldMacro" ""
+ "A" "" "" "" "PROP_xilxNgdbldNTType" "Timestamp"
+ "A" "" "" "" "PROP_xilxNgdbldPresHierarchy" "false"
+ "A" "" "" "" "PROP_xilxNgdbldUR" ""
+ "A" "" "" "" "PROP_xilxNgdbldUnexpBlks" "false"
+ "A" "" "" "" "PROP_xilxNgdbld_AUL" "false"
+ "A" "" "" "" "PROP_xilxPARplacerCostTable" "1"
+ "A" "" "" "" "PROP_xilxPARplacerEffortLevel" "None"
+ "A" "" "" "" "PROP_xilxPARrouterEffortLevel" "None"
+ "A" "" "" "" "PROP_xilxPARstrat" "Normal Place and Route"
+ "A" "" "" "" "PROP_xilxPARuseBondedIO" "false"
+ "A" "" "" "" "PROP_xilxPostTrceAdvAna" "false"
+ "A" "" "" "" "PROP_xilxPostTrceRpt" "Error Report"
+ "A" "" "" "" "PROP_xilxPostTrceRptLimit" "3"
+ "A" "" "" "" "PROP_xilxPostTrceStamp" ""
+ "A" "" "" "" "PROP_xilxPostTrceTSIFile" ""
+ "A" "" "" "" "PROP_xilxPostTrceUncovPath" ""
+ "A" "" "" "" "PROP_xilxPreTrceAdvAna" "false"
+ "A" "" "" "" "PROP_xilxPreTrceRpt" "Error Report"
+ "A" "" "" "" "PROP_xilxPreTrceRptLimit" "3"
+ "A" "" "" "" "PROP_xilxPreTrceUncovPath" ""
+ "A" "" "" "" "PROP_xilxSynthAddIObuf" "true"
+ "A" "" "" "" "PROP_xilxSynthGlobOpt" "AllClockNets"
+ "A" "" "" "" "PROP_xilxSynthKeepHierarchy" "No"
+ "A" "" "" "" "PROP_xilxSynthKeepHierarchy_CPLD" "Yes"
+ "A" "" "" "" "PROP_xilxSynthMacroPreserve" "true"
+ "A" "" "" "" "PROP_xilxSynthRegBalancing" "No"
+ "A" "" "" "" "PROP_xilxSynthRegDuplication" "true"
+ "A" "" "" "" "PROP_xilxSynthXORPreserve" "true"
+ "A" "" "" "" "PROP_xilxTriStateBuffTXMode" "Off"
+ "A" "" "" "" "PROP_xstAsynToSync" "false"
+ "A" "" "" "" "PROP_xstAutoBRAMPacking" "false"
+ "A" "" "" "" "PROP_xstBRAMUtilRatio" "100"
+ "A" "" "" "" "PROP_xstBusDelimiter" "<>"
+ "A" "" "" "" "PROP_xstCase" "Maintain"
+ "A" "" "" "" "PROP_xstCoresSearchDir" ""
+ "A" "" "" "" "PROP_xstCrossClockAnalysis" "false"
+ "A" "" "" "" "PROP_xstEquivRegRemoval" "true"
+ "A" "" "" "" "PROP_xstFsmStyle" "LUT"
+ "A" "" "" "" "PROP_xstGenerateRTLNetlist" "Yes"
+ "A" "" "" "" "PROP_xstGenericsParameters" ""
+ "A" "" "" "" "PROP_xstHierarchySeparator" "/"
+ "A" "" "" "" "PROP_xstIniFile" ""
+ "A" "" "" "" "PROP_xstLibSearchOrder" ""
+ "A" "" "" "" "PROP_xstOptimizeInsPrimtives" "false"
+ "A" "" "" "" "PROP_xstPackIORegister" "Auto"
+ "A" "" "" "" "PROP_xstReadCores" "true"
+ "A" "" "" "" "PROP_xstSlicePacking" "true"
+ "A" "" "" "" "PROP_xstSliceUtilRatio" "100"
+ "A" "" "" "" "PROP_xstTristate2Logic" "Yes"
+ "A" "" "" "" "PROP_xstUseClockEnable" "Yes"
+ "A" "" "" "" "PROP_xstUseSyncReset" "Yes"
+ "A" "" "" "" "PROP_xstUseSyncSet" "Yes"
+ "A" "" "" "" "PROP_xstUseSynthConstFile" "true"
+ "A" "" "" "" "PROP_xstUserCompileList" ""
+ "A" "" "" "" "PROP_xstVeriIncludeDir_Global" ""
+ "A" "" "" "" "PROP_xstVerilog2001" "true"
+ "A" "" "" "" "PROP_xstVerilogMacros" ""
+ "A" "" "" "" "PROP_xstWorkDir" "./xst"
+ "A" "" "" "" "PROP_xstWriteTimingConstraints" "false"
+ "A" "" "" "" "PROP_xst_otherCmdLineOptions" ""
+ "A" "AutoGeneratedView" "VIEW_AbstractSimulation" "" "PROP_TopDesignUnit" "Architecture|s3e_vga_char_dev|IMP"
+ "A" "AutoGeneratedView" "VIEW_AnalyzedDesign" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimIncreCompilation" "true"
+ "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" ""
+ "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimSpecifySearchDirectory" ""
+ "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_ISimValueRangeCheck" "false"
+ "A" "AutoGeneratedView" "VIEW_AnnotatedPreSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_AnnotatedResultsModelSim" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_BehavioralSimulationModelSim" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_FPGAConfiguration" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_FPGAConfigureDevice" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_FPGAGeneratePROM" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Map" "" "PROP_SmartGuide" "false"
+ "A" "AutoGeneratedView" "VIEW_Map" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Par" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Post-MapAbstractSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Post-MapPreSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Post-MapSimulationModelSim" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Post-ParAbstractSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimCompileForHdlDebug" "true"
+ "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimIncreCompilation" "true"
+ "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" ""
+ "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimSpecifySearchDirectory" ""
+ "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_ISimValueRangeCheck" "false"
+ "A" "AutoGeneratedView" "VIEW_Post-ParPreSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Post-ParSimulationModelSim" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Post-SynthesisAbstractSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Post-TranslateAbstractSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Post-TranslatePreSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Post-TranslateSimulationModelSim" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_PostAbstractSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimCompileForHdlDebug" "true"
+ "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimIncreCompilation" "true"
+ "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" ""
+ "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimSpecifySearchDir" ""
+ "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimSpecifySearchDirectory" ""
+ "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_ISimValueRangeCheck" "false"
+ "A" "AutoGeneratedView" "VIEW_PreSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Structural" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_TBWBehavioralSimulationModelSim" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPost-MapPreSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPost-MapSimulationModelSim" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimCompileForHdlDebug" "true"
+ "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimIncreCompilation" "true"
+ "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimSpecifySearchDirectory" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_ISimValueRangeCheck" "false"
+ "A" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPost-ParSimulationModelSim" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPost-TranslatePreSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPost-TranslateSimulationModelSim" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimCompileForHdlDebug" "true"
+ "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimIncreCompilation" "true"
+ "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimSpecifyDefMacroAndValue" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimSpecifySearchDirectory" ""
+ "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_ISimValueRangeCheck" "false"
+ "A" "AutoGeneratedView" "VIEW_TBWPreSimulation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_Translation" "" "PROP_SmartGuide" "false"
+ "A" "AutoGeneratedView" "VIEW_Translation" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_UpdatedBitstream" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_XSTAbstractSynthesis" "" "PROP_SmartGuide" "false"
+ "A" "AutoGeneratedView" "VIEW_XSTAbstractSynthesis" "" "PROP_TopDesignUnit" "Architecture|s3e_vga_char_dev|IMP"
+ "A" "AutoGeneratedView" "VIEW_XSTPreSynthesis" "" "PROP_TopDesignUnit" ""
+ "A" "AutoGeneratedView" "VIEW_XSTPreSynthesis" "" "PROP_xstVeriIncludeDir" ""
+ "A" "VIEW_Initial" "VIEW_Initial" "" "PROP_TopDesignUnit" "Architecture|s3e_vga_char_dev|IMP"
+ "B" "" "" "" "PROP_AutoGenFile" "false"
+ "B" "" "" "" "PROP_DevFamily" "Virtex2P"
+ "B" "" "" "" "PROP_FitterOptimization_xpla3" "Density"
+ "B" "" "" "" "PROP_ISimCustomCompilationOrderFile" ""
+ "B" "" "" "" "PROP_ISimCustomSimCmdFileName_behav_tb" ""
+ "B" "" "" "" "PROP_ISimCustomSimCmdFileName_behav_tbw" ""
+ "B" "" "" "" "PROP_ISimCustomSimCmdFileName_gen_tbw" ""
+ "B" "" "" "" "PROP_ISimCustomSimCmdFileName_par_tb" ""
+ "B" "" "" "" "PROP_ISimCustomSimCmdFileName_par_tbw" ""
+ "B" "" "" "" "PROP_ISimGenVCDFile_par_tb" "false"
+ "B" "" "" "" "PROP_ISimGenVCDFile_par_tbw" "false"
+ "B" "" "" "" "PROP_ISimSimulationRun_behav_tb" "true"
+ "B" "" "" "" "PROP_ISimSimulationRun_behav_tbw" "true"
+ "B" "" "" "" "PROP_ISimSimulationRun_par_tb" "true"
+ "B" "" "" "" "PROP_ISimSimulationRun_par_tbw" "true"
+ "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_behav_tb" "false"
+ "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_behav_tbw" "false"
+ "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_par_tb" "false"
+ "B" "" "" "" "PROP_ISimStoreAllSignalTransitions_par_tbw" "false"
+ "B" "" "" "" "PROP_MapEffortLevel" "Medium"
+ "B" "" "" "" "PROP_MapLogicOptimization" "false"
+ "B" "" "" "" "PROP_MapPlacerCostTable" "1"
+ "B" "" "" "" "PROP_MapRegDuplication" "false"
+ "B" "" "" "" "PROP_ModelSimConfigName" "Default"
+ "B" "" "" "" "PROP_ModelSimDataWin" "false"
+ "B" "" "" "" "PROP_ModelSimListWin" "false"
+ "B" "" "" "" "PROP_ModelSimProcWin" "false"
+ "B" "" "" "" "PROP_ModelSimSignalWin" "true"
+ "B" "" "" "" "PROP_ModelSimSimRes" "Default (1 ps)"
+ "B" "" "" "" "PROP_ModelSimSimRunTime_tb" "1000ns"
+ "B" "" "" "" "PROP_ModelSimSimRunTime_tbw" "1000ns"
+ "B" "" "" "" "PROP_ModelSimSourceWin" "false"
+ "B" "" "" "" "PROP_ModelSimStructWin" "true"
+ "B" "" "" "" "PROP_ModelSimUutInstName_postMap" "UUT"
+ "B" "" "" "" "PROP_ModelSimUutInstName_postPar" "UUT"
+ "B" "" "" "" "PROP_ModelSimVarsWin" "false"
+ "B" "" "" "" "PROP_ModelSimWaveWin" "true"
+ "B" "" "" "" "PROP_SimCustom_behav" ""
+ "B" "" "" "" "PROP_SimCustom_postMap" ""
+ "B" "" "" "" "PROP_SimCustom_postPar" ""
+ "B" "" "" "" "PROP_SimCustom_postXlate" ""
+ "B" "" "" "" "PROP_SimGenVcdFile" "false"
+ "B" "" "" "" "PROP_SimModelRenTopLevInstTo" "UUT"
+ "B" "" "" "" "PROP_SimSyntax" "93"
+ "B" "" "" "" "PROP_SimUseExpDeclOnly" "true"
+ "B" "" "" "" "PROP_SimUserCompileList_behav" ""
+ "B" "" "" "" "PROP_Simulator" "Modelsim-SE Mixed"
+ "B" "" "" "" "PROP_SynthConstraintsFile" ""
+ "B" "" "" "" "PROP_SynthMuxStyle" "Auto"
+ "B" "" "" "" "PROP_SynthRAMStyle" "Auto"
+ "B" "" "" "" "PROP_XPowerOptAdvancedVerboseRpt" "false"
+ "B" "" "" "" "PROP_XPowerOptMaxNumberLines" "1000"
+ "B" "" "" "" "PROP_XPowerOptUseTimeBased" "false"
+ "B" "" "" "" "PROP_bitgen_Encrypt_Encrypt" "false"
+ "B" "" "" "" "PROP_impactBaud" "None"
+ "B" "" "" "" "PROP_impactConfigMode" "None"
+ "B" "" "" "" "PROP_impactPort" "None"
+ "B" "" "" "" "PROP_parGenAsyDlyRpt" "false"
+ "B" "" "" "" "PROP_parGenClkRegionRpt" "false"
+ "B" "" "" "" "PROP_parGenSimModel" "false"
+ "B" "" "" "" "PROP_parGenTimingRpt" "true"
+ "B" "" "" "" "PROP_parMpprNodelistFile" ""
+ "B" "" "" "" "PROP_parMpprParIterations" "3"
+ "B" "" "" "" "PROP_parMpprResultsDirectory" ""
+ "B" "" "" "" "PROP_parMpprResultsToSave" ""
+ "B" "" "" "" "PROP_parPowerReduction" "false"
+ "B" "" "" "" "PROP_vcom_otherCmdLineOptions" ""
+ "B" "" "" "" "PROP_vlog_otherCmdLineOptions" ""
+ "B" "" "" "" "PROP_vsim_otherCmdLineOptions" ""
+ "B" "" "" "" "PROP_xcpldFitDesInReg_xbr" "true"
+ "B" "" "" "" "PROP_xcpldFitDesPtermLmt_xbr" "28"
+ "B" "" "" "" "PROP_xilxBitgCfg_GenOpt_DbgBitStr" "false"
+ "B" "" "" "" "PROP_xilxBitgCfg_GenOpt_LogicAllocFile" "false"
+ "B" "" "" "" "PROP_xilxBitgCfg_GenOpt_MaskFile" "false"
+ "B" "" "" "" "PROP_xilxBitgReadBk_GenBitStr" "false"
+ "B" "" "" "" "PROP_xilxMapPackfactor" "100"
+ "B" "" "" "" "PROP_xilxPAReffortLevel" "Standard"
+ "B" "" "" "" "PROP_xstMoveFirstFfStage" "true"
+ "B" "" "" "" "PROP_xstMoveLastFfStage" "true"
+ "B" "" "" "" "PROP_xstROMStyle" "Auto"
+ "B" "" "" "" "PROP_xstSafeImplement" "No"
+ "B" "AutoGeneratedView" "VIEW_Map" "" "PROP_ParSmartGuideFileName" ""
+ "B" "AutoGeneratedView" "VIEW_Translation" "" "PROP_MapSmartGuideFileName" ""
+ "C" "" "" "" "PROP_AceActiveName" ""
+ "C" "" "" "" "PROP_CompxlibLang" "All"
+ "C" "" "" "" "PROP_CompxlibSmartModels" "true"
+ "C" "" "" "" "PROP_CompxlibUpdateIniForSmartModel" "false"
+ "C" "" "" "" "PROP_DevDevice" "xc2vp7"
+ "C" "" "" "" "PROP_DevFamilyPMName" "virtex2p"
+ "C" "" "" "" "PROP_ISimSimulationRunTime_behav_tb" "1000 ns"
+ "C" "" "" "" "PROP_ISimSimulationRunTime_behav_tbw" "1000 ns"
+ "C" "" "" "" "PROP_ISimSimulationRunTime_par_tb" "1000 ns"
+ "C" "" "" "" "PROP_ISimSimulationRunTime_par_tbw" "1000 ns"
+ "C" "" "" "" "PROP_ISimVCDFileName_par_tb" "xpower.vcd"
+ "C" "" "" "" "PROP_ISimVCDFileName_par_tbw" "xpower.vcd"
+ "C" "" "" "" "PROP_MapExtraEffort" "None"
+ "C" "" "" "" "PROP_SimModelGenMultiHierFile" "false"
+ "C" "" "" "" "PROP_XPowerOptBaseTimeUnit" "ps"
+ "C" "" "" "" "PROP_XPowerOptNumberOfUnits" "1"
+ "C" "" "" "" "PROP_bitgen_Encrypt_key0" ""
+ "C" "" "" "" "PROP_bitgen_Encrypt_key1" ""
+ "C" "" "" "" "PROP_bitgen_Encrypt_key2" ""
+ "C" "" "" "" "PROP_bitgen_Encrypt_key3" ""
+ "C" "" "" "" "PROP_bitgen_Encrypt_key4" ""
+ "C" "" "" "" "PROP_bitgen_Encrypt_key5" ""
+ "C" "" "" "" "PROP_bitgen_Encrypt_keyFile" ""
+ "C" "" "" "" "PROP_impactConfigFileName" ""
+ "C" "" "" "" "PROP_xilxBitgCfg_GenOpt_ReadBack_virtex2" "false"
+ "C" "" "" "" "PROP_xilxPARextraEffortLevel" "None"
+ "D" "" "" "" "PROP_CompxlibUni9000Lib" "true"
+ "D" "" "" "" "PROP_CompxlibUniSimLib" "true"
+ "D" "" "" "" "PROP_DevPackage" "fg456"
+ "D" "" "" "" "PROP_Synthesis_Tool" "XST (VHDL/Verilog)"
+ "D" "" "" "" "PROP_xilxBitgCfg_GenOpt_LogicAllocFile_virtex2" "false"
+ "D" "" "" "" "PROP_xilxBitgCfg_GenOpt_MaskFile_virtex2" "false"
+ "D" "" "" "" "PROP_xilxBitgReadBk_GenBitStr_virtex2" "false"
+ "E" "" "" "" "PROP_DevSpeed" "-6"
+ "E" "" "" "" "PROP_PreferredLanguage" "Verilog"
+ "F" "" "" "" "PROP_ChangeDevSpeed" "-6"
+ "F" "" "" "" "PROP_SimModelTarget" "Verilog"
+ "F" "" "" "" "PROP_tbwTestbenchTargetLang" "Verilog"
+ "F" "" "" "" "PROP_xilxPostTrceSpeed" "-6"
+ "F" "" "" "" "PROP_xilxPreTrceSpeed" "-6"
+ "G" "" "" "" "PROP_PostSynthSimModelName" "_synthesis.v"
+ "G" "" "" "" "PROP_SimModelAutoInsertGlblModuleInNetlist" "true"
+ "G" "" "" "" "PROP_SimModelGenArchOnly" "false"
+ "G" "" "" "" "PROP_SimModelIncSdfAnnInVerilogFile" "true"
+ "G" "" "" "" "PROP_SimModelIncSimprimInVerilogFile" "false"
+ "G" "" "" "" "PROP_SimModelIncUnisimInVerilogFile" "false"
+ "G" "" "" "" "PROP_SimModelIncUselibDirInVerilogFile" "false"
+ "G" "" "" "" "PROP_SimModelNoEscapeSignal" "false"
+ "G" "" "" "" "PROP_SimModelOutputExtIdent" "false"
+ "G" "" "" "" "PROP_SimModelRenTopLevArchTo" "Structure"
+ "G" "" "" "" "PROP_SimModelRenTopLevMod" ""
+ "G" "AutoGeneratedView" "VIEW_Map" "" "PROP_PostMapSimModelName" "_map.v"
+ "G" "AutoGeneratedView" "VIEW_Par" "" "PROP_PostParSimModelName" "_timesim.v"
+ "G" "AutoGeneratedView" "VIEW_Post-MapAbstractSimulation" "" "PROP_tbwPostMapTestbenchName" ""
+ "G" "AutoGeneratedView" "VIEW_Post-ParAbstractSimulation" "" "PROP_tbwPostParTestbenchName" ""
+ "G" "AutoGeneratedView" "VIEW_Post-TranslateAbstractSimulation" "" "PROP_tbwPostXlateTestbenchName" ""
+ "G" "AutoGeneratedView" "VIEW_TBWPost-MapPreSimulation" "" "PROP_tbwPostMapTestbenchName" ""
+ "G" "AutoGeneratedView" "VIEW_TBWPost-ParPreSimulation" "" "PROP_tbwPostParTestbenchName" ""
+ "G" "AutoGeneratedView" "VIEW_TBWPost-TranslatePreSimulation" "" "PROP_tbwPostXlateTestbenchName" ""
+ "G" "AutoGeneratedView" "VIEW_Translation" "" "PROP_PostXlateSimModelName" "_translate.v"
+ "H" "" "" "" "PROP_SimModelBringOutGsrNetAsAPort" "false"
+ "H" "" "" "" "PROP_SimModelBringOutGtsNetAsAPort" "false"
+ "H" "" "" "" "PROP_SimModelPathUsedInSdfAnn" "Default"
+ "H" "AutoGeneratedView" "VIEW_Map" "" "PROP_SimModelRenTopLevEntTo" ""
+ "H" "AutoGeneratedView" "VIEW_Par" "" "PROP_SimModelRenTopLevEntTo" ""
+ "H" "AutoGeneratedView" "VIEW_Structural" "" "PROP_SimModelRenTopLevEntTo" ""
+ "H" "AutoGeneratedView" "VIEW_Translation" "" "PROP_SimModelRenTopLevEntTo" ""
+ "I" "" "" "" "PROP_SimModelGsrPortName" "GSR_PORT"
+ "I" "" "" "" "PROP_SimModelGtsPortName" "GTS_PORT"
+ "I" "" "" "" "PROP_SimModelRocPulseWidth" "100"
+ "I" "" "" "" "PROP_SimModelTocPulseWidth" "0"}
+
+ HandleException {
+ RestoreProcessProperties $iProjHelper $process_props
+ } "A problem occured while restoring process properties."
+
+ # library names and their members
+ set libraries {
+ "interrupt_control_v1_00_a"
+ {
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd"
+ }
+ "opb_ipif_v3_01_c"
+ {
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd"
+ }
+ "proc_common_v2_00_a"
+ {
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd"
+ }
+ "rdpfifo_v1_01_b"
+ {
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd"
+ }
+ "s3e_vga_char_dev_v1_00_a"
+ {
+ "../../hdl/vhdl/s3e_vga_char_dev.vhd"
+ }
+ "wrpfifo_v1_01_b"
+ {
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd"
+ "../../../../../../EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd"
+ }
+ }
+
+ HandleException {
+ RestoreSourceLibraries $iProjHelper $libraries
+ } "A problem occured while restoring source libraries."
+
+ # Close the facilitator project.
+ CloseFacilProject $iProjHelper
+
+ # Open the restored project in the user's client application,
+ # which will either be the Projnav GUI or xtclsh.
+ project open $project_file
+
+ # Let the user know about the backed up project file.
+ INFO "The project \"$project_file\" was backed up as \"$backup_file\"."
+ INFO "Please open a Technical Support WebCase at"
+ INFO "www.xilinx.com/support/clearexpress/websupport.htm"
+ INFO "and submit this file, along with the project source files, for evaluation."
+}
+
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/automake.log
===================================================================
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup
===================================================================
--- trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup (nonexistent)
+++ trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup (revision 2)
trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise_ISE_Backup
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.cli
===================================================================
--- trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.cli (nonexistent)
+++ trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.cli (revision 2)
@@ -0,0 +1,103 @@
+NewProject(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/devl/projnav/s3e_vga_char_dev.ise)
+SetProperty(Device Family, virtex2p)
+SetProperty(Device, xc2vp7)
+SetProperty(Package, fg456)
+SetProperty(Speed Grade, -6)
+SetProperty(Top-Level Module Type, HDL)
+SetProperty(Synthesis Tool, XST (VHDL/Verilog))
+SetProperty(Simulator, Modelsim-SE Mixed)
+SetPreference(PathType, Absolute)
+AddLibrary(s3e_vga_char_dev_v1_00_a, D:/custom_pulse_generator/standalone_pulse_generator/pcores, TRUE)
+AddSource(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl/vhdl/s3e_vga_char_dev.vhd, VHDL Module)
+MoveToLibrary(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl/vhdl/s3e_vga_char_dev.vhd, s3e_vga_char_dev_v1_00_a)
+AddSource(D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl/verilog/user_logic.v, Verilog Module)
+AddLibrary(proc_common_v2_00_a, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd, proc_common_v2_00_a)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd, proc_common_v2_00_a)
+AddLibrary(interrupt_control_v1_00_a, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd, interrupt_control_v1_00_a)
+AddLibrary(wrpfifo_v1_01_b, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd, wrpfifo_v1_01_b)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd, wrpfifo_v1_01_b)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd, wrpfifo_v1_01_b)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd, wrpfifo_v1_01_b)
+AddLibrary(rdpfifo_v1_01_b, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd, rdpfifo_v1_01_b)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd, rdpfifo_v1_01_b)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd, rdpfifo_v1_01_b)
+AddLibrary(opb_ipif_v3_01_c, D:/EDK/hw/XilinxProcessorIPLib/pcores, TRUE)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd, opb_ipif_v3_01_c)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd, opb_ipif_v3_01_c)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd, opb_ipif_v3_01_c)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd, opb_ipif_v3_01_c)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd, opb_ipif_v3_01_c)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd, opb_ipif_v3_01_c)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd, opb_ipif_v3_01_c)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd, opb_ipif_v3_01_c)
+AddSource(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd, VHDL Module)
+MoveToLibrary(D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd, opb_ipif_v3_01_c)
+CloseProject()
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/projnav/__projnav.log
===================================================================
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.log
===================================================================
--- trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.log (nonexistent)
+++ trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.log (revision 2)
@@ -0,0 +1,346 @@
+
+----------------------------------------------------------------------------
+-- Design Analysis --
+----------------------------------------------------------------------------
+Analyze pcore s3e_vga_char_dev ...
+
+
+----------------------------------------------------------------------------
+-- File Generation --
+----------------------------------------------------------------------------
+Creating HDL source directory ...
+Generating top peripheral VHDL template ...
+Generating stub user logic Verilog template ...
+HDL templates successfully generated ...
+Creating data directory ...
+Generating XPS inteface files ...
+WARNING:HDLParsers:3497 - Ignoring Verilog File
+ "D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev
+ _v1_00_a/data/../hdl/verilog/user_logic.v"
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut
+4.vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_b
+it.vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit
+.vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.v
+hd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_count
+er.vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_
+pkg.vhd" in Library proc_common_v2_00_a.
+Package compiled.
+Package body compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_count
+er_top.vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_t
+op.vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd
+" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.
+vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd
+" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd"
+in Library proc_common_v2_00_a.
+Package compiled.
+Package body compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd"
+in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd"
+in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vh
+d" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_sel
+ect.vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.v
+hd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd"
+in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd
+" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg
+.vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.v
+hd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter
+.vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd
+" in Library proc_common_v2_00_a.
+Package compiled.
+Package body compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.v
+hd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_
+cntr_ai.vhd" in Library proc_common_v2_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd"
+in Library wrpfifo_v1_01_b.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.
+vhd" in Library rdpfifo_v1_01_b.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.
+vhd" in Library rdpfifo_v1_01_b.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.
+vhd" in Library wrpfifo_v1_01_b.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.
+vhd" in Library wrpfifo_v1_01_b.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_c
+ntr.vhd" in Library opb_ipif_v3_01_c.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd"
+in Library opb_ipif_v3_01_c.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vh
+d" in Library opb_ipif_v3_01_c.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd"
+in Library opb_ipif_v3_01_c.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.
+vhd" in Library opb_ipif_v3_01_c.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_
+reg.vhd" in Library opb_ipif_v3_01_c.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd"
+in Library opb_ipif_v3_01_c.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interr
+upt_control.vhd" in Library interrupt_control_v1_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd"
+in Library wrpfifo_v1_01_b.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd"
+in Library rdpfifo_v1_01_b.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd" in
+Library opb_ipif_v3_01_c.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd"
+in Library opb_ipif_v3_01_c.
+Entity compiled.
+Entity (Architecture ) compiled.
+Compiling vhdl file
+"D:/custom_pulse_generator/standalone_pulse_generator/pcores/s3e_vga_char_dev_v1
+_00_a/data/../hdl/vhdl/s3e_vga_char_dev.vhd" in Library
+s3e_vga_char_dev_v1_00_a.
+Entity compiled.
+Entity (Architecture ) compiled.
+
+
+Analyzing HDL attributes ...
+INFO:MDT - IPTYPE set to value : PERIPHERAL
+INFO:MDT - IMP_NETLIST set to value : TRUE
+INFO:MDT - HDL set to value : VHDL
+WARNING:MDT - Unable to delete temparary XST project file
+ D:\custom_pulse_generator\standalone_pulse_generator\pcores\s3e_vga_char_dev_
+ v1_00_a\data\_s3e_vga_char_dev_xst.prj : 13
+XPS interface files successfully generated ...
+Creating development directory ...
+Generating command option file ...
+Generating readme file ...
+Development misc files successfully generated ...
+Creating projnav directory ...
+Generating ProjNav support files ...
+ProjNav support files successfully generated ...
+Creating synthesis directory ...
+Generating XST synthesis support files ...
+XST synthesis support files successfully generated ...
+No BFM simulation files will be generated at this time ...
+Creating software driver data directory ...
+Generating software driver XPS interface (mdd/tcl) files ...
+Software driver data definition file (.mdd) successfully generated ...
+Software driver data generation file (.tcl) successfully generated ...
+Creating software driver src directory ...
+Generating software driver template files ...
+Software driver compile file (Makefile) successfully generated ...
+output user slave register(s) offset to software driver header ...
+output IPIF software reset/module identification register(s) offset to software
+driver header ...
+Software driver header file (.h) successfully generated ...
+Software driver source file (.c) successfully generated ...
+Software driver SelfTest file (.c) successfully generated ...
+Software driver template files successfully generated ...
+
+----------------------------------------------------------------------------
+-- Final Report --
+----------------------------------------------------------------------------
+Thank you for using Create and Import Peripheral Wizard! Please find your
+peripheral hardware templates under
+D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_
+00_a and peripheral software templates under
+D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1
+_00_a respectively.
+
+Peripheral Summary:
+
+ top name : s3e_vga_char_dev
+ version : 1.00.a
+ type : OPB slave
+ features : slave attachement
+ mir/rst register
+ user s/w registers
+
+Address Block Summary:
+
+ user logic slv : C_BASEADDR + 0x00000000
+ : C_BASEADDR + 0x000000FF
+ mir/reset reg : C_BASEADDR + 0x00000100
+ : C_BASEADDR + 0x000001FF
+
+File Summary
+
+ - HDL source -
+D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_
+00_a/hdl
+ top entity : vhdl/s3e_vga_char_dev.vhd
+ user logic : verilog/user_logic.v
+
+ - XPS interface -
+D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_
+00_a/data
+ mpd : s3e_vga_char_dev_v2_1_0.mpd
+ pao : s3e_vga_char_dev_v2_1_0.pao
+
+ - ISE project -
+D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_
+00_a/devl/projnav
+ ise project : s3e_vga_char_dev.npl
+ cli command : s3e_vga_char_dev.cli
+
+
+ - XST synthesis -
+D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_
+00_a/devl/synthesis
+ xst script : s3e_vga_char_dev_xst.scr
+ xst project : s3e_vga_char_dev_xst.prj
+
+ - Misc file -
+D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_
+00_a/devl
+ help : README.txt
+ option : ipwiz.opt
+ log : ipwiz.log
+
+ - Driver source -
+D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1
+_00_a/src
+ makefile : Makefile
+ header : s3e_vga_char_dev.h
+ source : s3e_vga_char_dev.c
+ selftest : s3e_vga_char_dev_selftest.c
+
+ - Driver interface -
+D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1
+_00_a/data
+ mdd : s3e_vga_char_dev_v2_1_0.mdd
+ tcl : s3e_vga_char_dev_v2_1_0.tcl
+
+
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.opt
===================================================================
--- trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.opt (nonexistent)
+++ trunk/s3e_vga_char_dev_v1_00_a/devl/ipwiz.opt (revision 2)
@@ -0,0 +1,11 @@
+-batch
+-create s3e_vga_char_dev
+-ver 1.00.a
+-dir "D:\custom_pulse_generator\standalone_pulse_generator"
+-lang verilog
+-bus opb s
+-rstmir
+-regn 2 32
+-xps
+-ise
+-driver
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.scr
===================================================================
--- trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.scr (nonexistent)
+++ trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.scr (revision 2)
@@ -0,0 +1,12 @@
+run
+-opt_level 2
+-opt_mode speed
+-ifmt mixed
+-ifn "D:\custom_pulse_generator\standalone_pulse_generator\pcores\s3e_vga_char_dev_v1_00_a\devl\synthesis\s3e_vga_char_dev_xst.prj"
+-top s3e_vga_char_dev
+-p virtex2p
+-ofn "D:\custom_pulse_generator\standalone_pulse_generator\pcores\s3e_vga_char_dev_v1_00_a\devl\synthesis\s3e_vga_char_dev_xst.ngc"
+-iobuf NO
+-rtlview YES
+-hierarchy_separator /
+-work_lib s3e_vga_char_dev_v1_00_a
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.prj
===================================================================
--- trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.prj (nonexistent)
+++ trunk/s3e_vga_char_dev_v1_00_a/devl/synthesis/s3e_vga_char_dev_xst.prj (revision 2)
@@ -0,0 +1,44 @@
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/proc_common_pkg.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/family.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_muxcy.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/or_gate.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter_bit.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/counter.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/inferred_lut4.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl_fifo2.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_bit.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_counter_top.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_occ_counter_top.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder_bit.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_adder.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pf_dpram_select.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/srl16_fifo.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/pselect.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/valid_be.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ld_arith_reg.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/mux_onehot.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/down_counter.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_pkg.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/ipif_steer.vhd"
+vhdl proc_common_v2_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/proc_common_v2_00_a/hdl/vhdl/direct_path_cntr_ai.vhd"
+vhdl interrupt_control_v1_00_a "D:\EDK/hw/XilinxProcessorIPLib/pcores/interrupt_control_v1_00_a/hdl/vhdl/interrupt_control.vhd"
+vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/pf_dly1_mux.vhd"
+vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/ipif_control_wr.vhd"
+vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_dp_cntl.vhd"
+vhdl wrpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/wrpfifo_v1_01_b/hdl/vhdl/wrpfifo_top.vhd"
+vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/ipif_control_rd.vhd"
+vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_dp_cntl.vhd"
+vhdl rdpfifo_v1_01_b "D:\EDK/hw/XilinxProcessorIPLib/pcores/rdpfifo_v1_01_b/hdl/vhdl/rdpfifo_top.vhd"
+vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/reset_mir.vhd"
+vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr.vhd"
+vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_flex_addr_cntr.vhd"
+vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/brst_addr_cntr_reg.vhd"
+vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_be_gen.vhd"
+vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/srl_fifo3.vhd"
+vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/write_buffer.vhd"
+vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_bam.vhd"
+vhdl opb_ipif_v3_01_c "D:\EDK/hw/XilinxProcessorIPLib/pcores/opb_ipif_v3_01_c/hdl/vhdl/opb_ipif.vhd"
+verilog s3e_vga_char_dev_v1_00_a "../../hdl/verilog/user_logic.v"
+vhdl s3e_vga_char_dev_v1_00_a "../../hdl/vhdl/s3e_vga_char_dev.vhd"
Index: trunk/s3e_vga_char_dev_v1_00_a/devl/README.txt
===================================================================
--- trunk/s3e_vga_char_dev_v1_00_a/devl/README.txt (nonexistent)
+++ trunk/s3e_vga_char_dev_v1_00_a/devl/README.txt (revision 2)
@@ -0,0 +1,245 @@
+TABLE OF CONTENTS
+ 1) Peripheral Summary
+ 2) Description of Generated Files
+ 3) Description of Used IPIC Signals
+ 4) Description of Top Level Generics
+
+
+================================================================================
+* 1) Peripheral Summary *
+================================================================================
+Peripheral Summary:
+
+ XPS project / EDK repository : D:\custom_pulse_generator\standalone_pulse_generator
+ logical library name : s3e_vga_char_dev_v1_00_a
+ top name : s3e_vga_char_dev
+ version : 1.00.a
+ type : OPB slave
+ features : slave attachement
+ mir/rst register
+ user s/w registers
+
+Address Block for User Logic and IPIF Predefined Services
+
+ User logic slave space service : C_BASEADDR + 0x00000000
+ : C_BASEADDR + 0x000000FF
+ IPIF Reset/MIR service : C_BASEADDR + 0x00000100
+ : C_BASEADDR + 0x000001FF
+
+
+================================================================================
+* 2) Description of Generated Files *
+================================================================================
+- HDL source file(s)
+ D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/hdl
+
+ vhdl/s3e_vga_char_dev.vhd
+
+ This is the template file for your peripheral's top design entity. It
+ configures and instantiates the corresponding IPIF unit in the way you
+ indicated in the wizard GUI and hooks it up to the stub user logic where
+ the actual functionalites should get implemented. You are not expected to
+ modify this template file except certain marked places for adding user
+ specific generics and ports.
+
+ verilog/user_logic.v
+
+ This is the template file for the stub user logic design entity, either in
+ VHDL or Verilog, where the actual functionalities should get implemented.
+ Some sample code snippet may be provided for demonstration purpose.
+
+
+- XPS interface file(s)
+ D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/data
+
+ s3e_vga_char_dev_v2_1_0.mpd
+
+ This Microprocessor Peripheral Description file contains information of the
+ interface of your peripheral, so that other EDK tools can recognize your
+ peripheral.
+
+ s3e_vga_char_dev_v2_1_0.pao
+
+ This Peripheral Analysis Order file defines the analysis order of all the HDL
+ source files that are used to compile your peripheral.
+
+
+- ISE project file(s)
+ D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/devl/projnav
+
+ s3e_vga_char_dev.npl
+
+ This is the ProjNavigator project file. It sets up the needed logical
+ libraries and dependent library files for you to help you develop your
+ peripheral using ProjNavigator.
+
+ s3e_vga_char_dev.cli
+
+ This is the TCL command line file used to generate the .npl file.
+
+
+- XST synthesis file(s)
+ D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/devl/synthesis
+
+ s3e_vga_char_dev_xst.scr
+
+ This is the XST synthesis script file to compile your peripheral.
+ Note: you may want to modify the device part option for your target.
+
+ s3e_vga_char_dev_xst.prj
+
+ This is the XST synthesis project file used by the above script file to
+ compile your peripheral.
+
+
+- Driver source file(s)
+ D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1_00_a/src
+
+ s3e_vga_char_dev.h
+
+ This is the software driver header template file, which contains address offset of
+ software addressable registers in your peripheral, as well as some common masks and
+ simple register access macros or function declaration.
+
+ s3e_vga_char_dev.c
+
+ This is the software driver source template file, to define all applicable driver
+ functions.
+
+ s3e_vga_char_dev_selftest.c
+
+ This is the software driver self test example file, which contain self test example
+ code to test various hardware features of your peripheral.
+
+ Makefile
+
+ This is the software driver makefile to compile drivers.
+
+
+- Driver interface file(s)
+ D:\custom_pulse_generator\standalone_pulse_generator/drivers/s3e_vga_char_dev_v1_00_a/data
+
+ s3e_vga_char_dev_v2_1_0.mdd
+
+ This is the Microprocessor Driver Definition file.
+
+ s3e_vga_char_dev_v2_1_0.tcl
+
+ This is the Microprocessor Driver Command file.
+
+
+- Other misc file(s)
+ D:\custom_pulse_generator\standalone_pulse_generator/pcores/s3e_vga_char_dev_v1_00_a/devl
+
+ ipwiz.opt
+
+ This is the option setting file for the wizard batch mode, which should
+ generate the same result as the wizard GUI mode.
+
+ README.txt
+
+ This README file for your peripheral.
+
+ ipwiz.log
+
+ This is the log file by operating on this wizard.
+
+
+================================================================================
+* 3) Description of Used IPIC Signals *
+================================================================================
+For more information (usage, timing diagrams, etc.) regarding the IPIC signals
+used in the templates, please refer to the following specifications (under
+%XILINX_EDK%\doc for windows or $XILINX_EDK/doc for solaris and linux):
+proc_ip_ref_guide.pdf - Processor IP Reference Guide (chapter 4 IPIF)
+user_core_templates_ref_guide.pdf - User Core Templates Reference Guide
+
+Bus2IP_Clk
+ This is the clock input to the user logic. All IPIC signals are synchronous
+ to this clock. It is identical to the _Clk signal that is an input to
+ the user core. In an OPB core, Bus2IP_Clk is the same as OPB_Clk, and in a
+ PLB core, it is the same as PLB_Clk. No additional buffering is provided on
+ the clock; it is passed through as is.
+
+Bus2IP_Reset
+ Signal to reset the User Logic; asserts whenever the _Rst signal does
+ and, if the Reset block is included, whenever there is a software-programmed
+ reset.
+
+Bus2IP_Data
+ This is the data bus from the IPIF to the user logic; it is used for both
+ master and slave transactions. It is used to access user logic registers.
+
+Bus2IP_BE
+ The Bus2IP_BE is a bus of Byte Enable qualifiers from the IPIF to the user
+ logic. A bit in the Bus2IP_BE set to '1' indicates that the associated byte
+ lane contains valid data. For example, if Bus2IP_BE = 0011, this indicates
+ that byte lanes 2 and 3 contains valid data.
+
+Bus2IP_RdCE
+ The Bus2IP_RdCE bus is an input to the user logic. It is Bus2IP_CE qualified
+ by a read transaction.
+
+Bus2IP_WrCE
+ The Bus2IP_WrCE bus is an input to the user logic. It is Bus2IP_CE qualified
+ by a write transaction.
+
+IP2Bus_Data
+ This is the data bus from the user logic to the IPIF; it is used for both
+ master and slave transactions. It is used to access user logic registers.
+
+IP2Bus_Ack
+ The IP2Bus_Ack signal provide the read/write acknowledgement from the user
+ logic to the IPIF. For writes, it indicates the data has been taken by the
+ user logic. For reads, it indicates that valid data is available. For
+ immediate acknowledgement (such as for a register read/write), this signal
+ can be tied to '1'. Wait states can be inserted in the transaction by
+ delaying the assertion of the acknowledgement. If the IP2Bus_Ack for OPB
+ cores will be delayed more than 8 clocks, then the IP2Bus_ToutSup (timeout
+ suppress) signal must also be asserted to prevent a timeout on the host bus.
+
+IP2Bus_Retry
+ IP2Bus_Retry is a response from the user logic to the IPIF that indicates
+ the currently requested transaction cannot be completed at this time and
+ that the requesting master should retry the operation. If the IP2Bus_Retry
+ signal will be delayed more than 8 clocks, then the IP2Bus_ToutSup (timeout
+ suppress) signal must also be asserted to prevent a timeout on the host bus.
+ Note: this signal is unused by PLB IPIF.
+
+IP2Bus_Error
+ This signal from the user logic to the IPIF indicates an error has occurred
+ during the current transaction. It is valid when IP2Bus_Ack is asserted.
+
+IP2Bus_ToutSup
+ The IP2Bus_ToutSup must be asserted by the user logic whenever its
+ acknowledgement or retry response will take longer than 8 clock cycles.
+
+================================================================================
+* 4) Description of Top Level Generics *
+================================================================================
+C_BASEADDR/C_HIGHADDR
+ These two generics are used to define the memory mapped address space for
+ the peripheral registers, including Reset/MIR register, Interrupt Source
+ Controller registers, Read/Write FIFO control/data registers, user logic
+ software accessible registers and etc., but excluding those user logic
+ address ranges if ever used. When instantiation, the address space size
+ determined by these two generics must be a power of 2 (e.g. 2^k =
+ C_HIGHADDR - C_BASEADDR + 1), a factor of C_BASEADDR and larger than the
+ minimum size as indicated in the template.
+
+C_OPB_DWIDTH
+ This is the data bus width for On-chip Peripheral Bus (OPB). It should
+ always be set to 32 as of today.
+
+C_OPB_AWIDTH
+ This is the address bus width for On-chip Peripheral Bus (OPB). It should
+ always be set to 32 as of today.
+
+C_USER_ID_CODE
+ This is the ID that will be put into the MIR register, it's mainly used
+ for debug purpose to identify the peripheral under test if multiple
+ instances exist in the system.
+
+C_FAMILY
+ This is to set the target FPGA architecture, s.t. virtex2, virtex2p, etc.
+
Index: trunk/s3e_vga_char_dev_v1_00_a.zip
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: trunk/s3e_vga_char_dev_v1_00_a.zip
===================================================================
--- trunk/s3e_vga_char_dev_v1_00_a.zip (nonexistent)
+++ trunk/s3e_vga_char_dev_v1_00_a.zip (revision 2)
trunk/s3e_vga_char_dev_v1_00_a.zip
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property