Advanced Search
Search Results
195 total results found
Implementation
The design was made in Verilog, primarily targeting the von Braun Labs’ DevChipBoard, containing the Tang Nano 9k board, running at a base frequency of 27MHz. The RISC-V core is composed of a simple datapath and a multicycle control unit (with up to 4 states)....
Visual Resources
Figure 1: Basic Datapath Figure 2: Datapath with Control Signals Figure 3: Flash Read Command Figure 4: Processor Cycles Figure 5: Tang Nano 9k
Understanding the UART Protocol
UART (Universal Asynchronous Receiver-Transmitter) is a widely used asynchronous serial communication protocol for exchanging data between devices, such as FPGAs and computers. Unlike synchronous protocols, UART does not use a shared clock signal. Instead, da...
Creating Your Project in ChipInventor
In this tutorial, you will create a serial communication system using UART with three main blocks: uart_rx, uart_logic_const, and uart_tx. When a character is received via UART, the system compares it with a predefined value and toggles an LED if it matches. ...
Blocks Used in the Project
The project uses the following blocks based on the provided Verilog modules: uart_rx: Responsible for receiving data from the UART port and indicating when a byte has been completely received. uart_logic_const: Compares the received byte with a prede...
Connecting the Blocks
Assemble the project with the following configuration: uart_rx Block Inputs: clk → system clock uartRx → UART input pin Outputs: rxByte → connects to the logic block byteReady → connects to both the logic block and uart_tx uart_logic_co...
Project Simulation
Go to the Simulate tab in the top menu. Select Advanced Simulation. Click on Run Iverilog to compile and simulate. Check if the simulation runs without errors. If errors occur, review the block connections as described.
FPGA Synthesis and Programming
Once the simulation is validated: 1. Go to the Synthesize tab. 2. Click Start Synthesis. 3. Connect your FPGA to the computer via USB. 4. Select the correct serial port (usually labeled “Enhanced”). 5. Click Flashing to program the FPGA.
Hardware Validation
1. Access the Main tab. 2. Click on Serial Console. 3. Set the baud rate to 115200. 4. Send a character via the serial terminal. If the character matches the predefined value (8’h61), the LED should toggle. The same character will also be sent back thro...
Wrapping Up
Congratulations! You’ve implemented a complete UART system with receiving, comparison, and data echo. This practice reinforces your understanding of serial communication, logical comparison, and module integration in FPGA using ChipInventor. Try experimenting...
Introduction to the I2C Protocol
The I2C (Inter-Integrated Circuit) protocol is one of the most used communication protocols in embedded systems. It allows communication between multiple devices using only two lines: SDA (Serial Data) → Bidirectional data line. SCL (Serial Clock) → ...
Creating the Project in ChipInventor
In this tutorial, we will create a project that uses the I2C protocol to read data from an ADC (Analog-to-Digital Converter). Initial Steps: 1. Access the ChipInventor website. 2. Click on New Project. 3. Fill in the information: Name: I2C Communication...
Understanding the Project Blocks
The main blocks used in this project are: Block Function startAll Generates the initial signal for the system to start operating. i2c Controls the I2C communication, performing read and write operations. ...
Assembling the Blocks in ChipInventor
Below are the connections that must be made between the blocks: Block: startAll Input: clk → System clock. Output: start → Start signal. Block: i2c Inputs: clk → System clock. start → Output from startAll block. instruction → Oper...
Project Simulation
Access the Simulate tab. Click Advanced Simulation. Click Menu → Run Iverilog. Check for errors. If necessary, correct the blocks and connections.
FPGA Synthesis and Programming
Access the Synthesis tab. Click Start Synthesis. If all items turn green, connect your FPGA to the PC. Select the correct port. Click Flashing to program the project.
Hardware Validation
With the system programmed, perform the tests: View the values read from the ADC. Validate if the I2C protocol is working correctly by observing the received data.
Wrapping Up
Congratulations! You have developed a complete I2C communication project using the ChipInventor platform. Now that you understand the I2C protocol, you can expand this knowledge and implement communication with other sensors and devices.
SPI Protocol Overview
SPI (Serial Peripheral Interface) is a synchronous, full-duplex communication protocol used for high-speed data exchange over short distances. It follows a master–slave architecture with four primary signals: SCLK (Serial Clock): Clock signal generated by...
Creating the Project in ChipInventor
1. Open ChipInventor. 2. Click New Project. 3. Fill in the fields: Name: SPI Communication Tutorial Description: SPI Master–Slave Data Transfer with LED Display Type: FPGA 4. Click Create.