亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

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

FPGA技術(shù)江湖 ? 來(lái)源:FPGA技術(shù)江湖 ? 2023-01-15 10:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

使用說(shuō)明

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

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

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

生成的rtl.f打開(kāi)后如下圖所示。

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

另外,該代碼提供了一種操作Windows系統(tǒng)路徑的操作方法,可以簡(jiǎn)單修改一下,用作它用。如找到某種類(lèi)型的文件或某個(gè)文件進(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)//如果沒(méi)有找到或查找失敗
return;

do
{
if(wfd.cFileName[0]=='.')
continue;//過(guò)濾這兩個(gè)目錄
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);

//對(duì)文件進(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;
}

版本更新記錄


版本號(hào):V1.1.2
更新日期:2013-07-17
1446 修改代碼,擴(kuò)展name的長(zhǎng)度為800,可以處理長(zhǎng)路徑的情況

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

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

審核編輯 :李倩


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

    關(guān)注

    37

    文章

    7269

    瀏覽量

    128191
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1369

    瀏覽量

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

    關(guān)注

    30

    文章

    4927

    瀏覽量

    72534

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    語(yǔ)法糾錯(cuò)和testbench的自動(dòng)生成

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

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

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

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

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

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

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

    請(qǐng)問(wèn)如何使用 PinConfigure 工具生成 GPIO 代碼文件和 OrCAD/Protel IC 組件?

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

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

    使用CubeMX生成代碼時(shí),經(jīng)常會(huì)遇到原main.c文件中的漢字全部變成亂碼,如下圖所示: 將這些亂碼字符重新修改后,只要再次用CubeMX生成
    發(fā)表于 06-23 08:02

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

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

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

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

    Python中的迭代器與生成

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

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

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

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

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

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

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

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

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

    如何自動(dòng)生成verilog代碼

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

    Verilog硬件描述語(yǔ)言參考手冊(cè)

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