How do you make your computer? Is it as complicated as mastering quantum mechanics or easy as following a few simple breadboard diagrams? Well, the answer to both questions is no. But, it’s simpler than you think. While it’s not as simple as turning on a light, building your computer is a project that is easily within reach of intermediate hobbyists. If you can read a simple schematic and use an electric screwdriver, you can design and build a computer of your own.
The purpose of this article is to introduce you to one way you can do it: by creating your microcomputer using the pASIC 1 chip from QuickLogic. This microchip allows Rayming PCB & Assembly to create complex logic circuits with a minimum number of components, saving you time and money.
History of the pASIC 1 chip
The pASIC 1 chip is a simplified microprocessor developed by QuickLogic to make microprocessor programming easier. It first came into the market in 2001. Although it is a simplified processor, it has all the functionality of the PIC16C74. It can easily be programmed on a PC using QuickBasic, enabling you to create your applications and use your digital circuits for control purposes. All you must do is hook up some wires to the pASIC 1 chip and add power. The pASIC 1 is an 8-bit microcontroller with internal EEPROM memory (for data storage), RAM (for program storage), an internal oscillator, and built-in A/D converters. A coin-cell battery powers it.
pASIC 1 Architecture
The pASIC 1 hardly qualifies as a microprocessor. It has no memory (other than internal EEPROM) and no control bus. pASIC 1 is intended for use in systems with only one peripheral device, typically an LCD or LED display. It can be helpful for only one task and has limited program storage (only 256 bytes). Nevertheless, the pASIC 1 can accept byte-wide data from its input lines, interpret the data and react accordingly by setting output lines.
It consists of an array of user-configurable logic gates, an 8-bit register file, and an internal pulse generation logic. In addition, it has built-in programmable timers, status indicators, and registers.
The pASIC 1 uses eight input lines (four external and four internal). The external input lines can sense switches and LEDs, while the internal input lines can supply data to the processor. All eight I/O lines can function as either inputs or outputs. We can set any of the eight I/O line pins as inputs or outputs by writing into the I/O register. This register is separate from program memory and not accessible by code executed on the CPU core.
Its architecture is similar in structure and performance to that of the PIC.
The pASIC 1 has a built-in EEPROM that stores two blocks of user-configurable registers, plus two control registers. This fast memory can store up to 256 bytes of data and 32 I/O pointer values.
ACB = bits 8–15 of “program address” field
ACD = bits 0–7 of “program data” field
Here’s a sample pASIC 1 program stored in internal EEPROM:
In this case, the program address is 2200. It will read the program data from the data fields 0000–0003.
The pASIC 1 has additional features. For example, an internal pull-down resistor can measure the analog inputs and a programmable delay line that can trigger actions in response to events.
We may program the pASIC 1’s I/O via the I/O registers (bits 3–7 of program address) or the I/O pointer registers (bits 0–2 of program address). The two types of I/O are different based on their addresses.
pASIC 1 Internal Logic Cell:
The pASIC 1 is a monolithic device. That is, it consists of a single integrated circuit (IC). The IC contains all the logic elements of the device and a basic operating sub-system, which consists of eight logic gates. Each logic gate has three input lines and one output line.
The pASIC 1’s basic input/output sub-system consists of eight logic gates: AND, OR, NAND, NAND-XOR, NOR, and NOR-XOR.
Bidirectional I/O Cell:
According to the pASIC 1 Specification, “A bidirectional I/O cell can be used to connect external and internal inputs and outputs.” We achieve the connection through an internal pull-down resistor. This allows data from the input lines to be low or high, while data on the output lines remain high.
Dedicated Input High-Drive Cell:
This logic gate provides high voltage levels to the input lines during power-up time.
Clock Input Cell:
This cell helps generate a high-frequency clock signal that we can use to drive external logic.
The internal pulse generator of the pASIC 1 generates two types of system clocks: a high-frequency clock (100 kHz) and a low-frequency clock (1 kHz). The two clocks may be selected by programming bit 1 of the control register. We realize the divide-by-two function by using an eight-bit shift register.
The pASIC 1’s internal circuitry provides an 8-bit shift register to receive or transmit serial data.
QuickLogic pASIC 1 features
Low-Cost, Easy-to-Use Design Tools:
The pASIC 1 is an ideal CPU for a high-volume production system, for example, a microprocessor-controlled LCD. The device can be programmed using software from the QuickLogic Tools Suite—an integrated design environment that guides users through the whole design process. In addition, a wide range of development tools and application examples are there.
2. Low-Power, High-Output Drive:
The QuickLogic pASIC 1 achieves a high current drive with low power consumption and small size. The pASIC 1 microcontroller is programmed using the QuickLogic QuickAsic Toolset. This IDE provides programming tools for the pASIC 1 and its bigger brother, the PIC-based .NET Micro Framework device. The QuickAsic IDE runs on Microsoft Windows XP and later. A version for Linux and Mac OS X is in development. In addition, the interface is similar to other popular development environments, such as Microsoft Visual Studio or Metrowerks CodeWarrior. The QuickLogic pASIC 1 is not for use in mission-critical systems.
The pASIC 1 is a very flexible device that can easily be programmed to run code of your choice. It is not dependent on any operating system, as it runs directly from its Flash memory. The program can be downloaded from the device and written directly to the Flash memory without needing any software.
3. Usable High Density:
The pASIC 1 is essential for high-density Flash memory. The built-in fast 8-bit byte-based external EEPROM stores two blocks of user-configurable registers and two control registers. With a memory size of 128 bytes, this device can be helpful as a general programmable logic controller (GPLC).
4. Very High Speed:
The QuickLogic pASIC 1 is one of the fastest 8-bit microcontrollers on the market. Its CPU combined with built-in Flash memory and parallel I/O interface make it well suited for many applications, such as industrial controls and critical process control.
5. 0.65µ CMOS process:
We produce the device in a 0.65µ CMOS process. This allows parallel operating circuits to reduce the external logic size required for the pASIC 1’s I/O capability. The pASIC 1 operates at frequencies up to 150 MHz with low and high-speed modes.
6. 208 pin PQFP:
The pASIC 1 comes in a 208 pin PQFP package. The I/O pins are on the package’s top 100 pins, and there are no separate power supply pins. This allows for an easier PCB layout.
7. Input hysteresis provides high noise immunity:
The pASIC 1’s input hysteresis is one of its most essential characteristics. Higher hysteresis levels allow high noise immunity, greater system reliability, and lower current consumption.
8. Clock skew < 0.5 ns:
A high-frequency clock generator generates the clock of the pASIC one. A delay is included in the high-frequency clock to minimize the skew between the high-frequency clock and the system’s faster CPU clocks. We measure this delay in parts per million (ppm). It can tolerate the maximum skew up to 0.5 ns. The pASIC 1 microcontroller has two programmable delays: one used for single-step operation and another used for repeated execution of my first function. The delays are divided into four categories depending on their values:
a) Single-step operation:
We eliminate the dependencies between rising and falling edges of an input signal by using a delay. One performs this using the internal clock generator or an external clock.
b) Repeated execution of my first function:
The repeated execution of a function is used for anti-aliasing purposes, for example, in audio applications. It is also helpful to reduce the power consumption in critical process control systems, where the system must wait for a sensor input before sending out data.
9. 150 MHz Internal state machine frequencies:
The pASIC 1 microcontroller comes in two versions: A 150 MHz version and a 75 MHz version. The 150 MHz device features a 4-state signal generator and full 8-bit bus width parallel device. In addition, the pASIC 1 has an internal state machine that can generate two clock frequencies simultaneously.
10. 110 MHz Chip-to-chip operating frequencies:
The pASIC 1 features a 110 MHz chip-to-chip operating frequency, which allows an 8-bit bus. In addition, the device has a 4-state signal generator that allows the coherent integration of up to three external signals simultaneously at the 110 MHz operating frequency.
11. Input + logic cell + the output delays under 6 ns:
The pASIC 1 features a very low input to logic cell delay. The internal state machine and all external circuits can minimize this delay. Since the pASIC 1’s external circuitry is essential for high-speed operation, much space remains for necessary control and signal cells.
12. PCI 2.1 Compliant I/Os:
The pASIC 1 features PCI 2.1 Compliant I/Os, allowing the device to operate in various computer systems. We can operate the pASIC 1 on a wide range of computers and system platforms, including Windows 95/98/ME/NT4 (SP5 or later), Windows 2000, Microsoft XP, Mac OS X, Linux, and other operating systems designed for different computer architectures.
13. 2 Clock/Dedicated input pins:
The pASIC 1 features two input signals. These can be used as inputs or outputs, depending on the use of the device.
14. Automated code generation:
The QuickLogic IDE can generate the source code for the pASIC 1 device using automatic synthesis technology. This technology is similar to what is used by Apple, Microsoft, and Sun Microsystems to produce their products.
15. 6 Dedicated Input/High-Drive pins:
The pASIC 1 features six very high-drive (VDDHI) input signals that can be used as inputs or outputs, depending on the use of the device.
16. 172 Bidirectional Input/Output pins:
The pASIC 1 features 172 bidirectional I/Os that can be used as inputs or outputs, depending on the use of the device. The pinouts of these signals are shown below in Figure 5:
The QuickLogic pASIC 1 instruction set depends on the Intel 8051 architecture. Therefore, it includes all standard 8051 instructions, plus additional instructions specific to QuickLogic’s programming model and hardware architecture. Additionally, several instructions are there to support Flash memory operations and the parallel I/O bus developed by QuickLogic.
Creating your own pASIC 1 computer
All you need to get started are essential electronic components and a working knowledge of programming (some electronics textbooks or starter kits would be useful). Then, you can create your own fully-functional pASIC one-based computer with the help of this article. Here’s what you’ll need to get started:
You’ll also need access to a PC and QuickBasic (any version should work) with all necessary drivers preinstalled. You’ll also want access to a solderless breadboard, wires, and other electronic components, such as resistors, capacitors, LEDs, and switches. Finally, you’ll also need to have access to a set of very small metallic-stranded wires (telephone or CAT-5) and an electronic multimeter.
The first thing you do is take the pASIC 1 chip out of its plastic package, remove the protective tape covering the exposed surface, and place it on your breadboard with pins 0 (VCC), 2 (GND) and 4 (RESET) facing up. The pASIC 1 uses the same circuit board as a PIC 16C74 microcontroller, so if you’re using your circuit board, take a look at
Next, if you’re using your circuit board and using a USB port (such as the one on your PC), connect the red wire on your breadboard to pin one on the pASIC 1 (VCC) via an inline resistor. This sets up VCC to be 5 volts with a tolerance of ±0.5 volts. If you’re not planning on connecting the pASIC 1 to a USB port, don’t connect this wire.
Next, connect the green wire on your breadboard to pin two on the pASIC 1 (GND). Ground (GND) for the pASIC 1 is a negative voltage in direct opposition to VCC. In this case, GND is -5 volts with a tolerance of 0–10 volts. Therefore, if you connect the pASIC 1 to a second power supply (such as your computer’s voltage), you can use GND or VCC as a ground for this sub-system.
Connect pin 3 of the pASIC 1 to pin 5 of your circuit board’s RESET line via an inline resistor. Pin 3 is the reset input. When you set this pin to a low voltage, you will reset the microcontroller. For example, if you connect your pASIC 1 to your circuit board via RESET and GND, the appropriate voltage level on pin 3 is -5 volts with a tolerance of ±5V.
Connect pin 6 of your pASIC 1 to pin 4 of your circuit board’s VSS line via an inline resistor. Pin 6 is VSS (ground). This will also be -5 with a tolerance of 0–10 volts.
Connect pin seven directly to GND through an inline resistor. Pin 7 is RBIAS (internal pull-down resistor). RBIAS is used to set the pASIC 1’s internal oscillator to a stable frequency so that the processor will operate at its most efficiently. RBIAS is usually 0–10 with a tolerance of ±5 volts.
Connecting your pASIC 1 to a second power supply (such as your computer’s voltage) is not essential, but if you connect the pASIC 1 to your computer, you’ll need only one power source for both parts of the sub-system. For example, if you’re using VCC and GND to power your sub-system (as shown in Figure 3), GND on the pASIC 1 will be close to 0 volts, while VCC will be at close to 5 volts. You can choose either option, but I recommend setting up VCC to be closer to 5 volts, as shown in Figure 4, as that will make it easier for you to use your PC’s voltage regulator. If you’re using a single power source (as shown in Figure 3), both supply voltages will be at close to 5 volts.
Does the price of pASIC 1 devices fluctuate frequently?
The QuickLogic pASIC 1 family of microcontrollers has very competitive prices. The QuickLogic pASIC 1 competes against microcontrollers from the $1–$5 range. However, it offers all the functionality of a $10–$15 device. Additionally, the QuickLogic pASIC 1 comes with a suite of software tools that include the following:
QuickLogic’s IDE (Integrated Development Environment) provides users with full-featured, assembler-level debugging and code generation capabilities. It is one of many tools the company supports to make users’ lives easier in designing FPGA-based systems.
QuickLogic offers training courses to users, teachers, and engineers. The QuickLogic pASIC 1 Family of Devices Training Course is a one-day, hands-on course that will teach users how to program the pASIC 1 and flash memory unit. The course includes a review of the QuickLogic programming model, CVPR (Conventionally Varying Pulse Width Modulation) concepts, and block diagram design basics. It also teaches students how to effectively program the pASIC 1 device using the IDE interface. This article helps users get started with their learnings quickly by providing them with all the necessary information.
QuickLogic has also produced several other training courses for engineers and programmers that teach users about applying pASIC 1 devices in the field. For example, QuickLogic’s FPGA Architectures Training Course introduces the basic concepts of FPGAs and teaches users about programmable logic devices (PLD). In addition, introduction to a Lattice Semiconductor Max Spartan-6 FPGA Training Course teaches users about the basics of FPGAs and simulates them using Max Spartan-6 software.
QuickLogic has experts available for consulting on a wide variety of questions related to programming their pASIC 1 device or designing custom applications.
How to obtain software development tools for the QuickLogic pASIC 1 FPGA platform
Constraints to consider when designing an FPGA-based system
The pASIC 1 is a complete FPGA-based system that includes FPGA, Flash memory, a lot of peripherals, and I/O interconnects. The pASIC 1 devices contain all the appropriate logic blocks and functional circuits to meet any given application’s requirements. The components combine to form a complete system fabricated in any standard 8×8 or 10×10 array format. Additionally, users can design their custom designs using the QuickLogic pASIC 1 Family of Devices IDE or other tools available from QuickLogic.
The pASIC 1 is an SOP-8 package with 118 exposed I/Os in a dual inline configuration. The pASIC 1 device is packaged using the company’s patented compact packaging technology and offers a very dense and high I/O pin count solution.
Are there any constraints on the number of Cortex-M23 cores?
The pASIC 1 devices in the PLV320 package depends on a Spartan-6 FPGA with a total capacity of 72 Mbit, which results in 24/48 or 12K/72K active M23 (Cortex-M23) cores. As a result, users can choose how many cores they want. For example, they can use all 72 M23 core blocks or only 24 of them.
What is the difference between regular and high-speed modes?
The QuickLogic pASIC 1 devices support both standard and high-speed modes at a single time. The pASIC 1 devices in the PLV320 package (i.e., FPGA, Flash memory, and I/O interconnects) are fully supported in standard mode at 100 MHz and can operate up to 150 MHz. As a result, customers can choose how fast they need their design to operate, depending on their application requirements.
The pASIC 1 can be helpful in a wide range of applications. These include:
a) Medical Equipment: Use in the medical industry, such as infusion pumps, pacemakers, arterial blood pressure monitors, and cardiac defibrillators.
b) Internet of Things (IoT): Use in the Internet of Things (IoT) where a wireless connection to a central computer is not available. Use as a standalone device or as part of an IoT system.
c) Industrial Control Systems: Use in industrial systems where high-performance data processing, low-power applications, and real-time control (RTCC) are required.
d) Wireless Technology: Use wireless applications such as remote control, mobile and fixed data collection, communications, and security systems.
e) Consumer Electronics: Use in consumer devices such as remote control, portable digital music players, and mobile phones.
f) Cloud Computing: Use in cloud computing where high-speed parallel applications are required, such as video processing and accelerating scientific applications.
g) 5G Technology: Use wideband and millimeter-wave cellular applications where high-speed data processing is required.
h) Artificial Intelligence: Use in applications such as machine vision, pattern recognition, biometric identification, and object recognition.
QuickLogic pASIC 1 Family devices
In conclusion, the QuickLogic pASIC 1 Family of Devices is a series of fully integrated, single-package FPGA-based systems with a high level of functionality that enable design engineers to meet their needs quickly and easily. Whether customers are looking for a device with an ultra-wide operating temperature range or one capable of providing high performance at very low power, the QuickLogic pASIC 1 Family of Devices can be helpful to accomplish these tasks easily.
QuickLogic has also released reports on the market dynamics and applications of their pASIC 1 devices. These reports provide valuable information about its core competencies, market trends, and target markets. The reports are on QuickLogic’s website.