Advanced Search
Search Results
195 total results found
USB Braille Machine
CAN DC Motor Controller
CAN PWM Duty Cycle Selector
Reverse Camera
Fast Fourier Transform (FFT)
RISC-V Processor
UART Protocol
I2C Protocol
SPI Protocol
Mac Support
This guide helps you use the Dev Chip Board on macOS (including M1/M2 models). There are two possible behaviors when connecting the board.
Getting Started With Digital Chip Design
Important: From any link, you can see the entire book, but if you want to go directly to a chapter, use the links provided.
Synthesizing the Project
After testing and validating the ALU through simulation, you can move on to the synthesis stage, where the generated code (HDL) is converted into a physical representation (logic gate networks, blocks, etc.). To do this: 1. Go to the Synthesize tab, where the...
Wrapping Up
Congratulations! You have learned how to configure and test a functional ALU using ChipInventor. Now you know how to: Use AI to generate functional blocks. Configure inputs and outputs to test different operations in the ALU. Interpret control s...
Creating Flip-Flop Example
Welcome to our tutorial on TestBenches in ChipInventor. We’ll create a simple Flip-Flop circuit to highlight how to set up and run TestBench simulations. Rather than focusing on circuit details, this guide emphasizes verifying behavior and generating waveforms...
Building Frequency Dividers
In this section, instead of using an external clock signal, we will manually generate input transitions and define a custom TestBench to verify the behavior of the circuit. The goal is to demonstrate how to create a manual TestBench in Verilog instead of relyi...
Writing a Manual TestBench
Since we are not using the automated ChipInventor TestBench, we need to manually define input signals in Verilog to simulate our circuit. Steps to Write the TestBench: Open the Verilog code editor in the Advanced Simulation tab. Replace the automati...
Explanation of Key Sections in the Code
To ensure that the reader can understand and modify the TestBench if needed, let's go through the main parts of the code: 1. Instantiating Flip-Flops D_FLIP_FLOP FF1 (.D(b0), .sync_reset(Reset), .Q(Q1)); D_FLIP_FLOP FF2 (.D(Q1), .sync_reset(Reset), .Q(Q2));...
Running the Simulation
To test the frequency division, follow these steps: 1. Run the TestBench in ChipInventor: Click on Menu, after Run Iverilog to compile and execute the simulation. 2. Generate the waveform file: Click on Create VCD to create the .vcd file with signal ...
Wrapping Up
This tutorial provided a practical guide for creating and validating Flip-Flops using ChipInventor. Through the practices described, you: Configured and tested individual and cascaded Flip-Flops. Used the TestBench to verify the expected behavior of ...
Creating the UART project
In this guide, you will learn how to develop and program an FPGA project using ChipInventor, with a practical example of implementing a UART Receiver. By the end of the tutorial, you’ll have an LED on your FPGA that lights up whenever you press the "a" key on ...
Adding the Blocks
For this project, you will use three main blocks: uart_rx: Receives the byte sent via UART. uart_logic_const: Compares the received byte to the constant value. uart_tx: Sends data back to your serial console for verification or debugging LED block: Light...
Choosing the FPGA and Simulation (Advanced)
1. Click on Choose FPGA. Select the option Tang Primer 20k. 2. Click on the Simulate tab at the top. 3. Select Advanced Simulate. 4. Once in the Advanced Simulation view, click Menu, then Run Iverilog. 5. Check the message that appears: If no er...
Synthesis and Record
After confirming your design is error-free in the Advanced Simulation: 1. Click on the Synthesize tab. 2. Select Start Synthesis If everything is correct, all topics will turn green. If any turn red, something might be wrong. Ensure that your Block schem...
FPGA Validation
Once the project has been successfully programmed onto the FPGA, it’s time to test it in real hardware: 1. In the main top tab, click on Main in the top right corner. 2. Click on Serial Console: Make sure the baud rate and other serial settings match the...
Recorder
If you want to reprogram (re-flash) the same design without making any changes (no new synthesis required): 1. Click on Recorder in the ChipInventor top menu. 2. Choose a Project: Select your latest or most recent project. 3. Click Connect if your board is ...
Wrapping Up
In this tutorial, you learned to configure and connect blocks in ChipInventor to create a functional UART Receiver, check the design for errors using Advanced Simulation with Iverilog, synthesize the circuit, and finally program an FPGA. If you have any quest...
Manual Installation of the USB Serial Converter Driver
1. Introduction To record your project inside the FPGA, it is necessary to connect the Dev Chip Board to your computer. When connecting the board to the computer and nothing appears at the time of recording, one of the problems may be the driver that did not ...
Resolving Serial Port Access Issues for the Dev Chip Board on Linux
When using the Dev Chip Board on some Linux distributions, especially on Ubuntu, you may encounter issues accessing the serial port. This usually happens due to conflicts with the brltty service or user permission restrictions. Below is an image representing w...
Steps to Configure the Dev Chip Board Port
Step 1: First, connect the Dev Chip Board to your computer's USB port and run the following command in the terminal to list the USB devices: lsusb This should display a device similar to: Bus 001 Device 003: ID 10c4:ea70 Silicon Labs CP2105 Dual USB to UAR...
Step-by-Step Manual Installation
1. Access the Website and Download the Driver a) Open a web browser and go to the Silicon Labs website: CP210x USB to UART Bridge VCP Drivers b) Locate the Windows driver version and download the corresponding ZIP file. 2. Extract and Install the...
How to Use the INOUT Block in ChipInventor
1. Introduction The INOUT block in ChipInventor allows you to configure an FPGA pin to operate bidirectionally, meaning it can function as either an input or output depending on the control signal. This feature is essential in various applications, especially...