曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

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

使用說明

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

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

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

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

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

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

源代碼

#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);//如果找到的是目錄,則進(jìn)入此目錄進(jìn)行遞歸
}
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);

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

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 修改代碼,擴(kuò)展name的長度為800,可以處理長路徑的情況

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

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

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7033

    瀏覽量

    124795
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1364

    瀏覽量

    111570
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4882

    瀏覽量

    70090

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

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    cunbemx生成RTthread代碼疑似漏復(fù)制文件怎么解決?

    使用6.12.x版本cubemx,勾選X-CUBE-RT-Thread,生成代碼。最后的代碼里缺失libcpu文件夾,工程里也缺失對應(yīng)的文件
    發(fā)表于 03-13 08:23

    STM32CubeMX生成代碼就會覆蓋CMakeLists.txt文件,怎么解決?

    請教一下用STM32CubeMX生成代碼后,我自己加了一個頭文件和源文件,這些自己加的文件不是要配置到CMakeLists.txt編譯么,但
    發(fā)表于 03-12 08:03

    Python中的迭代器與生成

    Python迭代器與生成列表生成列表生成式也叫做列表推導(dǎo)式,它本身還是
    的頭像 發(fā)表于 02-20 10:43 ?253次閱讀

    Verilog 與 ASIC 設(shè)計(jì)的關(guān)系 Verilog 代碼優(yōu)化技巧

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

    Verilog 測試平臺設(shè)計(jì)方法 Verilog FPGA開發(fā)指南

    Verilog設(shè)計(jì)的仿真需求。 編寫測試文件 : 編寫Verilog測試文件,對設(shè)計(jì)的各個模塊進(jìn)行測試。測試文件應(yīng)覆蓋各種情況,包括正
    的頭像 發(fā)表于 12-17 09:50 ?890次閱讀

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

    Verilog 與 VHDL 比較 1. 語法和風(fēng)格 VerilogVerilog 的語法更接近于 C 語言,對于有 C 語言背景的工程師來說,學(xué)習(xí)曲線較平緩。它支持結(jié)構(gòu)化編程,代碼
    的頭像 發(fā)表于 12-17 09:44 ?1266次閱讀

    探索設(shè)計(jì)稿自動生成Flutter代碼的技術(shù)方案

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

    如何自動生成verilog代碼

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

    Verilog硬件描述語言參考手冊

    一. 關(guān)于 IEEE 1364 標(biāo)準(zhǔn)二. Verilog簡介三. 語法總結(jié)四. 編寫Verilog HDL源代碼的標(biāo)準(zhǔn)五. 設(shè)計(jì)流程
    發(fā)表于 11-04 10:12 ?4次下載

    FPGA Verilog HDL代碼如何debug?

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

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

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

    labview工程文件如何生成exe

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

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

    直接將 .hex 文件轉(zhuǎn)換回原始的 C 語言代碼是不可能的,因?yàn)?.hex 文件是二進(jìn)制文件,它包含了單片機(jī)程序編譯后的機(jī)器碼,這些機(jī)器碼與原始的 C 語言
    的頭像 發(fā)表于 09-02 10:37 ?4037次閱讀

    PDF文件批量打印源代碼

    壓縮包中包含可批量打印PDF文件的Python代碼,可以借助PYcharm工具執(zhí)行,實(shí)現(xiàn)多PDF文件同時打印。
    發(fā)表于 08-08 14:26 ?0次下載

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

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