WIN10中恢复误格式化的dsn和brd文件

在一次出差过程中,由于电脑WIN7系统崩溃,作者不得不重装系统至WIN10,但误将资料盘E盘作为系统盘格式化。通过DiskGenius恢复大部分资料后,发现部分Cadence项目文件无法打开。最终,通过将*.DBK文件更改为*.dsn文件,以及将*.SAV文件更改为*.brd文件,成功恢复了项目文件。

资料盘E盘误格式化并安装了WIN10系统后恢复dsn文件和brd文件

问题产生

来到了出差地,白天还在单位打开电脑处理了一些文档。
晚上到达宾馆后, 结果就进不了WIN7系统了。
无奈之下,只好重装系统。
恰好微软马上就要放弃对WIN7维护,于是用8GU盘做好了WIN10的系统盘。
原来电脑里有个固态硬盘,分为C盘和D盘:C盘装系统,D盘装软件;
有个机械硬盘,分为E盘和D盘:E盘和F盘都是资料盘。
但是,用U盘启动安装的时候,盘符错乱了,本来C盘是固态硬盘,可是重装WIN10系统的时候,C盘其实已经是资料盘的E盘了;
装系统的时候未发现问题,并且对C盘(其实是E盘)做了格式化才安装的系统;
直到WIN10系统安装完成,进了系统才发现E盘是原来的WIN7系统盘。
使用Disk Genius恢复功能恢复了大约40G的资料,有的Cadence原理图和PCB图能正常打开,但是有一个项目的最新版的原理图和PCB图打开时提示错误。

总结:
1、误格式化了原来的资料盘E盘,并且安装了近10G的WIN10系统;
2、重新将WIN10系统安装到固态硬盘后,使用Disk Genius恢复了近40G资料,但是恢复了的Cadence项目有的无法正常打开;

解决办法

1、查看不能正常打开原理图的项目目录,发现有个*_0.DBK文件,文件大小跟*.dsn差不多大。
网上搜了一下,可以将*_0.DBK文件直接改为*.dsn文件尝试用Capture打开。
于是按照所说进行更改,用Capture打开,奇迹发生了,果然能看到里面的内容了。
2、进而想allegro目录下的文件是否也有可能有备份文件,
进去allegro目录下,发现有个*.SAV文件。
将*.SAV文件改为*.brd文件,用allegro打开,同样奇迹发生了,
文件正常打开了。

各位有遇到同样问题的不妨尝试一下,多谢。

在 Cadence 17.4 中,原理图(`.dsn`)与 PCB 设计(`.brd`)之间的同步是通过网表(Netlist)实现的。这个过程确保了原理图中定义的电气连接关系能够正确地反映到 PCB 设计中。以下是详细的步骤注意事项: ### 1. 原理图设计阶段的准备工作 在进行同步之前,需要确保原理图设计已经完成,并且进行了必要的检查,包括 DRC(Design Rule Check)以确保所有电气连接都正确无误。每个元器件的 `footprint` 属性必须与 PCB 封装库中的名称一致,这样才能保证在导入网表时能够正确匹配封装[^4]。 - 创建或更新元器件库:确保原理图中使用的元器件符号已经正确创建,并且其 `footprint` 属性已经设置为对应的 PCB 封装名称。 - 进行 DRC 检查:在 OrCAD Capture 中,点击 `Tools -> Design Rule Check` 来执行 DRC 检查,确保没有遗漏的连接或其他错误。 ### 2. 生成网表文件 在原理图设计完成后,下一步是生成网表文件。网表文件包含了原理图中所有的电气连接信息,是同步原理图与 PCB 的关键。 - 在 OrCAD Capture 中,打开 `.dsn` 文件。 - 点击 `Tools -> Create Netlist`。 - 在弹出的对话框中,选择 `Allegro` 作为网表格式,并指定输出目录(通常会自动生成一个名为 `allegro` 的文件夹)。 - 确认设置后点击 `OK`,系统将生成一个 `.mnl` 文件,这是用于 Allegro 的网表文件[^4]。 ### 3. 导入网表到 Allegro PCB Editor 生成网表后,接下来需要将其导入到 Allegro PCB Editor 中,以便开始 PCB 布局设计。 - 打开 Allegro PCB Editor,并创建一个新的 `.brd` 文件或者打开现有的 PCB 文件。 - 设置库路径:进入 `Setup -> User Preferences Editor`,在 `Paths` 部分配置 `padpath`、`psmpath` `draPath`,确保这些路径指向包含所需封装的库文件夹。 - 删除不必要的库:为了避免命名冲突,建议删除不需要的库文件。 - 导入网表:点击 `File -> Import -> Logic`,选择之前生成的 `.mnl` 文件。 - 在导入过程中,系统可能会提示匹配封装,确保所有元器件的封装名称与原理图中指定的一致。 - 完成导入后,可以在 PCB 编辑器中看到所有元器件的占位符及其电气连接关系。 ### 4. 更新 PCB 设计 一旦网表被成功导入,就可以开始进行 PCB 布局布线。如果在原理图设计阶段有任何更改,需要重新生成网表并再次导入到 Allegro PCB Editor 中,以保持两者之间的同步。 - 修改原理图:如果需要对原理图进行修改,例如添加或删除元器件、调整连接关系等,完成修改后再次执行 DRC 检查。 - 重新生成网表:使用相同的步骤重新生成网表文件。 - 更新 PCB:在 Allegro PCB Editor 中,点击 `File -> Import -> Logic`,选择更新后的网表文件。系统会提示是否更新现有设计,选择 `Yes` 后,PCB 将根据新的网表进行更新。 ### 5. 注意事项 - **封装一致性**:确保原理图中的 `footprint` 属性与 PCB 封装库中的名称完全一致,否则可能导致导入失败或错误的封装被使用。 - **库路径设置**:在导入网表之前,务必正确设置库路径,确保 Allegro 能够找到所需的封装文件。 - **避免命名冲突**:尽量避免不同库中存在相同名称的封装,以免造成混淆。 - **定期备份**:在进行任何重大更改之前,建议备份原理图 PCB 文件,以防万一出现问题可以恢复到之前的状态。 ### 示例代码 以下是一个简单的 Python 脚本示例,用于自动化生成网表文件。请注意,这只是一个概念验证,实际应用中可能需要根据具体需求进行调整。 ```python import os def generate_netlist(dsn_file, output_dir): # 模拟生成网表文件的过程 netlist_file = os.path.join(output_dir, "netlist.mnl") with open(netlist_file, "w") as f: f.write(f"Generated netlist for {dsn_file}") print(f"Netlist generated at {netlist_file}") # 示例调用 generate_netlist("example.dsn", "allegro") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值