Advanced Search
Search Results
195 total results found
Hardware Validation
With the FPGA programmed, test the behavior: 1. Connect an LED to the output pin led0. 2. Observe the LED brightness: It should blink at a fixed frequency, with brightness gradually increasing (duty cycle increasing). Once the counter reaches the m...
Wrapping Up
Congratulations! You've created a pulse-controlled PWM system using the ChipInventor platform. This project demonstrated how to use counters, sequential logic, and duty cycle control with signal inversion. You can expand this project to control motors, RGB LE...
Creating Project
In this tutorial, you will learn how to implement a self-leveling platform system using inertial sensors and servo control, entirely within the ChipInventor platform. The system uses I2C communication to read data from the MPU6050 sensor (accelerometer and gyr...
Understanding the Project and the Blocks Used
This project includes several interconnected blocks. Below are the main blocks and their functions: startAll: Ensures the system initializes only once after power-up. i2c: Controls the I2C communication with the MPU6050 sensor. mpu6050: Manages and retrie...
Connecting the Blocks
Main block connections: I2C Communication: startAll.start → mpu6050.start → i2c.start i2c.sdaIn ↔ mpu_sda (bidirectional pin) i2c.sdaOutReg → inverterC.A → AND2b.A i2c.isSending → AND2b.B → AND2b.Y → mpu_sda i2c.scl → mpu_scl (I2C clo...
Project Simulation
Before programming the FPGA, simulate your project behavior: Click on the Simulate tab. Choose Advanced Simulation. Click Menu → Run Iverilog. Observe the main signals: Signal Description accelX/Y/Z Sen...
FPGA Synthesis and Programming
1. Click on Synthesize. 2. Select Start Synthesis and wait until all items turn green. 3. Connect your Dev Chip Board to your computer. 4. Select the correct serial port (usually labeled "Enhanced"). 5. Click Flashing to program the FPGA with the project. ...
Hardware Validation
After programming the FPGA: 1. Assemble the physical platform with two servo motors connected to IO_70 and pwm pins. 2. Connect the MPU6050 sensor to the I2C pins (mpu_sda, mpu_scl) using 4.7kΩ pull-up resistors. 3. Power the system and slightly tilt the pl...
Wrapping Up
Congratulations! You’ve completed the Self Leveling Platform project using inertial sensors and servo motor control, all implemented within the ChipInventor environment. This project introduced you to: I2C communication Angle estimation using CORDIC ...
Creating Project
In this tutorial, you will learn how to develop a basic RISC-V project within the ChipInventor platform. We will cover everything from creating the project and setting up the main modules (processor, memories, registers, etc.) to simulating and testing on hard...
Understanding the Project and the Blocks Used
Below are the main blocks that make up our RISC-V project, in a structure similar to the previous tutorials. franken_riscv The central processor, responsible for fetching, decoding, and executing instructions, as well as handling memory/register reads and wr...
Connecting the Blocks
To assemble your project in the ChipInventor block diagram: 1. Drag each block (e.g., franken_riscv, imem, blockram, register) onto the workspace. 2. Connect the signals according to the Verilog code or as described in previous tutorials. Examples: The cl...
Project Simulation
Before programming your FPGA board, validate the RISC-V operation in simulation: 1. Click Simulate at the top of the ChipInventor interface. 2. Choose Advanced Simulation to see detailed waveforms. 3. Click Menu → Run Iverilog. 4. If there are no errors, o...
FPGA Synthesis and Programming
After confirming your simulation is correct: Go to the Synthesize tab. Select Start Synthesis. Check that all items turn green (successful synthesis). Connect your FPGA board to the computer via USB. Choose the appropriate serial port ...
Hardware Validation
With the FPGA programmed, proceed to practical testing: If you use an external clock, ensure it is at the desired frequency. If using one_hz_clock, confirm it is generating a 1 Hz signal. If you have LEDs or a screen, check if they show expected beha...
Wrapping Up
Congratulations! You have built a basic RISC-V project in ChipInventor. This process included: Creating the project and importing modules Interconnecting the processor (franken_riscv) with memories and peripherals Detailed simulation Synthe...
Hardware Validation
After programming the FPGA, it’s time to validate CAN communication and UART output in the physical environment. a) CAN Bus Connection Connect FPGA pins IO71 (TX) and IO70 (RX) to the CAN transceiver (e.g., MCP2551 or TJA1050).→ The transceiver interface...
Creating Project
In this tutorial, you will learn how to develop and program an FPGA project using ChipInventor, with a practical example of implementing an SPI communication system for an accelerometer. At the end of the tutorial, the accelerometer data will be transmitted vi...
Understanding the blocks
For this project, we will use four main blocks: spi_ctrl: Controls SPI communication with the accelerometer. acc_controller: Processes data read from the sensor. twos_complement_to_ascii: Converts data to ASCII. uart_tx: Transmits data via ...
Connecting the Blocks
spi_ctrl Block Input: clk (System clock) Outputs: acc_mosi (sends commands to the accelerometer) acc_sclk (SPI clock) acc_cs (selects the accelerometer chip) acc_controller Block Input: acc_miso (receives data...