【IC前端虛擬項目】工程目錄組織說明

【IC前端虛擬項目】數據搬運指令處理模塊前端實現虛擬項目說明-CSDN博客

文檔目錄在“MVU芯片前端設計驗證虛擬項目”中,截至本篇文章時,包含了MVU_FS.md/project_req.md和mvu_vp_list.xlsx三個文件。

  • MVU_FS是模塊的方案文檔,除了feature和對外接口已經提供外,其他部分請自行完成;
  • project_req是設計要求和設計及驗證需要交付的代碼和文檔;
  • mvu_vp_list是測試點文檔的參考;

代碼目錄在“mvu_prj”中,結構如下:

.
├── project.bashrc
├── rtl
│?? ├── cbb
│?? │?? ├── bw_pipe.v
│?? │?? ├── flop
│?? │?? │?? ├── dffe.v
│?? │?? │?? ├── dffre.v
│?? │?? │?? ├── dffr.v
│?? │?? │?? └── dff.v
│?? │?? ├── fw_bw_pipe.v
│?? │?? ├── fw_bw_shift_pipe.v
│?? │?? ├── fw_pipe.v
│?? │?? ├── hand_fifo.v
│?? │?? ├── hand_merge.v
│?? │?? ├── hand_split_align.v
│?? │?? ├── hand_split_unalign.v
│?? │?? ├── mvu_cbb.lst
│?? │?? ├── ral
│?? │?? │?? ├── apb2hostif.sv
│?? │?? │?? ├── vmm_ral_a0_field_rtl.sv
│?? │?? │?? ├── vmm_ral_a1_field_rtl.sv
│?? │?? │?? ├── vmm_ral_host_itf.sv
│?? │?? │?? ├── vmm_ral_notifier_rtl.sv
│?? │?? │?? ├── vmm_ral_rc_field_rtl.sv
│?? │?? │?? ├── vmm_ral_ro_field_rtl.sv
│?? │?? │?? ├── vmm_ral_ru_field_rtl.sv
│?? │?? │?? ├── vmm_ral_rw_field_rtl.sv
│?? │?? │?? ├── vmm_ral_w1c_field_rtl.sv
│?? │?? │?? └── vmm_ral_wo_field_rtl.sv
│?? │?? └── rr_dispatch.v
│?? ├── mvu_core.v
│?? ├── mvu_inst_buffer.v
│?? ├── mvu_param.v
│?? ├── mvu_read_path.v
│?? ├── mvu_reg.sv
│?? ├── mvu_top_define.v
│?? ├── mvu_top.rtl.lst
│?? ├── mvu_top.v
│?? ├── mvu_write_path.v
│?? ├── novas.conf
│?? ├── novas.rc
│?? ├── reg
│?? │?? ├── geany_run_script.bat
│?? │?? ├── gen_reg.py
│?? │?? ├── gen_xml_trans.py
│?? │?? ├── MVU_REG_Description.ralf
│?? │?? ├── MVU_REG_Description.xml
│?? │?? ├── MVU_REG_inf_trans.sv
│?? │?? ├── MVU_REG_log.txt
│?? │?? ├── MVU_REG.xlsx
│?? │?? └── reg
│?? │??     └── MVU_REG_Description
│?? │??         ├── ral_global_cfg.sv
│?? │??         ├── ral_global_status.sv
│?? │??         ├── ral_MVU_REG.sv
│?? │??         ├── ral_sys_MVU_REG_rtl.sv
│?? │??         ├── rtl_global_cfg
│?? │??         │?? ├── ral_blk_MVU_REG_global_cfg_rtl.sv
│?? │??         │?? ├── ral_reg_MVU_REG_global_cfg_AXI_R_CFG_rtl.sv
│?? │??         │?? ├── ral_reg_MVU_REG_global_cfg_AXI_R_OSTD_CFG_rtl.sv
│?? │??         │?? ├── ral_reg_MVU_REG_global_cfg_AXI_W_CFG_rtl.sv
│?? │??         │?? └── ral_reg_MVU_REG_global_cfg_GLOBAL_rtl.sv
│?? │??         └── rtl_global_status
│?? │??             ├── ral_blk_MVU_REG_global_status_rtl.sv
│?? │??             ├── ral_reg_MVU_REG_global_status_interface_rtl.sv
│?? │??             ├── ral_reg_MVU_REG_global_status_itf_rtl.sv
│?? │??             └── ral_reg_MVU_REG_global_status_ostd_rtl.sv
│?? ├── ut_ver
│?? │?? ├── mvu_read_path_verification
│?? │?? │?? ├── cfg
│?? │?? │?? │?? ├── cfg.mk
│?? │?? │?? │?? ├── check_fail.pl
│?? │?? │?? │?? ├── run.do
│?? │?? │?? │?? └── tb.f
│?? │?? │?? ├── sim
│?? │?? │?? │?? └── Makefile
│?? │?? │?? ├── top
│?? │?? │?? │?? └── testbench.sv
│?? │?? │?? └── ver
│?? │?? │??     └── mvu_read_path_pkg.sv
│?? │?? └── mvu_write_path_verification
│?? │??     ├── cfg
│?? │??     │?? ├── cfg.mk
│?? │??     │?? ├── check_fail.pl
│?? │??     │?? ├── run.do
│?? │??     │?? └── tb.f
│?? │??     ├── sim
│?? │??     │?? └── Makefile
│?? │??     ├── top
│?? │??     │?? └── testbench.sv
│?? │??     └── ver
│?? │??         └── mvu_write_path_pkg.sv
│?? └── verdiLog
│??     ├── compiler.log
│??     ├── exe.log
│??     ├── novas_autosave.ses
│??     ├── novas_autosave.ses.config
│??     ├── novas_autosave.ses.png
│??     ├── novas.log
│??     ├── novas_ones_IC_EDA_8908.log.result
│??     ├── novas.rc
│??     ├── pes.bat
│??     ├── tdc.list.oneSearch
│??     ├── ToNetlist.log
│??     ├── turbo.log
│??     ├── verdi.cmd
│??     ├── verdi.cmd.bak
│??     └── verdi_perf_err.log
├── script
│?? ├── cmp_rtl
│?? ├── cp.py
│?? └── git_push.py
└── ver├── common│?? ├── apb_utils│?? │?? ├── apb_utils.lst│?? │?? └── src│?? │??     ├── apb_adapter.sv│?? │??     ├── apb_agent.sv│?? │??     ├── apb_driver.sv│?? │??     ├── apb_interface.sv│?? │??     ├── apb_monitor.sv│?? │??     ├── apb_ready_drv.sv│?? │??     ├── apb_scb.sv│?? │??     ├── apb_sequencer.sv│?? │??     ├── apb_sequence.sv│?? │??     └── apb_transaction.sv│?? ├── axi_ar_utils│?? │?? ├── axi_ar.cfg│?? │?? ├── axi_ar_utils.lst│?? │?? ├── src│?? │?? │?? ├── axi_ar_agent.sv│?? │?? │?? ├── axi_ar_driver.sv│?? │?? │?? ├── axi_ar_interface.sv│?? │?? │?? ├── axi_ar_monitor.sv│?? │?? │?? ├── axi_ar_ready_drv.sv│?? │?? │?? ├── axi_ar_scb.sv│?? │?? │?? ├── axi_ar_sequencer.sv│?? │?? │?? ├── axi_ar_sequence.sv│?? │?? │?? ├── axi_ar_transaction.sv│?? │?? │?? └── prj_scoreboard.sv│?? │?? └── test│?? │??     ├── axi_ar_env.sv│?? │??     ├── axi_ar_sim.lst│?? │??     ├── base_test.sv│?? │??     ├── check_fail.pl│?? │??     ├── harness.sv│?? │??     ├── Makefile│?? │??     ├── run.do│?? │??     └── sanity_case.sv│?? ├── axi_aw_utils│?? │?? ├── axi_aw.cfg│?? │?? ├── axi_aw_utils.lst│?? │?? ├── src│?? │?? │?? ├── axi_aw_agent.sv│?? │?? │?? ├── axi_aw_driver.sv│?? │?? │?? ├── axi_aw_interface.sv│?? │?? │?? ├── axi_aw_monitor.sv│?? │?? │?? ├── axi_aw_ready_drv.sv│?? │?? │?? ├── axi_aw_scb.sv│?? │?? │?? ├── axi_aw_sequencer.sv│?? │?? │?? ├── axi_aw_sequence.sv│?? │?? │?? ├── axi_aw_transaction.sv│?? │?? │?? └── prj_scoreboard.sv│?? │?? └── test│?? │??     ├── axi_aw_env.sv│?? │??     ├── axi_aw_sim.lst│?? │??     ├── base_test.sv│?? │??     ├── check_fail.pl│?? │??     ├── harness.sv│?? │??     ├── Makefile│?? │??     ├── run.do│?? │??     └── sanity_case.sv│?? ├── axi_b_utils│?? │?? ├── axi_b.cfg│?? │?? ├── axi_b_utils.lst│?? │?? ├── src│?? │?? │?? ├── axi_b_agent.sv│?? │?? │?? ├── axi_b_driver.sv│?? │?? │?? ├── axi_b_interface.sv│?? │?? │?? ├── axi_b_monitor.sv│?? │?? │?? ├── axi_b_ready_drv.sv│?? │?? │?? ├── axi_b_scb.sv│?? │?? │?? ├── axi_b_sequencer.sv│?? │?? │?? ├── axi_b_sequence.sv│?? │?? │?? ├── axi_b_transaction.sv│?? │?? │?? └── prj_scoreboard.sv│?? │?? └── test│?? │??     ├── axi_b_env.sv│?? │??     ├── axi_b_sim.lst│?? │??     ├── base_test.sv│?? │??     ├── check_fail.pl│?? │??     ├── harness.sv│?? │??     ├── Makefile│?? │??     ├── run.do│?? │??     └── sanity_case.sv│?? ├── axi_ram_model│?? │?? ├── axi_ram_model.lst│?? │?? ├── axi_ram_model_seq.sv│?? │?? ├── axi_ram_model_sqr.sv│?? │?? └── axi_ram_model.sv│?? ├── axi_r_utils│?? │?? ├── axi_r.cfg│?? │?? ├── axi_r_utils.lst│?? │?? ├── src│?? │?? │?? ├── axi_r_agent.sv│?? │?? │?? ├── axi_r_driver.sv│?? │?? │?? ├── axi_r_interface.sv│?? │?? │?? ├── axi_r_monitor.sv│?? │?? │?? ├── axi_r_ready_drv.sv│?? │?? │?? ├── axi_r_scb.sv│?? │?? │?? ├── axi_r_sequencer.sv│?? │?? │?? ├── axi_r_sequence.sv│?? │?? │?? ├── axi_r_transaction.sv│?? │?? │?? └── prj_scoreboard.sv│?? │?? └── test│?? │??     ├── axi_r_env.sv│?? │??     ├── axi_r_sim.lst│?? │??     ├── base_test.sv│?? │??     ├── check_fail.pl│?? │??     ├── harness.sv│?? │??     ├── Makefile│?? │??     ├── run.do│?? │??     ├── sanity_case.sv│?? │??     └── tr_db.log│?? ├── axi_w_utils│?? │?? ├── axi_w.cfg│?? │?? ├── axi_w_utils.lst│?? │?? ├── src│?? │?? │?? ├── axi_w_agent.sv│?? │?? │?? ├── axi_w_driver.sv│?? │?? │?? ├── axi_w_interface.sv│?? │?? │?? ├── axi_w_monitor.sv│?? │?? │?? ├── axi_w_ready_drv.sv│?? │?? │?? ├── axi_w_scb.sv│?? │?? │?? ├── axi_w_sequencer.sv│?? │?? │?? ├── axi_w_sequence.sv│?? │?? │?? ├── axi_w_transaction.sv│?? │?? │?? └── prj_scoreboard.sv│?? │?? └── test│?? │??     ├── axi_w_env.sv│?? │??     ├── axi_w_sim.lst│?? │??     ├── base_test.sv│?? │??     ├── check_fail.pl│?? │??     ├── harness.sv│?? │??     ├── Makefile│?? │??     ├── run.do│?? │??     └── sanity_case.sv│?? ├── cmt_utils│?? │?? ├── cmt.cfg│?? │?? ├── cmt_utils.lst│?? │?? ├── src│?? │?? │?? ├── cmt_agent.sv│?? │?? │?? ├── cmt_driver.sv│?? │?? │?? ├── cmt_interface.sv│?? │?? │?? ├── cmt_monitor.sv│?? │?? │?? ├── cmt_ready_drv.sv│?? │?? │?? ├── cmt_scb.sv│?? │?? │?? ├── cmt_sequencer.sv│?? │?? │?? ├── cmt_sequence.sv│?? │?? │?? ├── cmt_transaction.sv│?? │?? │?? └── prj_scoreboard.sv│?? │?? └── test│?? │??     ├── base_test.sv│?? │??     ├── check_fail.pl│?? │??     ├── cmt_env.sv│?? │??     ├── cmt_sim.lst│?? │??     ├── harness.sv│?? │??     ├── Makefile│?? │??     ├── run.do│?? │??     └── sanity_case.sv│?? ├── inst_utils│?? │?? ├── inst.cfg│?? │?? ├── inst_utils.lst│?? │?? ├── src│?? │?? │?? ├── inst_agent.sv│?? │?? │?? ├── inst_driver.sv│?? │?? │?? ├── inst_interface.sv│?? │?? │?? ├── inst_monitor.sv│?? │?? │?? ├── inst_ready_drv.sv│?? │?? │?? ├── inst_scb.sv│?? │?? │?? ├── inst_sequencer.sv│?? │?? │?? ├── inst_sequence.sv│?? │?? │?? ├── inst_transaction.sv│?? │?? │?? └── prj_scoreboard.sv│?? │?? └── test│?? │??     ├── base_test.sv│?? │??     ├── check_fail.pl│?? │??     ├── harness.sv│?? │??     ├── inst_env.sv│?? │??     ├── inst_sim.lst│?? │??     ├── Makefile│?? │??     ├── run.do│?? │??     └── sanity_case.sv│?? └── prj_utils│??     ├── prj_utils.lst│??     └── src│??         ├── prj_define.sv│??         └── prj_scoreboard.sv├── mvu│?? ├── cfg│?? │?? ├── cfg.mk│?? │?? ├── check_fail.pl│?? │?? ├── run.do│?? │?? └── tb.f│?? ├── cov│?? │?? └── mvu_inst_cov.sv│?? ├── env│?? │?? ├── mvu_env.sv│?? │?? └── mvu_rm.sv│?? ├── sim│?? │?? ├── Makefile│?? │?? ├── novas.rc│?? │?? └── run_case.sh│?? ├── tc│?? │?? ├── base_test.sv│?? │?? ├── one_inst_case.sv│?? │?? ├── random_case.sv│?? │?? ├── sanity_case.sv│?? │?? ├── small_pkt_case.sv│?? │?? └── tc.f│?? └── th│??     ├── harness.sv│??     └── th│??         └── harness.sv├── mvu.cfg└── mvu_sim_define.sv

這些全部是手撕代碼,當然會借助verilog-mode/auto_testbench/gen_uvm_agent/gen_uvm_tb等諸多工具輔助開發,不需要擔心。

mvu_prj下預計有五個目錄:

  • rtl:用于放置rtl代碼,以及rtl filelist,一些模塊的ut仿真環境也在這個目錄下;
  • ver:驗證目錄,其中的common為公用組件和utils,mvu為muv模塊的仿真環境;
  • script:相關的腳本放置目錄;
  • flow:編譯、lint、綜合的工作目錄;
  • lib:綜合的庫文件目錄;

由于目前只完成了代碼編寫和功能驗證,目錄內容暫不全面,后面會逐步補全。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213477.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213477.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213477.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

淺談CompletableFuture

作者簡介:大家好,我是smart哥,前中興通訊、美團架構師,現某互聯網公司CTO 聯系qq:184480602,加我進群,大家一起學習,一起進步,一起對抗互聯網寒冬 回顧FutureTask 之前我…

安全高效 江西變電站成功應用國家電網無人機巡檢

隨著電力需求的迅速增長,電網的巡檢、維護與保養變得越來越重要。為迎接這一挑戰,江西供電公司的一座變電站成功引入了復亞智能國家電網無人機巡檢系統,在提升巡檢水平、開創新型巡檢模式方面做出了重要嘗試,為電網設備的高效巡檢…

EDA 數字時鐘

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、數字時鐘是什么?二、EDA里面數碼管的顯示1.元件模型2.參考程序3. 實驗仿真波形4.實驗現象5. 仿真問題 三、顯示時鐘1. 時鐘電路模塊2.參考程序3…

gRPC .net學習

學習helloworld server用.net client有.net的控制臺 和 unity server端 直接使用vs2022創建(需自行看有無裝asp.net哦),搜索gPRC,使用6.0吧,創建工程后直接F5跑起來,服務端到此完成 .net控制臺client,創建新的控制臺,使用NuGet,然后導入server端的Protos文件夾 學…

基于Jedis來探討池化技術

為什么需要池化技術 系統運行時必然是需要數據庫連接、線程等一些重量級對象,頻繁的創建這種對象對性能有著不小的開銷,所以為了減少沒必要的創建和開銷,我們就用到了池化技術。 通過創建一個資源池來保存這些資源便于后續的復用&#xff0c…

【C++初階】七、內存管理(C/C++內存分布、C++內存管理方式、operator new / delete 函數、定位new表達式)

相關代碼gitee自取: C語言學習日記: 加油努力 (gitee.com) 接上期: 【C初階】六、類和對象(初始化列表、static成員、友元、內部類)-CSDN博客 目錄 一 . C/C內存分布 C/C中程序內存區域劃分: 二 . C內存管理方式 …

16.Java程序設計-基于SSM框架的android餐廳在線點單系統App設計與實現

摘要: 本研究旨在設計并實現一款基于SSM框架的Android餐廳在線點單系統,致力于提升餐廳點餐流程的效率和用戶體驗。通過整合Android移動應用和SSM框架的優勢,該系統涵蓋了用戶管理、菜單瀏覽與點單、訂單管理、支付與結算等多個功能模塊&…

用戶登錄權限

文章目錄 [TOC](文章目錄) 前言一、 Cookie與session1.HTTP無狀態2.cookie 和 session 的生命周期2.1 cookie 生命周期影響因素2.2 session 生命周期影響因素 3.cookie 和 session 的區別4.工作原理3 用戶登錄Node.js和Express驗證session 二、JSON Web Token1. JWT 介紹2. JWT…

C#使用Matrix類對Dicom圖像的放縮

C#使用Matrix類對Dicom圖像的放縮,使用Matrix 1.同時操作水平、垂直同時放縮 // 創建一個 Matrix 對象 Matrix m_Matrix new Matrix();//放縮參數 float inputZoom1.2f; m_Matrix.Scale(inputZoom, inputZoom, MatrixOrder.Append); 2.操作水平(X軸…

前端使用插件預覽pdf、docx、xlsx、pptx格式文件

PDF預覽 H5頁面pdf預覽 插件:pdfh5 版本:“pdfh5”: “^1.4.7” npm install pdfh5 import PdfH5 from "pdfh5"; import "pdfh5/css/pdfh5.css";// methods this.$nextTick(() > {this.pdfH5 new PdfH5("#pdf", {pd…

【算法系列篇】遞歸、搜索和回溯(二)

文章目錄 前言1. 兩兩交換鏈表中的節點1.1 題目要求1.2 做題思路1.3 代碼實現 2. Pow(X,N)2.1 題目要求2.2 做題思路2.3 代碼實現 3. 計算布爾二叉樹的值3.1 題目要求3.2 做題思路3.3 代碼實現 4. 求根節點到葉結點數字之和4.1 題目要求4.2 做題思路4.3 代碼實現 前言 前面為大…

計算機畢業設計springboot+ssm停車場車位預約系統java

管理員不可以注冊賬號 停車位包括車位所在樓層、車位編號、車位類型(全時間開放/高峰期開放)、預定狀態等 用戶預約時要求支付預約時間段的停車費用 違規行為:1.停車超過預約時間段 2.預約未使用 于系統的基本要求 (1)功能要求&am…

6G來襲,真的有必要嗎?

6G來襲,6G標準將在2025年完成制定,2030年商用。當5G都還沒玩明白的時候,6G又來了。 這次6G又提出了三個全新高大上場景,感知通信、人工智能通信、天地一體泛在物聯,精英們還說,未來要連接很多機器人、元宇宙…

PHP基礎 - 循環與條件語句

循環語句 1)for循環: 重復執行一個代碼塊指定的次數。 for ($i = 0; $i < 5; $i++) { // 初始化 $i 為 0,每次循環后將 $i 值增加 1,當 $i 小于 5 時執行循環echo "The number is: $i \n"; // 輸出當前 $i 的值并換行 }// 循環輸出結果為: // The number …

mysql字段設計規范:使用unsigned(無符號的)存儲非負值

如果一個字段存儲的是數值&#xff0c;并且是非負數&#xff0c;要設置為unsigned&#xff08;無符號的&#xff09;。 例如&#xff1a; 備注&#xff1a;對于類型是 FLOAT、 DOUBLE和 DECIMAL的&#xff0c;UNSIGNED屬性已經廢棄了&#xff0c;可能在mysql的未來某個版本去…

mysql分別在windows和linux下的備份策略

嗟乎&#xff01; 一、概述 mysql數據庫該怎么備份呢&#xff1f; 數據庫備份有幾個概念&#xff1a;全量備份、增量備份、差異備份。當然啦&#xff0c;數據庫備份又有冷備份和熱備份&#xff0c;即物理備份和邏輯備份之分。冷備份就是將mysql停了&#xff0c;然后直接拷貝…

Python入門第2篇

pip包管理器 包管理器類似.NET下的nuget&#xff0c;主要用于管理引用依賴項。 安裝Python的時候&#xff0c;已經默認安裝了pip包管理器&#xff0c;因此無需單獨安裝 cmd&#xff0c;輸入&#xff1a;pip --version 顯示pip版本號信息&#xff0c;即代表pip安裝成功&…

前端知識筆記(四十二)———http和https詳細解析

HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一種用于在計算機網絡中傳輸超文本的協議。它是一個客戶端-服務器協議&#xff0c;用于從 Web 服務器傳輸超文本到本地瀏覽器。HTTP 使用 TCP/IP 協議作為底層傳輸協議&#xff0c;并使用默認端口號80。 HTTPS&…

8-tornado中模板的使用(通過字符串返回、通過模板Template返回、通過模板render返回)、模板案例

1 Template 1.1 通過字符串返回 import tornado class IndexHandler(web.RequestHandler):def get(self):arg Templateself.finish(f<h1>Hello {arg}!!</h1>)1.2 通過模板Template返回 tornado.template 一個簡單的模板系統&#xff0c;將模板編譯為Python代碼。…

c 一,二,三維數組的定義和賦值

1. 定義數組必須指定數組的大小&#xff0c;也就是用多少存儲空間來存儲此數組 2.定義數組必須用數組的標準格式定義&#xff1a;數組名下標的形式 3.只有字符串可以用指針來定義 4.可以把c 中一切數和struct 理解為char 數組 比如int 就是4字節的char數組 #include <…