最近由于维护一个老项目的需要,我在研究ISE工程文件的文件类型和管理。从版本控制服务器检出这个工程,花费了几十分钟的时间,传输了近4000个文件,占用了4GB的硬盘空间。这个项目在最初备份的时候,并没有区分哪些文件是创建工程的原始文件,哪些是间接生成的数据库文件,哪些是编译完成的报告文件。这样不分主次的全盘备份,既浪费了服务器的硬盘空间(修改源文件后的每一次编译都会影响上述文件,每次检入版本控制服务器的数据量都很大),还增加了自动化构建和持续集成的困难(检出文件的时间延长了,大量的非原始文件对编译服务器的硬盘空间也是一种浪费)。
为了不破坏原始备份,我在版本服务器上对主干创建了一个分支,然后从这个分支上检出了所有文件到本地硬盘。接下来需要进行的文件删除操作就在这个分支上进行,并检入回这个分支。等到文件管理工作完成了,才会考虑合并到主干上,或者建立以这个分支为基础的项目备份。
一、Synplify综合需要的最小工程文件集。
在这个项目中,ISE以Synplify综合后生成的edf网表为输入文件进行布局布线。所以第一步需要整理Synplify的工程源文件。
在Synplify的工程文件夹下,需要保留的工程源文件如下:
1. HDL代码文件:.v .vhd文件。
2. 工程设置文件:.prj文件。
3. 工程约束文件:.adc .nrf .opt .sdc .sfp 文件。
工程源文件的具体描述如下表:
ch4-files2.zip
在工程目录下,还会看到综合后输出的文件,具体描述如下表。其中,.srs和.srm分别对应综合后网表RTL视图和映射后网表Technology视图。
ch4-files6.zip
Synplify综合后得到的网表输出文件也可以备份。Altera对应的是.acf或.vqm文件,Xilinx对应的是.edf文件。
二、ISE完成布局布线需要的最小工程文件集。
在ISE的工程文件夹下,需要保留的工程源文件如下:
1. HDL代码文件:.v .vhd文件。
2. 综合后网表输入文件:.edn .edf .edif .sedif文件。
3. 工程设置文件:.ise文件。
4. 工程约束文件:.ucf .ncf .pcf .tcl文件。
5. CORE Generator生成的文件:.edn .ucf _flist.txt _xmdf.tcl .ndf .ngc .xaw .xco文件。
6. ChipScope设置文件:.cdc .ngc .ncf .tok文件。
在ISE中,可以使用Project --> Cleanup Project Files命令来删除布局布线过程生成的中间文件(数据库和报告文件)。
参考文档:
Synplify Online Help --> Synplify FPGA Reference Manual --> Input and Result Files
Xilinx Software Manuals --> Development System Reference Guide --> Xilinx Development System Files (列出了绝大多数文件扩展名的解释,还需要参考下面两个文档)
Xilinx ISE Help --> Software Help --> CORE Generator Help --> Reference --> Files for Generated IP
Xilinx ISE Help --> FPGA Design --> In-System Design Debugging --> ChipScope Pro Debugging Strategies |