日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

    文章

    7443

    瀏覽量

    129644
  • Verilog
    +關(guān)注

    關(guān)注

    31

    文章

    1374

    瀏覽量

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

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74420

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    Exx-xxxxxx-SC套件代碼教學(xué):從蜂鳴器控制到開屏LOGO,手把手教你快速上手!

    減少開發(fā)難度,輕松修改參數(shù),讓模塊開發(fā)不再頭疼一、內(nèi)容介紹本次代碼教學(xué)的初衷是減少用戶代碼開發(fā)使用難度,幫助用戶快速上手對應(yīng)型號模塊所搭配的套件。下載,所有套件型號如下:支持套件列表
    的頭像 發(fā)表于 03-05 19:34 ?386次閱讀
    Exx-xxxxxx-SC套件<b class='flag-5'>代碼</b>教學(xué):從蜂鳴器控制到開屏LOGO,手把手教你<b class='flag-5'>快速</b>上手!

    1688商品列表API接口快速上手指南

    、數(shù)據(jù)準(zhǔn)確、合規(guī)性強(qiáng)的優(yōu)勢。本文將以最常用的「店鋪商品列表查詢接口」為例,從接口基礎(chǔ)認(rèn)知到 Python 實(shí)戰(zhàn)調(diào)用,幫助開發(fā)者快速掌握 1688 商品列表 API 的使用方法。 二、接口概述 1. 核心接口說明 本文以 1688
    的頭像 發(fā)表于 01-21 10:24 ?881次閱讀

    請問測試用例.verilog文件是怎么生成的呢?

    在仿真時可以通過添加.verilog文件,直接讀入ITCM中,從而在仿真時我們就可以知道處理器的運(yùn)行結(jié)果,例如打印hello_world字樣。
    發(fā)表于 11-11 07:56

    請問verilog文件開頭部分的@00080000是什么意思?

    請問verilog文件開頭部分的@00080000是什么意思??
    發(fā)表于 11-06 08:10

    使用NucleiStudio生成tb仿真需要的.verilog文件

    project編譯后生成仿真需要的.verilog文件: 1.打開一個工程,右鍵選擇工程名,打開Properties: 2.選擇C/C++ Build -&gt;setting,在
    發(fā)表于 11-05 07:07

    語法糾錯和testbench的自動生成

    ,回到寫好的Verilog代碼,按住ctrl+shift+p,在彈出的搜索框里輸入testbench。 點(diǎn)擊后會自動將當(dāng)前模塊的testbench生成在終端框內(nèi)。 當(dāng)然,本質(zhì)上該插件還是通過python來實(shí)現(xiàn)的,因此
    發(fā)表于 10-27 07:07

    NucleiStudio如何生成.verilog文件和.dasm文件,以及對.dasm文件中自定義指令反匯編結(jié)果分析

    硬件設(shè)計需要.verilog文件來運(yùn)行加NICE后的tb仿真、軟件組需要.dasm來確定自定義指令有無被正確編譯。今天,我們來分享一下NucleiStudio如何生成.verilog
    發(fā)表于 10-24 06:33

    使用Simulink自動生成浮點(diǎn)運(yùn)算HDL代碼(Part 1)

    引言 想要實(shí)現(xiàn)浮點(diǎn)運(yùn)算功能,如果自己寫Verilog代碼,需要花費(fèi)較多的時間和精力。好在Simulink HDL Coder工具箱提供了自動代碼生成技術(shù)。下圖展示了HDL Coder如
    發(fā)表于 10-22 06:48

    HarmonyOSAI編程頁面生成

    支持通過自然語言對話,生成應(yīng)用/元服務(wù)可用的頁面代碼,生成結(jié)果支持實(shí)時預(yù)覽,幫助開發(fā)者快速完成頁面搭建。 點(diǎn)擊頁面右側(cè)菜單欄CodeGenie圖標(biāo),完成登錄后在輸入框輸入\"/\&qu
    發(fā)表于 08-29 15:50

    如何使用 PinConfigure 工具生成 GPIO 代碼文件和 OrCAD/Protel IC 組件?

    如何使用 PinConfigure 工具生成 GPIO 代碼文件和 OrCAD/Protel IC 組件?
    發(fā)表于 08-27 06:48

    請問如何使用 PinConfigure 工具生成 GPIO 代碼文件和 OrCAD/Protel IC 組件?

    的位置; 4. 點(diǎn)擊生成代碼生成設(shè)置好的GPIO初始代碼(.c文件); 5. 單擊“運(yùn)行 NuCAD”以
    發(fā)表于 08-18 07:32

    HarmonyOS AI輔助編程工具(CodeGenie)頁面生成

    添加。 針對已有UI布局文件(XML)的應(yīng)用,當(dāng)前提供UI Generator能力,可以快速生成對應(yīng)的HarmonyOS UI代碼。 以上材料主要參考引用HarmonyOS官方文檔。
    發(fā)表于 08-13 10:38

    產(chǎn)品列表獲取API接口詳解

    ? 在現(xiàn)代軟件開發(fā)中,API(應(yīng)用程序編程接口)是獲取產(chǎn)品列表的核心工具,它允許開發(fā)者從遠(yuǎn)程服務(wù)器高效地檢索數(shù)據(jù)。本文將逐步介紹如何設(shè)計和使用產(chǎn)品列表獲取API接口,包括核心概念、實(shí)現(xiàn)步驟、代碼示例
    的頭像 發(fā)表于 07-24 14:29 ?922次閱讀
    產(chǎn)品<b class='flag-5'>列表</b>獲取API接口詳解

    HarmonyOS AI輔助編程工具(CodeGenie)UI生成

    UI Generator基于BitFun Platform AI能力平臺,用于快速生成可編譯、可運(yùn)行的HarmonyOS UI工程,支持基于已有UI布局文件(XML),快速
    發(fā)表于 07-10 11:51

    用CubeMX生成代碼時會將main.c文件中的漢字變成亂碼,怎么解決?

    使用CubeMX生成代碼時,經(jīng)常會遇到原main.c文件中的漢字全部變成亂碼,如下圖所示: 將這些亂碼字符重新修改后,只要再次用CubeMX生成
    發(fā)表于 06-23 08:02
    镇巴县| 宣化县| 阿鲁科尔沁旗| 黔西县| 河源市| 金堂县| 宁陵县| 九龙城区| 固安县| 理塘县| 昆山市| 盐津县| 攀枝花市| 阿荣旗| 六安市| 岳普湖县| 揭西县| 富裕县| 吉林省| 琼结县| 富宁县| 深泽县| 长丰县| 洛扎县| 个旧市| 措美县| 甘德县| 金沙县| 临湘市| 永定县| 渝北区| 大英县| 盐城市| 桂东县| 昌乐县| 曲沃县| 娄底市| 类乌齐县| 托克托县| 定安县| 墨脱县|