OrCAD层次化设计的方法

为什么你的PCB设计该用层次化?Cadence OrCAD中那些没人告诉你的高效技巧 本文深入探讨了PCB设计中层次化设计的重要性,特别是在Cadence OrCAD环境下的高效应用。通过对比扁平化设计的隐性成本,揭示了层次化设计在团队协作、设计可维护性和迭代效率方面的显著优势。文章还分享了OrCAD中层次化设计的实战技巧,包括NetGroup协同、DRC报错处理等,帮助工程师提升设计规范性和工作效率。 阅读详情

原文链接:https://blog.csdn.net/thisliver/article/details/84780179

最近在学习Cadence,不敢多说,但是直观上感觉Altium使用起来更方便。

很欣赏Altium安装目录下给的例子,层次化设计十分美观大方。

比如这样:

搜索了很久,没有搜索到满意的回答,关于怎么在Cadence中实现层次化设计。然后花了一天摸索,并总结如下:

  1. Place->Hierarchical bloock, 按工程需要建立不同的block.

  2. Place->NetGroup, 通过Add NetGroup->NetGroup member去建立不同的Net Group. 比如我们可以将一个block的电源线建立一个NetGroup, 然后其他接口建立一个NetGroup, 非常简洁。3图是我根据工程需要建立NetGroup后的截图。

  3.                                                 &n

Cadence OrCAD: 层次化设计 Hierarchical Design 详细介绍OrCAD的原理图层次化设计方法。 阅读详情

相关推荐

Cadence OrCAD: 层次化设计中的电源和地符号

Cadence OrCAD: 层次化设计中的电源和地符号 注意事项

Fantasy237的博客 5811

ORCAD 层次化原理图使用TCL获取位号的方法

orcad tcl 获取occurrence位号的方法。

m0_46675718的博客 1114

Cadence OrCAD: 层次化设计实战指南与扁平化对比

本文深入解析了Cadence OrCAD中层次化设计与扁平化设计的核心差异与应用场景。通过实战指南,详细演示了如何将复杂的扁平电路重构为模块化的层次结构,重点阐述了层次化设计在实现模块复用、系统结构清晰化以及避免命名冲突方面的巨大优势,并提供了关键操作步骤与常见问题解决方案。

weixin_29194693的博客 355

OrCAD层次化原理图设计:从端口到层次块,全流程详解

在电子产品研发中,原理图设计效率直接决定项目进度,尤其是面对复杂系统级电路时,如何组织图纸结构尤为关键。传统扁平化设计将所有器件平铺在一张图上,虽然直观,但信号网络一旦增多,图纸可读性和可维护性就会急剧下降。层次化设计借鉴软件工程模块化思想,将系统拆分为多个功能子模块,通过层次块与端口连接实现顶层组装,在Cadence OrCAD Capture中可用层次端口、总线、电源端口等机制完成跨页与跨模块通信。这种设计方式不仅支撑团队并行协作,还能最大限度复用成熟的DCDC电源、接口电路,有效降低设计风险和修图成本

weixin_34416754的博客 445

Cadence OrCAD: 层次化设计中电源与地符号的全局与局部控制技巧

本文深入解析Cadence OrCAD在层次化设计中电源与地符号的全局与局部控制技巧。通过端口隔离法和跨页符限定法等实用方案,帮助工程师有效避免电源网络短路问题,提升设计效率。特别针对混合模式电源设计和多级层次结构处理提供了实战解决方案,并分享了设计验证与调试的关键技巧。

weixin_30316097的博客 355

OrCAD层次化设计实战:从NetGroup到高效电路布局

本文详细介绍了OrCAD层次化设计的实战技巧,从创建Hierarchical Block到高效使用NetGroup,帮助工程师提升复杂电路布局的效率。通过模块化设计和清晰的接口管理,可大幅提高电路设计的可读性、复用性和团队协作效率。

weixin_29183637的博客 403

保姆级教程:用OrCAD Capture搞定层次化电路‘展开’,再也不怕改一个坏一片

本文详细介绍了如何在OrCAD Capture中实现层次化电路设计的模块独立修改,避免修改一个模块影响所有相同实例的问题。通过解析层次化设计的核心原理和常见误区,提供完整的操作流程和高级技巧,帮助工程师高效完成差异化设计,提升电路设计效率。

weixin_30542079的博客 382

Cadence OrCAD层次化设计实战:从扁平原理图到模块化系统的完整转换指南

本文详细介绍了Cadence OrCAD层次化设计在复杂PCB系统中的应用,从扁平原理图到模块化系统的完整转换指南。通过解析层次化设计的核心价值、基础架构和迁移策略,帮助工程师提升设计效率,解决信号追踪、模块复用和团队协作等挑战,特别适用于物联网设备和工业控制器等复杂系统设计。

weixin_29192365的博客 463

OrCAD原理图设计版本下载实战案例

深入讲解OrCAD原理图设计的完整流程,涵盖orcad下载安装步骤与实际项目操作技巧,帮助用户快速掌握电路设计核心能力。

weixin_42405592的博客 372

Cadence OrCAD层次化设计实战:告别平铺原理图混乱

原理图设计是硬件工程师的核心工作,随着电路规模增长,单页平铺式图纸在信号追溯、模块复用和多团队协作方面逐渐暴露出瓶颈。层次化设计(Hierarchical Design)通过根图与子图的树状结构,将复杂系统拆解为功能模块,利用层次端口实现跨页信号连接,从根本上提升了大型项目的可维护性。该设计方法特别适用于多通道相同电路、原理图页数超过八页或多人并行开发的场景。Cadence OrCAD Capture 作为主流原理图工具,提供了完整的层次块、端口同步及位号管理机制,配合 DRC 检查和 Intersheet

weixin_33892359的博客 402

电路设计仿真软件:OrCAD_(14).层次化设计

右键点击符号,选择Properties。在属性对话框中,定义符号的名称、描述和其他属性。保存符号。右键点击原理图,选择Properties。在属性对话框中,定义原理图的名称、描述和其他属性。保存原理图。右键点击原理图,选择Properties。在属性对话框中,定义原理图的名称、描述和其他属性。保存原理图。

kkchenjj的博客 1507

Cadence OrCAD Capture 层次化设计单模块多次复用功能说明与效果演示

刚开始使用Capture进行层次化原理图设计时,有些工程师总是习惯,将每个需要的电路模块均在底层画出,然后再在顶层将其连接。其实Capture支持单模块多次例化的功能。本文对该功能进行演示。

fydar的博客 3706

Cadence OrCAD Capture 绘制总线的方法

本文简单介绍总线的绘制方法

fydar的博客 2790

Cadence OrCAD Capture更改顶层模块的电路来源的方法

如下图所示在层次化设计图中,通过将电路封装从顶层的模块,然后进行顶层设计。本文介绍,直接更改顶层模块对应的电路图的方法。

fydar的博客 770

自下而上画OrCAD层次原理图实例

自下而上画OrCAD层次原理图实例 层次原理图的优点 在层次原理图设计中,能在总模块图中清晰的看到各模块之间的信号连接关系,能通过右键相应模块,选择“Descend Hierarchy”进入相应模块的原理图,非常方便。

开源 AHB不对称半桥反激电路设计(六)死区时间,谐振腔电流,谐振电感函数表达式

电流跌落可以使副边电流峰值和有效值降低,减小损耗,但如果开关管 S2 导通期间,谐振电流谐等于励磁电流,即副边电流A 点降至 0,会在原边变压器内形成环流,产生损耗,同时也不利于副边同步整流管驱动的正常工作,为了保证开关管 S2 导通期。在开关管 S1 和开关管 S2 均关断的死区时间内,谐振电流给原边开关管结电容和副边整流管结电容充放电,因此会引起开关 S1 关断瞬间电流跌落与开关 S2 关断瞬间电流震荡现象,受寄生参数影响原边谐振电流波形和副边电流波形如图。降到最低,变压器以最高效率向副边传递能量。

【Simon】的博客 1213

非标准包 game.rgss3a 的打开方法 | 2023 年实测

生活笔记

陌雨’的博客 1万+

最新Mamba环境配置教程:从CUDA到causal-conv1d的完整安装流程

本文提供最新Mamba环境配置教程,涵盖从CUDA到causal-conv1d的完整安装流程。针对深度学习领域的长序列处理需求,详细指导如何正确配置CUDA工具链、安装PyTorch及关键依赖causal-conv1d,解决常见报错问题,并验证mamba-ssm集成效果。

bush的博客 408

ETAP实战:如何用仿真软件快速绘制标准一次接线图(附模板下载)

本文提供了一套基于ETAP软件高效绘制标准一次接线图的完整实战工作流。从国标符号库配置、绘图模板创建,到核心设备绘制、参数标注,再到利用软件模型进行拓扑检查与短路电流校核,手把手教你实现从零到一的专业图纸设计。文末附有实用模板下载,助你大幅提升电力设计效率与图纸质量。

weixin_29291573的博客 505

【免费】最新区块链钱包和私钥的助记词碰撞器,使用python开发

最新钱包私钥助记词碰撞器,搏一搏单车变摩托!

weixin_48529185的博客 1万+

VHDL六层电梯控制器及仿真

六层电梯电梯 设计要求:设计一个六层电梯控制系统要求有超载、关门中断、提前关门清除报警信电梯外人的上升请求信号,电梯外人的下降请求信号, 电梯外人上升请求信号显示电梯外人下降请求信号显示到达楼层信号 设计思路:输入有clk时钟信号(频率为2Hz) full,deng,quick,clr超载、关门中断、提前关门清除报警c_u1,c_u2,c_u3,c_u4,c_u5电梯外人的上升请求c_d2,c_d3,c_d4,c_d5,c_d6 电梯外人的下降请求 d1,d2,d3,d4,d5,d6电梯内人的...

QQ_778132974的博客 1704

ABAP SQL Hierarchy 全景参考,组织树、分类树与递归查询在数据库层的优雅落地

ABAP SQL中的hierarchy语法为树形数据结构处理提供了高效方案。S/4HANA系统中常见的成本中心、利润中心、物料分类等树形结构,传统开发需通过递归和嵌套循环处理,而ABAP SQL hierarchies通过将层级遍历能力下沉到SQL层,借助SAP HANA的层级函数支持,实现了更高效的查询。 该功能要求ABAP 7.51+版本,支持两种实现方式:CDS hierarchy用于创建可复用的稳定层级模型,适合业务核心数据;ABAP SQL HIERARCHY generator则适用于临时性层级

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 308

YOLOv13添加DRB模块map暴涨12.33!准确率提升8.56!召回率提升15.66

本文介绍了在YOLOv13模型中添加DRB模块的改进方法。实验结果显示,添加DRB模块后模型性能显著提升,mAP暴涨12.33%,准确率提升8.56%。文章详细说明了移植过程,包括创建yolov13-DRB.yaml配置文件、修改tasks.py和__init__.py文件,以及引入UniRepLKNet模块的具体实现。其中重点描述了GRNwithNHWC、NCHWtoNHWC等核心组件的实现细节,并提供了完整的模型结构配置代码。这些改进使得YOLOv13模型在保持原有架构优势的同时,获得了更强大的特征提取

FJN110的博客 2809

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: TTCAN
下一篇: 原理图库神器-SnapEDA
Thisliver
博客等级 码龄9年 11粉丝 12原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值