start
                Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| start [2024/09/22 17:31] – [Download source file] kise | start [2025/10/11 16:23] (current) – [Verilog HDL simulation using Verilator] 104.233.166.1 | ||
|---|---|---|---|
| Line 63: | Line 63: | ||
| - Ver.0.5.1 : The version supporting Verilator, Embench, pySerial, Vivado 2019.2 | - Ver.0.5.1 : The version supporting Verilator, Embench, pySerial, Vivado 2019.2 | ||
| - Ver.0.4.6 : The version used in our submitted manuscript | - Ver.0.4.6 : The version used in our submitted manuscript | ||
| - | |||
| Line 78: | Line 77: | ||
| - [[https:// | - [[https:// | ||
| - | --> | + | ### Install command | 
| Install verilator by the following command. | Install verilator by the following command. | ||
| Line 98: | Line 97: | ||
| $ pip3 install pyserial | $ pip3 install pyserial | ||
| ``` | ``` | ||
| - | |||
| - | <-- | ||
| Line 119: | Line 116: | ||
| ``` | ``` | ||
| - | --> | + | ### Verilog HDL simulation using Verilator | 
| You execute the following commands on the recommended environment. | You execute the following commands on the recommended environment. | ||
| Line 139: | Line 136: | ||
| The memory file of the test benchmark is `test/ | The memory file of the test benchmark is `test/ | ||
| - | --> | + | ### Execution result when running `test/ | 
| ``` | ``` | ||
| Line 210: | Line 207: | ||
| The information such as IPC (Instructions Per Cycle) and branch prediction hit rate is output to the console after running simulation. | The information such as IPC (Instructions Per Cycle) and branch prediction hit rate is output to the console after running simulation. | ||
| - | <-- | + | |
| (3) Execute the Dhrystone and Coremark benchmarks by the Verilog HDL simulation | (3) Execute the Dhrystone and Coremark benchmarks by the Verilog HDL simulation | ||
| Line 252: | Line 249: | ||
| The execution results of dhrystone3, coremark3, and 19 benchmarks of Embench are summarized in the file `result.txt`. | The execution results of dhrystone3, coremark3, and 19 benchmarks of Embench are summarized in the file `result.txt`. | ||
| - | <-- | ||
| - | --> | + | ### Implementation and execution on a FPGA board | 
| You execute the following process in the directory of the downloaded source code on the recommended environment. | You execute the following process in the directory of the downloaded source code on the recommended environment. | ||
| Line 261: | Line 257: | ||
| ``` | ``` | ||
| - | $ vivado main.xpr & | + | $ vivado main.xpr & | 
| ``` | ``` | ||
| Line 273: | Line 269: | ||
| Execute the following process according to the used set of logic synthesis and placement and routing. | Execute the following process according to the used set of logic synthesis and placement and routing. | ||
| - | - Right click on synth_* for logic synthesis and select | + | - Right click on synth_* for logic synthesis and select | 
| - | - Click "Generate Bitstream" | + | - Click "Generate Bitstream& | 
| By default, the operating frequency of the processor is set to 160MHz. | By default, the operating frequency of the processor is set to 160MHz. | ||
| Line 288: | Line 284: | ||
| (3) Write the generated bitstream to the FPGA board | (3) Write the generated bitstream to the FPGA board | ||
| - | - Click "Open Hardware Manager" | + | - Click "Open Hardware Manager& | 
| - | - Click "Open target" | + | - Click "Open target& | 
| - | - Click "Program device" | + | - Click "Program device& | 
| - | - Click "Program" | + | - Click "Program& | 
| When the bitstream data is correctly written to the Nexys 4 DDR board, | When the bitstream data is correctly written to the Nexys 4 DDR board, | ||
| - | the DONE LED lights up and "00000000" | + | the DONE LED lights up and "00000000& | 
| (4) Prepare for 8M baud serial communication | (4) Prepare for 8M baud serial communication | ||
| Line 326: | Line 322: | ||
| ``` | ``` | ||
| - | $ python3 serial_rvcorep.py 8 "test.bin" | + | $ python3 serial_rvcorep.py 8 "test.bin" | 
| ``` | ``` | ||
| Line 339: | Line 335: | ||
| The following execution result is output via serial communication. | The following execution result is output via serial communication. | ||
| - | --> | + | ### Execution result when running `test.bin` | 
| ``` | ``` | ||
| Line 398: | Line 394: | ||
| If you execute the test benchmark `test/ | If you execute the test benchmark `test/ | ||
| - | <-- | ||
| This program is terminated by Ctrl-C. | This program is terminated by Ctrl-C. | ||
| Line 404: | Line 399: | ||
| If you want to send the binary file of the program to the FPGA board again and execute it, proceed from step (3). | If you want to send the binary file of the program to the FPGA board again and execute it, proceed from step (3). | ||
| - | <-- | ||
start.1726993896.txt.gz · Last modified: 2024/09/22 17:31 by kise · Currently locked by: 149.126.220.212
                
                