EP32 RISC Processor IP

EP32 RISC Processor IP
Author: Dr Chen-Hanson Ting
Publisher:
Total Pages: 324
Release: 2020-07-05
Genre:
ISBN:

A 32 Bit RISC Processor in VHDL. VHDL Code Package ordered separately includes Simulator.It seems to be impossible, but you can design your own 32 processor system. Here with the help of the free to download Lattice Diamond Software just needed to program the FPGA.The image ( available soon ) includes the synthesized VHDL and the eForth and is programmed into the FPGA, start your favorite Terminal program and reset the Brevia board - writing code can start. More details to be found at https: //wiki.forth-ev.de/doku.php/projects: ep32: startNo additional hardware needed to get started, communication and Power Supply via the same USB cable. From the book: The eP32 microprocessor is a Minimal Instruction Set Computer (MISC), vis-à-vis Complicated Instruction Set Computer (CISC) and Reduced Instruction Set Computer (RISC). MISC was originally developed by Mr. Chuck Moore, and implemented in his MuP21 chip. It happened that Chuck also invented the FORTH programming language. For many years, Chuck sought to put FORTH into silicon, because he thought FORTH was not only a programming language, but also an excellent computer architecture.In the early 1990s, a group of engineers from the MOSIS multiple design chip service program came to Silicon Valley and started Orbit Semiconductor Corp, offering foundry services to the general public. Their service was based on a 1.2 micron CMOS processes on 5 inch wafer, with two metal layers. The smallest design they accepted was on a 2.4mmx2.4mm silicon die. Chuck figured that he could design a 20 bit CPU in that small area. It was named MuP21, because it was a multiprocessor chip, with a 20 bit CPU core, a DRAM memory coprocessor, and a video coprocessor, and all registers and stacks in the CPU core were 21 bits wide, with an extra bit to preserve the carry bit.Because of very limited silicon area, the MuP21 had a very small set of instructions, but they were sufficient to support a complete FORTH operating system and very demanding applications with real time NTSC video output. The chip was produced and verified, but productions in plastic packages were not successful because of poor yield.When FPGA chips became available, I tried to implement FORTH chips based on MuP21 instruction set. The first experiments were on an XS40 Kit from Xess Corp. It had a Xilinx VC4005XL FPGA on board with a 32 kB SRAM chip and an 8051 microcontroller. The purpose of this kit was to demonstrate how easy it was to use an FPGA to replace all glue logic between RAM and 8051, and to build a complete working microprocessor system. I managed to squeeze a 16-bit microprocessor, P16, into the VC4000XL chip and eliminated the 8051.Over the years, Xilinx added more logic gates and RAM blocks to their FPGAs, and I was able to put a 32-bit microprocessor, P32, into a VCX1000E chip (which had 16 kB of RAM) to host a FORTH system. This design was also ported to FPGA chips from Altera and Actel. P32 gradually evolved into eP32 with an eForth operating system. eForth is a very simple FORTH operating system designed specifically for embedded systems. However, FPGA chips were expensive, development boards were expensive, and development software tools were especially expensive. I talked about eP32 implementations, but very few people in the audience had these development tools to explore FPGA designs.It was therefore very exciting to learn about the LatticeXP2 Brevia Development Kit, which was on sale for $49. Development software was free to download. The Kit has a LatticeXP2-5E-6TN144C FPGA chip, which has enough logic cells to implement eP32, and enough RAM memory to host the eForth system. Its RAM memory is mirrored in flash memory on chip, and you do not need external memory chips for programs and data. It is truly a single chip solution for microprocessor system design.

EForth Overview

EForth Overview
Author: C. H. Ting
Publisher:
Total Pages: 120
Release: 2018-10-19
Genre:
ISBN: 9781726852364

Before diving directly into eForth, I would like to discuss the general principles of Forth language. The language consists of a collection of words, which reside in the memory of a computer and can be executed by entering their names on the computer keyboard. A list of words can be compiled, given a new name and made a new word. In fact, most words in Forth are defined as lists of existing words. A small set of primitive words are defined in machine code of the native CPU. All other words are built from this primitive words and eventually refer to them when executed.

Zen and the Forth Language

Zen and the Forth Language
Author: Chen-Hanson Ting
Publisher: Independently Published
Total Pages: 215
Release: 2018-11-08
Genre:
ISBN: 9781729330883

Forth was invented by Chuck Moore in the 1960s as a programming language. Chuck was not impressed by programming languages, operating systems, and computer hardware of that time. He sought the simplest and most efficient way to control his computers. He used Forth to program every computer in his sight. And then, he found that he could design better computers in transistors and gates, because Forth is much more than just a programming language; it is also an excellent computer architecture.

FPGA Design

FPGA Design
Author: Philip Simpson
Publisher: Springer Science & Business Media
Total Pages: 163
Release: 2010-07-23
Genre: Technology & Engineering
ISBN: 1441963391

In August of 2006, an engineering VP from one of Altera’s customers approached Misha Burich, VP of Engineering at Altera, asking for help in reliably being able to predict the cost, schedule and quality of system designs reliant on FPGA designs. At this time, I was responsible for defining the design flow requirements for the Altera design software and was tasked with investigating this further. As I worked with the customer to understand what worked and what did not work reliably in their FPGA design process, I noted that this problem was not unique to this one customer. The characteristics of the problem are shared by many Corporations that implement designs in FPGAs. The Corporation has many design teams at different locations and the success of the FPGA projects vary between the teams. There is a wide range of design experience across the teams. There is no working process for sharing design blocks between engineering teams. As I analyzed the data that I had received from hundreds of customer visits in the past, I noticed that design reuse among engineering teams was a challenge. I also noticed that many of the design teams at the same Companies and even within the same design team used different design methodologies. Altera had recently solved this problem as part of its own FPGA design software and IP development process.

EForth as Arduino Sketch

EForth as Arduino Sketch
Author: Chen-Hanson Ting
Publisher:
Total Pages: 168
Release: 2020-05-14
Genre:
ISBN:

eForth as an Arduino Sketch Last year I decided to retire from electronics and microcontrollers. So I cleaned out my study and my garage, gave away all my tools and spare parts. I realized that I should not be a hardware engineer. I am only a programmer, and should just work on software. Then, when I visited my brother in Denver last summer, I saw that my niece was working on a couple of Arduino Boards. On an Arduino board, there was a microcontroller in a DIP socket! That was very interesting. When I came back, I bought a couple of Arduino Uno Boards, and have been working on them since. I had to buy back tools and many electronic parts and ate my vow to stay away from hardware. Arduino Uno is a lovely, small, cheap, and readily accessible microcontroller board. The operating system and the programming environment Arduino 0022 is a good match to the Arduino Uno Board. Through a single USB cable, you can upload programs from a PC to Arduino Uno, and then communicate with the Uno through the same cable using RS232 protocol. You write programs in C language as sketches in Arduino 0022, and the sketches are compiled and then uploaded to the ATmega328P microcontroller on Arduino Uno for execution. Sketches are C programs greatly simplified to the point that you just have to fill lines of code in the two following routines: setup() loop() All intricacies and complications in the C language and its associated compiler and linker are taken care of by the Arduino 0022 system. No wonder Arduino is such a huge success. FORTH is a programming language much better suited for microcontrollers than C. FORTH is really a programming language with a built-in operating system. It has an interpreter and a compiler so that you can write programs in small modules and interactively test and debug them. You can build large applications quickly and debug them thoroughly. FORTH also gives you access to all the hardware components in the microcontroller and all of the IO devices connected to the microcontroller. So, I ported a very simple FORTH model, 328eForth, over to the ATmega328P microcontroller. It was written in AVR assembly language, and had to be assembled in the AVR Studio 4 IDE from Atmel Corp, and then uploaded to ATmega328P through a separated AVRISP mkll programming cable. Once 328eForth is uploaded to ATmega328P, it can communicate with the PC through the Arduino USB cable. BUT, 328eForth cannot be uploaded through the USB cable, because Arduino 0022 requires a bootloader pre-loaded in the ATmega328P to upload sketches, and 328eForth must use the bootloader section of flash memory in ATmega328P to store commands which writes new code into the application section of the flash memory at run-time. For the serious FORTH programmer, a 328eForth system gives you the ultimate control over the ATmega328P microcontroller. For the much larger Arduino user community, we need a FORTH implementation which is compatible with the Arduino 0022 system. Here is my solution: ceForth_328. It is written in C as a sketch. It can be compiled and uploaded by Arduino 0022. Once it is uploaded to the Atmega328P microcontroller, it communicates with the PC through the Arduino USB cable. However, new FORTH commands are compiled only into the RAM memory in ATmega328P. You have only about 1.5 KB of RAM memory to store new commands, and when you turn off Arduino Uno, these new commands are lost. In spite of these limitations, ceForth_328 is still a very useful system. You can learn FORTH and use if to evaluate Arduino Uno for various applications. You can also use it to learn about the ATmega328P microcontroller, because it allows you to read and to write all the IO registers. Find the sketch and soon more at https: //wiki.forth-ev.de/doku.php/projects:430eforth: start#arduino_uno_und_arduino_nano

Moving Forth - Internals and TTL Processor

Moving Forth - Internals and TTL Processor
Author: Brad Rodriguez
Publisher: Independently Published
Total Pages: 135
Release: 2018-08-16
Genre:
ISBN: 9781718124998

In 2018 we have 50 Years of Forth. When I looked for a new project for an eBook I realized that one area is not very well covered: How do the Forth internals work? How can you build a Minimal Processor executing Forth directly? How do you write an Assembler in Forth? When I looked around for some documentation, I remembered this series of articles again. They seems to fit very well together. I contacted Brad and asked for permission to publish them as part of the Forth Bookshelf. He liked the idea so I started formatting. I did not change any of the original material.The only part I added was an appendix, where I redid some of the pictures, so I could understand them better. As in many cases, additional material can be found on the Forth-eV.de Wiki, and we will start with the appendix added here, and what else we might come up. I have to thank Brad Ridriguez for the copyright to publish this documentation. Enjoy reading and any feedback please send to [email protected]. From Brad: Everyone in the Forth community talks about how easy it is to port Forth to a new CPU. But like many "easy" and "obvious" tasks, not much is written on how to do it! So, when Bill Kibler suggested this topic for an article, I decided to break with the great oral tradition of Forthwrights, and document the process in black and white. Over the course of these articles I will develop Forths for the 6809, 8051, and Z80. I'm doing the 6809 to illustrate an easy and conventional Forth model; plus, I've already published a 6809 assembler [ROD91, ROD92], and I'll be needing a 6809 Forth for future TCJ projects. I'm doing the 8051 Forth for a University project, but it also illustrates some rather different design decisions. The Z80 Forth is for all the CP/M readers of TCJ, and for some friends with TRS-80s gathering dust.

Embedded Core Design with FPGAs

Embedded Core Design with FPGAs
Author: Zainalabedin Navabi
Publisher: McGraw Hill Professional
Total Pages: 456
Release: 2006-09-13
Genre: Computers
ISBN: 0071474811

This volume shows how a processor can be designed from scratch and by use of new EDA tools, how it interfaces with its software. It shows how a processor and its software can be used as an embedded core and used for the design of an embedded system.

Counterfeit Integrated Circuits

Counterfeit Integrated Circuits
Author: Mark (Mohammad) Tehranipoor
Publisher: Springer
Total Pages: 282
Release: 2015-02-12
Genre: Technology & Engineering
ISBN: 3319118242

This timely and exhaustive study offers a much-needed examination of the scope and consequences of the electronic counterfeit trade. The authors describe a variety of shortcomings and vulnerabilities in the electronic component supply chain, which can result in counterfeit integrated circuits (ICs). Not only does this book provide an assessment of the current counterfeiting problems facing both the public and private sectors, it also offers practical, real-world solutions for combatting this substantial threat. · Helps beginners and practitioners in the field by providing a comprehensive background on the counterfeiting problem; · Presents innovative taxonomies for counterfeit types, test methods, and counterfeit defects, which allows for a detailed analysis of counterfeiting and its mitigation; · Provides step-by-step solutions for detecting different types of counterfeit ICs; · Offers pragmatic and practice-oriented, realistic solutions to counterfeit IC detection and avoidance, for industry and government.

Adobe Illustrator 9.0

Adobe Illustrator 9.0
Author:
Publisher: Adobe Press
Total Pages: 460
Release: 2000
Genre: Computers
ISBN: 9780201710151

Learn how to create professional-quality artwork for print or the Web using Illustrator 9, the world's most popular illustration application Updated edition of the worldwide bestseller Adobe Illustrator is one of the most popular vector graphics tools in the print and web industry Self-paced lessons are the ideal introduction to Illustrator's complex features "Adobe Illustrator 9.0 Classroom in a Book" shows users how to master Adobe Illustrator in short, focused lessons. Created by Adobe's own training experts, it covers all the new features of Illustrator 9, including added compatibility with Macromedia Flash, a new Transparency Palette, and superior vector and raster graphics. Readers start with an introduction to Illustrator's many tools, brushes, and palettes. Lessons include making selections, painting, gradient fills, drawing straight lines, using type and creating type masks, outlining paths with patterns, printing artwork, producing color separations, and preparing finished artwork for print or the Web. Each lesson builds upon the knowledge learned in previous lessons, so readers have a full tour of the software by the time they have finished the book. The cross-platform CD provides all the lessons and images needed for each chapter. Previous Edition ISBN: 1-56830-470-6 The Adobe Creative Team is made up of members of Adobe's User Education Group. They take their expertise in training users to work with Adobe products, combine it with the creative talents of the Adobe Illustrator team, and add the valuable content of the CD-ROM to make a unique learning package from Adobe Systems.

Digital Design (Verilog)

Digital Design (Verilog)
Author: Peter J. Ashenden
Publisher: Elsevier
Total Pages: 579
Release: 2007-10-24
Genre: Computers
ISBN: 0080553117

Digital Design: An Embedded Systems Approach Using Verilog provides a foundation in digital design for students in computer engineering, electrical engineering and computer science courses. It takes an up-to-date and modern approach of presenting digital logic design as an activity in a larger systems design context. Rather than focus on aspects of digital design that have little relevance in a realistic design context, this book concentrates on modern and evolving knowledge and design skills. Hardware description language (HDL)-based design and verification is emphasized--Verilog examples are used extensively throughout. By treating digital logic as part of embedded systems design, this book provides an understanding of the hardware needed in the analysis and design of systems comprising both hardware and software components. Includes a Web site with links to vendor tools, labs and tutorials. - Presents digital logic design as an activity in a larger systems design context - Features extensive use of Verilog examples to demonstrate HDL (hardware description language) usage at the abstract behavioural level and register transfer level, as well as for low-level verification and verification environments - Includes worked examples throughout to enhance the reader's understanding and retention of the material - Companion Web site includes links to tools for FPGA design from Synplicity, Mentor Graphics, and Xilinx, Verilog source code for all the examples in the book, lecture slides, laboratory projects, and solutions to exercises