2024-10-01ãã1ã¶æéã®è¨äºä¸è¦§
ååã¯ãã¡ãï¼msyksphinz.hatenablog.com UVMã®ãããªããã¹ããã³ãã試è¡ããããã«ã以ä¸ã®ã¦ã§ããµã¤ãã®ãµã³ãã«ã試ãã¦ã¿ããã¨ã«ããã www.chipverify.com ä»åã¯ä»¥ä¸ã®ã¹ã¤ãããã¢ãã¬ã¹ã«å¯¾ãã¦ã©ã¡ããã®åºåã«å ¥åã転éããããã®æã«1ãµã¤â¦
ååï¼msyksphinz.hatenablog.com github.com RISC-V IOMMUã®æ§æã«ã¤ãã¦ãæ¦ç¥ããã£ããç解ããããã®ã¡ã¢ã ä½åãèªããã¨ãã¦æ«æãã¦ããã®ã§ãããä¸åº¦ã¡ããã¨èªãã§ã¿ããã¨æãã ãã¡ã¼ã¹ãã»ã¹ãã¼ã¸ã»ã³ã³ããã¹ã (fsc) DC.tc.PDTV ã0ã®å ´â¦
ååï¼msyksphinz.hatenablog.com github.com RISC-V IOMMUã®æ§æã«ã¤ãã¦ãæ¦ç¥ããã£ããç解ããããã®ã¡ã¢ã ä½åãèªããã¨ãã¦æ«æãã¦ããã®ã§ãããä¸åº¦ã¡ããã¨èªãã§ã¿ããã¨æãã 2.1.3. ããã¤ã¹ã»ã³ã³ããã¹ãã»ãã£ã¼ã«ã ãã©ã³ã¹ã¬ã¼ã·ã§ã³â¦
ååï¼msyksphinz.hatenablog.com github.com RISC-V IOMMUã®æ§æã«ã¤ãã¦ãæ¦ç¥ããã£ããç解ããããã®ã¡ã¢ã ä½åãèªããã¨ãã¦æ«æãã¦ããã®ã§ãããä¸åº¦ã¡ããã¨èªãã§ã¿ããã¨æãã 2.1. ããã¤ã¹ã»ãã£ã¬ã¯ããªã»ãã¼ãã«ï¼DDTï¼ DDTã¯ãããã¤ã¹â¦
ååã¯ãã¡ãï¼msyksphinz.hatenablog.com UVMã®ãããªããã¹ããã³ãã試è¡ããããã«ã以ä¸ã®ã¦ã§ããµã¤ãã®ãµã³ãã«ã試ãã¦ã¿ããã¨ã«ããã www.chipverify.com ãã®ãã¼ã¸ã§ã¯ãå¥ãã¼ã¸ã§ä½ã£ãSystemVerilogã®ã¬ã¸ã¹ã¿ã³ã³ããã¼ã©ï¼ã¬ã¸ã¹ã¿ãã¡ã¤â¦
ååã¯ãã¡ãï¼ msyksphinz.hatenablog.com UVMã®ãããªããã¹ããã³ãã試è¡ããããã«ã以ä¸ã®ã¦ã§ããµã¤ãã®ãµã³ãã«ã試ãã¦ã¿ããã¨ã«ããã www.chipverify.com ãã®ãã¼ã¸ã§ã¯ãå¥ãã¼ã¸ã§ä½ã£ãSystemVerilogã®ã¬ã¸ã¹ã¿ã³ã³ããã¼ã©ï¼ã¬ã¸ã¹ã¿ãã¡ã¤â¦
ååã¯ãã¡ãï¼ msyksphinz.hatenablog.com UVMã®ãããªããã¹ããã³ãã試è¡ããããã«ã以ä¸ã®ã¦ã§ããµã¤ãã®ãµã³ãã«ã試ãã¦ã¿ããã¨ã«ããã www.chipverify.com ãã®ãã¼ã¸ã§ã¯ãå¥ãã¼ã¸ã§ä½ã£ãSystemVerilogã®ã¬ã¸ã¹ã¿ã³ã³ããã¼ã©ï¼ã¬ã¸ã¹ã¿ãã¡ã¤â¦
UVMã®ãããªããã¹ããã³ãã試è¡ããããã«ã以ä¸ã®ã¦ã§ããµã¤ãã®ãµã³ãã«ã試ãã¦ã¿ããã¨ã«ããã www.chipverify.com ãã®ãã¼ã¸ã§ã¯ãå¥ãã¼ã¸ã§ä½ã£ãSystemVerilogã®ã¬ã¸ã¹ã¿ã³ã³ããã¼ã©ï¼ã¬ã¸ã¹ã¿ãã¡ã¤ã«ã¿ãããªãã®ï¼ãæ¤è¨¼ããããã®UVMç°å¢ãâ¦
ååï¼msyksphinz.hatenablog.com github.com RISC-V IOMMUã®æ§æã«ã¤ãã¦ãæ¦ç¥ããã£ããç解ããããã®ã¡ã¢ã ä½åãèªããã¨ãã¦æ«æãã¦ããã®ã§ãããä¸åº¦ã¡ããã¨èªãã§ã¿ããã¨æãã 2. ãã¼ã¿æ§é ããã¤ã¹ã»ã³ã³ããã¹ãï¼DCï¼ã¯ãããã¤ã¹ã¨ã¢ãâ¦
ååï¼msyksphinz.hatenablog.com github.com RISC-V IOMMUã®æ§æã«ã¤ãã¦ãæ¦ç¥ããã£ããç解ããããã®ã¡ã¢ã ä½åãèªããã¨ãã¦æ«æãã¦ããã®ã§ãããä¸åº¦ã¡ããã¨èªãã§ã¿ããã¨æãã 1.4. IOMMUã®ç¹å¾´ RISC-V IOMMUä»æ§ã®ãã¼ã¸ã§ã³1.0ã¯ã以ä¸ã®æ©â¦
ååï¼msyksphinz.hatenablog.com github.com RISC-V IOMMUã®æ§æã«ã¤ãã¦ãæ¦ç¥ããã£ããç解ããããã®ã¡ã¢ã ä½åãèªããã¨ãã¦æ«æãã¦ããã®ã§ãããä¸åº¦ã¡ããã¨èªãã§ã¿ããã¨æãã 1.3 é ç½®ã¨ãã¼ã¿ã®æµã å³5ã«ç¤ºãããããã«ãå ¸åçãªRISC-V Hâ¦
ååï¼msyksphinz.hatenablog.com github.com RISC-V IOMMUã®æ§æã«ã¤ãã¦ãæ¦ç¥ããã£ããç解ããããã®ã¡ã¢ã ä½åãèªããã¨ãã¦æ«æãã¦ããã®ã§ãããä¸åº¦ã¡ããã¨èªãã§ã¿ããã¨æãã 1.2 使ç¨ã¢ãã« IOMMUã¯ãéä»®æ³åOSã«ããã¦ä»¥ä¸ã®ä¸»è¦ãªã·ã¹ãâ¦
github.com RISC-V IOMMUã®æ§æã«ã¤ãã¦ãæ¦ç¥ããã£ããç解ããããã®ã¡ã¢ã ä½åãèªããã¨ãã¦æ«æãã¦ããã®ã§ãããä¸åº¦ã¡ããã¨èªãã§ã¿ããã¨æãã ç¨èªã®å®ç¾© ç¨èª å®ç¾© AIA RISC-V Advanced Interrupt Architecture ATS / PCIe ATS Address Transâ¦
ãããã°ã«ã¤ãã¦èãã¦ããã ä¾ãã°ãä»è©¦ãã¦ããUVMã®ãã¶ã¤ã³ã§ã以ä¸ã®ãããªã¨ã©ã¼ãåºã¦ãã¾ã£ãã ERROR: File: /home/msyksphinz/work/sv/uvm_study/bfm/sample_monitor.sv Line: 24 : Accessing null or invalid reference to virtual interface â¦
github.com ã¨ãããã olympia ã®å®è¡æ¹æ³ã試ãã¦ã¿ããã¨æãã ./olympia ../traces/dhry_riscv.zstf --report-all dhry_report.out # Name: Olympia RISC-V Perf Model # Cmdline: ./olympia ../traces/dhry_riscv.zstf --report-all dhry_report.out #â¦
sites.google.com 次ã¯ãæå¾ å¤ã®èªåæ¯è¼ãèãã¦ããã ã¹ã³ã¢ãã¼ããå°å ¥ããã¨ããããã ã 1000åã®ã©ã³ãã æ¸ãè¾¼ã¿ã®å¾ã1000åãªã¼ããã¦æ¯è¼ããããã¨ãããã¨ãèªååã§ããããã«ããã ãã®ããã«ãã¹ã³ã¢ãã¼ããçµã¿è¾¼ãããã®ããã«ã¯ã¢ãâ¦
ããä½åç®ã«ãªãã®ãããããªãããããããUVMãè¦ããªããã°ãªããªãã®ã§Vivado Simulatorã使ã£ã¦UVMã«å ¥éãã¦ã¿ããã ååä½ã£ããã¹ãããVivado 2023.2 ã ã¨ããªãã¨ãªãåããªãã£ãã®ã§ãDSimã§ã試è¡ãã¦ããã åèã«ãã¦ããã®ã¯ä¾ã«ãã£ã¦ä»¥â¦
ããä½åç®ã«ãªãã®ãããããªãããããããUVMãè¦ããªããã°ãªããªãã®ã§Vivado Simulatorã使ã£ã¦UVMã«å ¥éãã¦ã¿ããã ååä½ã£ããã¹ãããVivado 2023.2 ã ã¨ããªãã¨ãªãåããªãã£ãã®ã§ãDSimã§ã試è¡ãã¦ããã åèã«ãã¦ããã®ã¯ä¾ã«ãã£ã¦ä»¥â¦
ããä½åç®ã«ãªãã®ãããããªãããããããUVMãè¦ããªããã°ãªããªãã®ã§Vivado Simulatorã使ã£ã¦UVMã«å ¥éãã¦ã¿ããã ååä½ã£ããã¹ãããVivado 2023.2 ã ã¨ããªãã¨ãªãåããªãã£ãã®ã§ãDSimã§ã試è¡ãã¦ããã åèã«ãã¦ããã®ã¯ä¾ã«ãã£ã¦ä»¥â¦
ããä½åç®ã«ãªãã®ãããããªãããããããUVMãè¦ããªããã°ãªããªãã®ã§Vivado Simulatorã使ã£ã¦UVMã«å ¥éãã¦ã¿ããã ä»åã¯Vivado 2023.2ã使ã£ã¦ããã åèã«ãã¦ããã®ã¯ä¾ã«ãã£ã¦ä»¥ä¸ã®ã¦ã§ããµã¤ãã ï¼ sites.google.com ååã®ã³ã¼ããVivadoâ¦
ããä½åç®ã«ãªãã®ãããããªãããããããUVMãè¦ããªããã°ãªããªãã®ã§Vivado Simulatorã使ã£ã¦UVMã«å ¥éãã¦ã¿ããã ä»åã¯Vivado 2023.2ã使ã£ã¦ããã åèã«ãã¦ããã®ã¯ä¾ã«ãã£ã¦ä»¥ä¸ã®ã¦ã§ããµã¤ãã ï¼ sites.google.com ä»åã¯UVMã®ã¹ãã£ãâ¦
ããä½åç®ã«ãªãã®ãããããªãããããããUVMãè¦ããªããã°ãªããªãã®ã§Vivado Simulatorã使ã£ã¦UVMã«å ¥éãã¦ã¿ããã ä»åã¯Vivado 2023.2ã使ã£ã¦ããã åèã«ãã¦ããã®ã¯ä¾ã«ãã£ã¦ä»¥ä¸ã®ã¦ã§ããµã¤ãã ï¼ sites.google.com ååã«è¿½å ãã¦ã以ä¸â¦
ããä½åç®ã«ãªãã®ãããããªãããããããUVMãè¦ããªããã°ãªããªãã®ã§Vivado Simulatorã使ã£ã¦UVMã«å ¥éãã¦ã¿ããã ä»åã¯Vivado 2023.2ã使ã£ã¦ããã åèã«ãã¦ããã®ã¯ä¾ã«ãã£ã¦ä»¥ä¸ã®ã¦ã§ããµã¤ãã ï¼ sites.google.com tb_top.sv `timescaleâ¦
ãã¾ãããªãããVerilator 5ã®test benchã®ã¿ã¤ãã³ã°å¶å¾¡æ©è½ã®ãµãã¼ãã試ãããã¨æãããã¹ããéå§ãã¦ããã $ verilator --version Verilator 5.020 2024-01-01 rev v5.020 verilator5_test.sv module tb; initial begin $display ("%t test start"â¦