在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何快速生成Verilog代碼文件列表

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 2023-01-15 10:59 ? 次閱讀

用工具建工程對Verilog進行仿真、綜合或者其它操作時,在寫腳本的時候常常需要工程中Veriog文件的列表,若工程中.v文件過多,則常常需要手動編寫文件列表。本文教給大家用C語言簡單寫的一個自動生成某個文件夾下所有.v文件列表的方法。

使用說明

環境:Windows 7操作系統或其它常用Windows操作系統
編譯器:DEV C++或其它
使用方法:隨便找個C語言的編譯器,靜態編譯生成exe文件后,可隨意拷貝至某文件夾下,雙擊運行,等待輸出rtl.f文件即可。

使用舉例:將生成的exe文件拷貝至C:modeltech64_10.4目錄下,雙擊運行,如下動圖。

b63e9ed2-947a-11ed-bfe3-dac502259ad0.gif

生成的rtl.f打開后如下圖所示。

b6a98d96-947a-11ed-bfe3-dac502259ad0.jpg

另外,該代碼提供了一種操作Windows系統路徑的操作方法,可以簡單修改一下,用作它用。如找到某種類型的文件或某個文件進行拷貝、轉移、修改、刪除等操作。

源代碼

#include
#include
#include
#include
#include
#include

#defineFILE_NUM50000
#defineN50000

staticintcount_file=0;

typedefstruct
{
intnum;
charname[800];
intvtype;
}filetype;

filetypefiles[FILE_NUM];

BOOLIsRoot(LPCTSTRlpszPath)
{
TCHARszRoot[4];
wsprintf(szRoot,"%c:",lpszPath[0]);
return(lstrcmp(szRoot,lpszPath)==0);
}

voidFindInAll(LPCTSTRlpszPath)
{
WIN32_FIND_DATAwfd;
TCHARszFind[MAX_PATH];
HANDLEhFind;
TCHARszFile[MAX_PATH];
lstrcpy(szFind,lpszPath);

if(!IsRoot(szFind))
lstrcat(szFind,"");
lstrcat(szFind,"*.*");//找所有.v文件

hFind=FindFirstFile(szFind,&wfd);
if(hFind==INVALID_HANDLE_VALUE)//如果沒有找到或查找失敗
return;

do
{
if(wfd.cFileName[0]=='.')
continue;//過濾這兩個目錄
if(wfd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
{

if(IsRoot(lpszPath))
wsprintf(szFile,"%s%s",lpszPath,wfd.cFileName);
else
wsprintf(szFile,"%s\%s",lpszPath,wfd.cFileName);
FindInAll(szFile);//如果找到的是目錄,則進入此目錄進行遞歸
}
else
{

if(IsRoot(lpszPath))
wsprintf(szFile,"%s%s",lpszPath,wfd.cFileName);
else
wsprintf(szFile,"%s\%s",lpszPath,wfd.cFileName);

printf("%s
",szFile);

files[count_file].num=count_file;
strcpy(files[count_file].name,szFile);
count_file=count_file+1;

//printf("count_file=%d,num=%s
",count_file,files[count_file-1].name);

//對文件進行操作
}
}while(FindNextFile(hFind,&wfd));
FindClose(hFind);//關閉查找句柄
}

intmain(intargc,char*argv[])
{
FILE*fp1;
inti,j,k;
charbuf[800]="";
charbuf1[800]="";
inttype=0;

if((fp1=fopen("rtl.f","w+"))==NULL)
return;

memset(buf,0,800);
memset(buf1,0,800);
memset(files,0,FILE_NUM*sizeof(filetype));

getcwd(buf,sizeof(buf));
printf("currentworkingdirectory:%s
",buf);
FindInAll(buf);

for(i=0;imemset(buf1,0,800);
strcpy(buf1,files[i].name);
type=0;
k=strlen(buf1);
//printf("
k=%d;",k);
for(j=0;j<=k;j++)
????????{

????????????if((buf1[j]=='.')&&((buf1[j+1]=='v')||(buf1[j+1]=='V'))&&(j==k-2))
//if((buf1[j]=='.')&&(j==k-2))
{
//printf("
j=%d
",j);
type=1;
files[i].vtype=1;
fprintf(fp1,"%s
",files[i].name);
}
}

}

getch();
fclose(fp1);
return0;
}

版本更新記錄


版本號:V1.1.2
更新日期:2013-07-17
1446 修改代碼,擴展name的長度為800,可以處理長路徑的情況

版本號:V1.1.1
更新日期:2013-05-18
1038 修改代碼,添加判斷語句&& (j==k-2),避免.vhd等文件也被列出來

版本號:V1.1.0
更新日期:2013-02-10
1455 已添加對文件名進行判斷,能夠自動的將當前路徑下的所有文件及子文件夾下的.v文件列舉出來。

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 操作系統
    +關注

    關注

    37

    文章

    6822

    瀏覽量

    123331
  • Verilog
    +關注

    關注

    28

    文章

    1351

    瀏覽量

    110095
  • 代碼
    +關注

    關注

    30

    文章

    4788

    瀏覽量

    68603

原文標題:如何快速生成Verilog代碼文件列表(附開源C代碼)

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Verilog 與 ASIC 設計的關系 Verilog 代碼優化技巧

    Verilog與ASIC設計的關系 Verilog作為一種硬件描述語言(HDL),在ASIC設計中扮演著至關重要的角色。ASIC(Application Specific Integrated
    的頭像 發表于 12-17 09:52 ?113次閱讀

    Verilog 測試平臺設計方法 Verilog FPGA開發指南

    Verilog設計的仿真需求。 編寫測試文件 : 編寫Verilog測試文件,對設計的各個模塊進行測試。測試文件應覆蓋各種情況,包括正
    的頭像 發表于 12-17 09:50 ?197次閱讀

    Verilog與VHDL的比較 Verilog HDL編程技巧

    Verilog 與 VHDL 比較 1. 語法和風格 VerilogVerilog 的語法更接近于 C 語言,對于有 C 語言背景的工程師來說,學習曲線較平緩。它支持結構化編程,代碼
    的頭像 發表于 12-17 09:44 ?143次閱讀

    探索設計稿自動生成Flutter代碼的技術方案

    的工具和方法,最后嘗試大模型生成flutter代碼在項目中的實踐。 一、美團的探索 美團在2021年3月25日發表了一篇關于設計稿自動生成代碼的文章,探討了sketch2json和im
    的頭像 發表于 11-08 10:09 ?921次閱讀
    探索設計稿自動<b class='flag-5'>生成</b>Flutter<b class='flag-5'>代碼</b>的技術方案

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發表于 11-05 11:45 ?312次閱讀
    如何自動<b class='flag-5'>生成</b><b class='flag-5'>verilog</b><b class='flag-5'>代碼</b>

    Verilog硬件描述語言參考手冊

    一. 關于 IEEE 1364 標準二. Verilog簡介三. 語法總結四. 編寫Verilog HDL源代碼的標準五. 設計流程
    發表于 11-04 10:12 ?0次下載

    FPGA Verilog HDL代碼如何debug?

    ,共同進步。 歡迎加入FPGA技術微信交流群14群! 交流問題(一) Q:Verilog代碼如何debug?最近學習fpga,寫了不少verilog,開始思考如何debug的問題!c語言是順序執行,而
    發表于 09-24 19:16

    labview程序生成exe文件怎么還原

    在LabVIEW中,程序生成exe文件后,通常這個過程是不可逆的,即exe文件無法直接“還原”回原始的LabVIEW項目文件(.vi或.lvproj)。exe
    的頭像 發表于 09-04 17:12 ?1426次閱讀

    labview工程文件如何生成exe

    生成可執行文件(EXE)是LabVIEW程序開發過程中的一個重要步驟,它允許用戶在沒有安裝LabVIEW的計算機上運行程序。以下是步驟和注意事項: 1. 準備工作 在開始生成EXE文件
    的頭像 發表于 09-04 17:09 ?1724次閱讀

    hex文件如何查看原c語言代碼

    直接將 .hex 文件轉換回原始的 C 語言代碼是不可能的,因為 .hex 文件是二進制文件,它包含了單片機程序編譯后的機器碼,這些機器碼與原始的 C 語言
    的頭像 發表于 09-02 10:37 ?2284次閱讀

    如何快速生成Modbus指令?教程來啦

    一適用型號該筆記適用于標準Modbus協議產品(MA01系列、ME31系列、M31系列、ME15-AXAX8080)。二功能簡介功能說明:Modbus指令快速生成教程旨在幫助用戶快速生成
    的頭像 發表于 06-28 08:21 ?1259次閱讀
    如何<b class='flag-5'>快速</b><b class='flag-5'>生成</b>Modbus指令?教程來啦

    Allegro生成光繪文件

    Allegro生成光繪文件
    發表于 05-06 10:37 ?1次下載

    .sct文件自動生成了一堆代碼,并且有warning是什么原因導致的?

    .sct文件自動生成了一堆代碼,并且有warning,手動改回去后編譯,警告消失,重新編譯又自動生成代碼并且伴隨警告,請問是什么原因造成的,
    發表于 03-07 06:39

    verilog function函數的用法

    Verilog 是一種硬件描述語言 (HDL),主要用于描述數字電子電路的行為和結構。在 Verilog 中,函數 (Function) 是一種用于執行特定任務并返回一個值的可重用代碼塊。函數在
    的頭像 發表于 02-22 15:49 ?5693次閱讀

    單片機代碼自動生成器程序

    單片機代碼自動生成器是一種能夠幫助開發人員快速生成單片機代碼的工具。它利用了現代計算機技術和算法,能夠根據用戶提供的輸入和需求,自動
    的頭像 發表于 01-08 14:12 ?3215次閱讀
    主站蜘蛛池模板: 婷婷在线网站| 手机看片自拍自拍自拍| 欧美性色生活片天天看99| 911色_911色sss在线观看| 日韩欧美卡一卡二卡新区| 深夜性久久| 丁香婷婷亚洲| mitunav在线| 性xxxxbbbb在线| 成人国产在线24小时播放视频| 久久精品国产亚洲aa| 8050午夜一级| 精品一区 二区三区免费毛片| 欧美奇米| 综合六月| 如色网| 中国美女一级黄色片| 精品午夜久久影视| 亚洲卡5卡6卡7国色天香| 日本一区二区三区四区不卡 | 女人张开腿让男人桶免费网站| 五月天久久婷婷| 嗯!啊!使劲用力在线观看| 免费中国一级啪啪片| 久久午夜精品| 香淫| 天天做天天爱天天影视综合| bt天堂在线观看| 特一级毛片| 天天干视频在线观看| 娇妻被黑人蹂躏| 丁香久久婷婷| 亚洲男人a天堂在线2184| 六月综合网| 天天草天天干| 一级做α爰片久久毛片| wwwxxxx在线观看| 欧美一卡2卡三卡四卡五卡| 激情爱爱的免费视频| 色avav| 麦克斯奥特曼在线观看|