Part 1
Step 1: Create the Memory Module in Quartus
- Open Quartus Prime software.
- Access the IP Catalog under Tools to select the components you need.
- Choose the RAM:1-PORT option from the Basic Functions under On Chip Memory.
- Specify the location and name (
part1.v
) for your Verilog file which will describe the memory module.
- Configure the memory: Set it to be 4-bits wide and have a depth of 32 words.
- Choose settings: Memory block type set to Auto, Single Clock configuration, and unselect 'q' as a registered port.
- Finish the wizard to generate the Verilog file.
Step 2: Simulate the Memory Module
- Examine the generated Verilog file to ensure it has the correct module with necessary ports as per your schematic.
- Use ModelSim to simulate the module. Create test benches that check the RAM operation, both reading and writing, as per the timing diagrams you have.
- Use the simulation to confirm that the RAM operates correctly. Ensure your test cases cover enough scenarios to validate proper functionality.
Step 3: Create Quartus Project for the Top-Level Circuit
- Create a new project in Quartus for your complete circuit.
- Create a top-level module that connects the memory module (
part1
) to the DE1-SoC board interfaces (such as switches, buttons, and HEX displays).
- Map the
part1
ports to the DE1-SoC board pins as shown in your Table 1.
- Simulate the top-level module with ModelSim to ensure all connections are correct and the system behaves as expected.
Step 4: Compile and Test on FPGA
- Compile the project in Quartus to generate a bitstream, making sure that there are no synthesis errors.