- 博客(81)
- 收藏
- 关注
原创 为什么axi握手机制是valid不能依赖ready,ready可以选择要不要依赖valid
VALID 不依赖 READY:让发送方成为“主动发起者”,打破循环依赖,确保传输能启动、信息不丢失;READY 可依赖 VALID:让接收方成为“灵活响应者”,根据自身负载调整准备状态,避免资源冲突、节省功耗。若反过来设计,会导致“发送方不敢发起,接收方接不住”的死锁或数据丢失,完全违背 AXI 协议“高性能、高可靠”的设计目标。
2025-09-23 00:58:12
1006
原创 miniconda安装常见问题
摘要: 用户遇到conda命令无法识别的问题,原因是Miniconda未添加到PATH环境变量。解决方案包括: 确认Miniconda路径(~/miniconda3/bin/conda) 临时添加PATH(setenv PATH $HOME/miniconda3/bin:$PATH) 永久生效(写入~/.cshrc并source) 若conda activate报错,需手动加载csh支持脚本(source ~/miniconda3/etc/profile.d/conda.csh并写入.cshrc) 完成配置
2025-09-09 14:50:17
1300
原创 noc物理设计
步骤命令1. 添加 conda 到 PATH2. 验证 conda3. 永久生效4. 清除缓存5. 创建环境6. 激活环境✅ 做完这些,你就能顺利安装scons并编译 gem5 了!需要我帮你写一个完整的脚本,一键完成所有配置吗?步骤命令1. 手动加载 conda csh 支持2. 激活环境3. 永久生效4. 验证应该指向要点内容1. 全面性覆盖时序、拥塞、功耗、面积、制造、信号完整性2. 系统观关联 SoC 布局、核内布线、NoC 架构3. 深度指出“跳数 vs 物理延迟”的抽象错位。
2025-09-08 16:48:22
665
原创 数字ic后端设计从入门到精通14(含fusion compiler, tcl教学)半定制后端设计
在数字集成电路设计中,所有工作都是在时钟的控制下完成,所以从一个寄存器到达另一个寄存器的路径长短决定了芯片的性能。在芯片设计布局规划阶段,设计者要考虑到最终芯片是否满足设计的标准时序约束要求,实现时序的收敛,满足芯片所需要实现的性能,因此在布局规划阶段需要对芯片的延时进行预估。在该过程定义时钟树的时序信息要求,比如时钟延迟规定、时钟域的分布、时钟偏移规定等。同时还定义布局布线工具在实现时钟网络时使用的单元类型及连接关系等规定。布局布线工具读入时钟树综合参数配置,生成指导布局布线工具进行时钟树生成的设置参数。
2025-08-19 16:59:45
1444
原创 wsl2使用宿主机网络方法
摘要:通过修改.wslconfig文件可配置WSL网络模式。具体步骤:1)在资源管理器地址栏输入%UserProfile%进入用户主目录;2)创建.wslconfig文件并添加实验性网络配置;3)以管理员身份运行PowerShell,使用wsl --shutdown命令重启WSL服务。该方法可实现镜像网络模式和自动代理功能,需要Windows 10/11系统支持。
2025-08-03 09:06:33
354
原创 数字ic后端设计从入门到精通13(含fusion compiler, tcl教学)全定制版图设计
本文介绍了CMOS集成电路的基本工艺流程和版图设计方法。工艺流程从P型衬底开始,经过氧化层淀积、阱注入、多晶硅栅极形成、源漏区掺杂等步骤,最终完成多层金属互连的制造。在版图设计部分,详细说明了NMOS/PMOS晶体管的基本结构及其串联、并联的实现方法,并展示了反相器、缓冲器、与非门和或非门等基础电路的版图实现方案。文章重点阐述了如何通过共享源漏区、优化器件布局来减小面积并降低寄生效应,同时分析了CMOS电路低功耗、高抗干扰能力等特性。
2025-07-29 16:43:07
1304
原创 数字ic后端设计从入门到精通12(含fusion compiler, tcl教学)全定制设计进阶
摘要:本文介绍了标准单元库中几种关键时序单元的工作原理和特性。C2MOS触发器通过互补时钟控制主从级交替工作,对时钟交叠不敏感;真单相触发器(TSPC)采用单相时钟和动态结构,时钟负载小且可嵌入逻辑功能;脉冲触发器利用短脉冲采样,具有负建立时间特性,可减少传输延迟;数据流触发器(SJLFF)通过数据预判机制降低功耗。文章还以HLFF为例详细说明了电路设计流程,包括需求定义、原理图设计、符号生成、功能仿真和SPICE网表输出等步骤,并介绍了Virtuoso工具的环境设置和仿真方法。这些时序单元各具特点,可满足
2025-07-21 17:19:02
1073
原创 数字ic后端设计从入门到精通11(含fusion compiler, tcl教学)全定制设计入门
数字IC全定制设计流程与工具摘要 数字IC全定制设计流程包含五个关键步骤:功能描述、模块划分、电路设计、版图实现和仿真验证。该流程需使用多种EDA工具和文件格式,包括Virtuoso(电路设计)、HSPICE/Spectre(仿真)、GDSII(版图输出)等。设计过程中涉及三类核心组件:宏(固定功能模块)、标准单元(基础逻辑单元)和IP核(预验证模块)。不同设计阶段需处理特定文件格式,如LEF/DEF(物理设计)、LIB(时序库)和SDC(约束文件)。全定制设计强调对性能、面积和功耗的精确控制,需要多团队协
2025-07-16 17:56:27
1088
原创 noc多核芯片设计:booksim仿真从入门到精通3一文搞定gpgpu-sim&&intersim2联调
摘要: 安装CUDA相关工具时,若出现E: Unable to locate package libcudnn8-dev错误,主要原因是未添加NVIDIA官方仓库。解决方法: 添加NVIDIA仓库并更新源(需匹配Ubuntu版本,如ubuntu2204); 执行sudo apt install libcudnn8-dev。 GPGPU-Sim安装步骤: 依赖安装:包括CUDA Toolkit、gcc、make等,Ubuntu可通过apt安装; 构建模拟器:配置环境(source setup_environm
2025-07-04 00:13:13
1364
原创 数字ic后端设计从入门到精通10(含fusion compiler, tcl教学)静态时序分析
本文摘要了数字集成电路时序分析的基础概念与方法。时序分析主要包括传播延时、转换延时、建立时间、保持时间等基本时间参数,以及时钟抖动、偏斜等时钟特性。时序弧分为基本时序弧(组合、边沿、复位清零、三态使能)和约束时序弧(建立、保持、恢复、移除、脉宽)。时序约束需定义时钟源点、周期、占空比、转换延时、不确定性及延迟等。分析策略分为基于路径和基于模块两种,重点关注触发器间建立时间和保持时间的计算模型,确保数据在时钟有效沿前后稳定满足时序要求。时序分析是保证芯片正确同步工作的关键环节。
2025-07-01 17:52:13
841
原创 YOLOv5s 的完整计算流程详解
YOLOv5s计算流程摘要 YOLOv5s是一种基于CNN的单阶段目标检测算法,其计算流程分为四个阶段:输入预处理、Backbone特征提取、Neck特征融合和Head预测输出。输入预处理通过缩放和归一化将图像转换为张量格式。Backbone由卷积层、残差块和特征金字塔组成,通过卷积运算提取多尺度特征。Neck通过上采样和特征拼接实现多尺度特征融合。Head负责预测目标位置、类别和置信度,并应用非极大值抑制优化结果。 整个流程中,矩阵乘法、向量计算和卷积运算是核心操作,硬件需支持高效的并行计算和内存访问。Y
2025-07-01 10:55:35
1437
原创 数字ic后端设计从入门到精通9(含fusion compiler, tcl教学)setup time, hold time check lib/report详解
标准单元库中的时序约束格式解析 摘要:本文详细解析了数字IC设计中标准单元库(.lib文件)建立时间和保持时间约束的格式规范。主要内容包括:1) 时序约束的结构,以触发器输入D引脚为例,展示setup_rising时序类型定义;2) 关键字段解释,如related_pin、timing_type、rise/fall_constraint等;3) 二维查找表工作机制,包含index_1/2定义和values矩阵的解读;4) 转换时间(Transition Time)的概念及其在查找表中的作用。文中还说明了非精
2025-06-23 22:03:38
1356
原创 一文学懂快浮点数据格式
块浮点(BFP)和微指数缩放(MX)是两种高效的数据表示方法,特别适用于深度学习场景。BFP通过让一组数值共享同一指数位,显著减少了存储需求(示例显示可节省78%比特数)。MX则进一步优化,引入细粒度微指数调整机制,通过两级缩放策略(全局FP32预缩放+本地2幂次调整)提升数值精度。实验表明,MX格式在保持模型准确性的同时,能将4个浮点数(如[0.125,0.25,0.5,1.0])压缩为共享指数+尾数的紧凑形式,硬件实现时还能自动处理动态范围大的数据(如[0.125,8.0]),使计算效率提升3-5倍。这
2025-06-18 19:21:03
1456
原创 数字ic后端设计从入门到精通8(含fusion compiler, tcl教学)ULVTLL、SVT、HVT、LVT、ULVT详解及应用
LVT、ULVT与ULVTLL工艺特性对比及应用建议 工艺特性对比: LVT:中等阈值电压,性能与功耗均衡,成本低,适合常规路径和非关键应用。 ULVT:低阈值电压,开关速度快,驱动能力强,但漏电流高,适用于关键路径和高性能场景。 ULVTLL:极低阈值电压优化版,兼顾高速与低漏电,适合对功耗敏感的关键路径,但成本最高。 Repeater应用分析: ULVT因更强的驱动能力和更快的开关速度可延长repeater间距,减少数量,提升性能,特别适合长线网信号增强。 ULVTLL在保持较高性能的同时显著降低静态功
2025-06-17 17:21:14
2449
原创 数字ic后端设计从入门到精通7(含fusion compiler, tcl教学)sta时序分析
本文详细解析了时序分析中的关键参数及其相互关系。主要内容包括:1) 区分了三类延迟参数(buf/inv delay/mm、clk_tran和data_tran)的定义、取值范围及影响因素;2) 阐述了各参数在组合逻辑延迟计算中的作用,说明data_tran是主要组成部分,而clk_tran参与时钟路径计算;3) 完整给出了setup和hold的检查公式,通过数值示例演示了如何验证时序约束;4) 总结了各参数在时序分析中的角色,指出组合逻辑延迟由TclktoQ、Tcombo和Tnet构成,而setup/hol
2025-06-16 17:19:11
718
原创 数字ic后端设计从入门到精通6(含fusion compiler, tcl教学)repeater详解
中继器优化与信号延迟分析摘要 长导线的RC延迟随长度平方增长(l²)。为解决这一问题,可采用分段插入中继器(如反相器)的方法:将导线分为N段后,总延迟降为l²/N。当N与l成正比时,延迟仅与l线性相关。优化需平衡两个参数:中继器间隔距离(l/N)和尺寸放大倍数W。公式(6.26)-(6.31)表明,最佳间隔由√(RC/RwCw)决定,最优W为√(RCw/RwC)。在优化配置下,单位长度延迟与√(RCRwCw)成正比,能耗主要取决于导线电容和电源电压平方。关键是通过调整中继器密度与尺寸,使导线延迟与中继器累积
2025-06-09 12:17:08
1198
原创 noc多核芯片设计:booksim仿真从入门到精通2Router 类型及路由算法修改
BookSim路由器类型及函数功能摘要 路由器类型分为三大类: 基础类型(如IQRouter、EventRouter等)提供不同排队和驱动机制 旁路类型(Bypass系列)通过仲裁机制优化实现快速路径 SMART智能路由系列(如nebb_vct_opt)采用多跳自适应策略 关键函数功能分组: 通道管理(AddOutputChannel/ReceiveFlits等)处理数据收发 路由决策(RouteEvaluate/Update)确定传输路径 资源分配(VCAlloc/SWAlloc)管理虚拟通道和开关仲裁
2025-05-26 23:05:04
1115
原创 数字ic后端设计从入门到精通5(含fusion compiler, tcl教学)def详解
DEF文件结构详解:DEF(Design Exchange Format)是描述芯片物理设计结构的标准格式,包含VERSION、DESIGN、DIEAREA等必选部分及TRACKS、VIAS等可选部分。关键元素包括定义芯片边界的DIEAREA、标准单元布局的ROWS、全局布线的TRACKS,以及组件、引脚和网络的定义。BLOCKAGES用于限定禁止布局布线的区域,支持分层、间距等约束。DEF与LEF文件配合使用,是集成电路后端设计流程中的核心数据交换格式,完整描述了从芯片边界到布线细节的物理实现信息。(15
2025-05-26 18:02:19
1640
原创 noc多核芯片设计:booksim仿真从入门到精通2拓扑与信道定制修改(含Segmentation fault (core dumped)/Program received signal等问题解决)
本文概述了KNCube网络拓扑构建函数_BuildNet的核心功能,重点分析了节点编号、通道适配和网络构建逻辑。主要内容包括: 函数功能:根据配置初始化多维网状网络,连接节点通道,设置延迟参数,并决定是否启用NoC延迟模型。 节点编号系统: 总节点数_size = _k^_n(_k为每维节点数,_n为维度数) 节点采用行主序编号,通过mod和除法运算可转换为多维坐标 以4×4二维网格为例详细说明了编号与坐标的对应关系 关键函数模块: 路由器的创建与命名(如router_0_1_2) 邻接节点计算(_Left
2025-05-26 01:20:34
1217
原创 数字ic后端设计从入门到精通4(含fusion compiler, tcl教学)CMOS VLSI Design
布局设计规则是芯片物理设计中的关键指导原则,确保设计在特定制造工艺下可被正确制造。这些规则包括最小线宽、间距和层间重叠等参数,通常由代工厂提供。基于微米的设计规则以具体数值表示,但不同工艺之间难以直接迁移。为解决这一问题,学术界提出了可扩展设计规则,如Mead & Conway的Lambda规则,使用基本单位λ(Lambda)表示尺寸,便于在不同工艺间迁移设计。MOSIS平台采用基于Q的通用可扩展设计规则,适合教学和原型设计。晶体管尺寸通常用宽度与长度之比W/L表示,数字电路中常选择最小沟道长度以提
2025-05-12 16:46:59
1414
原创 数字ic后端设计从入门到精通3(含fusion compiler, tcl教学)track,xml
可以替换、添加、移除或切换选中的对象。支持按对象类型进行过滤(如仅选择cellnetpin等)。所有操作会实时反映到 GUI 上,比如布局视图、对象浏览器等窗口会同步更新。
2025-05-07 09:32:35
1348
原创 超大规模集成电路物理设计:从图分割到时序收敛(原书第2版)介绍
超大规模集成电路物理设计:从图分割到时序收敛(原书第2版)》是由安德·B. 卡恩(Andrew B. Kahng)等人编写的,专注于介绍超大规模集成电路(VLSI)物理设计过程中的基本算法和技术。这本书适合集成电路设计、自动化、计算机专业的高年级本科生、研究生以及工程界的相关人士阅读。
2025-05-06 00:40:12
457
原创 当前用的是 `numpy 2.1.1` - 但是 `torch` / `ultralytics` / 其他库 是在 **numpy 1.x** 编译时打包的(不兼容 numpy 2.x) - 所以程序
动作命令备注降级 numpy最快最安全验证安装成功看 version 是 1.26.4重新跑你的 main.py直接应该不再报错了。
2025-04-28 01:21:45
765
原创 verilog和system verilog常用数据类型以及常量汇总
常量本身并不属于数据类型,而是属于值的范畴。它们是通过特定的数据类型来存储和表示的。换句话说,常量是指其值在定义后不能被改变的实体,而数据类型决定了这些常量(以及变量)可以存储什么样的值及如何解释这些值。,它并不是 Verilog-2001 的标准数据类型,而是 SystemVerilog 引入的一个新特性。都是用于定义常量的关键字,但它们的使用场景和作用范围有所不同。在 Verilog-2001 和 SystemVerilog 中,的特性,而不是 Verilog-2001 的一部分。
2025-04-24 23:28:05
1033
原创 nvcc warning : Support for offline compilation for architectures prior to ‘<compute/sm/lto>_75‘ will
使用 C++ 的桌面开发”(Desktop development with C++)。MSBuild 工具 和 Windows SDK。如果两条命令都能返回正确的路径,则说明配置无误。,可以将其路径永久添加到系统的。为了让普通命令提示符也能找到。CUDApath在安装目录。为了避免每次都手动运行。
2025-04-22 23:26:29
1529
原创 从脚本到python:脚本化办公
通过逐行分析,我们可以理解脚本中使用的各种语法元素和功能模块。导入模块: 使用import语句导入所需的模块,如ossysre和gzip。常量定义: 使用大写字母定义常量和。函数定义: 使用def关键字定义函数find_files和main。列表: 使用方括号[]创建和操作列表,例如matches和results。字符串: 使用引号''或""创建字符串,例如和格式化字符串: 使用str.format方法格式化输出字符串,确保对齐和替换空格为下划线。异常处理: 使用try和except。
2025-04-21 20:40:16
967
原创 数字ic后端设计从入门到精通2(含fusion compiler, tcl教学)
Reference:是对库中某种类型单元的定义或模板,它定义了单元的功能、特性等信息。Instance:是基于 reference 创建的具体对象,具有明确的位置、连接等物理属性。在实际操作中,当你查看设计时,命令会显示所有使用的 references(即设计中引用的不同单元),而则允许你在设计的层次结构中导航,聚焦于特定的 instance 上进行更详细的操作或检查。理解这两者之间的关系有助于更好地管理和优化你的设计。Pitch。
2025-04-21 20:23:55
1590
原创 noc多核芯片设计:booksim仿真从入门到精通1smart noc
以下是 8x8_mesh_smart(SMART NoC) 和 普通NoC(传统Mesh) 的详细对比,涵盖 关键数据 和 实现差别:延迟与吞吐量:数据包大小:分片与效率:硬件开销:适用性:
2025-04-21 16:54:17
561
原创 数字ic后端设计从入门到精通1(含fusion compiler, tcl教学)
Port(端口):是模块对外的接口,用于定义模块与其他模块或外部环境之间的信号交换点。Pin(引脚):是端口的具体实现,代表了物理或逻辑上的连接点,用于信号的实际传递。关系:端口在高层次设计中定义,经过综合和布局布线后映射为具体的引脚。: 由于该工具既能综合又能布线,所以同时存在上述两种命令在 Synopsys Fusion Compiler 2019(简称 FC2019)中,查看引脚(pin)的宽度、面积等物理参数需要使用相关的查询命令和工具功能。以下是具体的步骤和方法:1. 使用命令。
2025-04-15 17:45:28
2319
原创 报错解决秘笈
1.查看err/Err信息,看自己是否能直接解决或者直接理解。4.找到影响报错的变量,查看对他赋值的上下文,要找到父变量。2.找到报错出现的源文件,grep信息行,找到所在的文件。5.思考为什么没有被赋值,是仲裁原因还是疏漏。3.查看文件打印信息的代码,查看是否输出。
2025-04-14 16:02:03
205
原创 华为数字芯片机考2025合集5已校正
下列选项中()不是 Verilog HDL 的关键字。()A. triB. forC. forceD. edgeVerilog 关键字是语言预定义的保留字,用于语法结构或特定功能。正确答案:D. edge总结:一个16选1的one-hot数据选择器,其地址输入(选择控制输入)端有几个?()A. 1B. 16C. 4D. 2正确答案:B. 16总结:注:这里原题中if块就没有赋值语句A.正确B.错误这段代码是一个 Verilog 代码片段,用于实现一个乘法器的功能。具体代码如下:分析
2025-04-09 18:00:12
1280
1
原创 华为数字芯片机考2025合集4已校正
(a[*3])表示连续 3 次高电平。(a[->3])表示非重叠匹配的 3 次高电平(可以是连续或间断的)。(a[=3])表示重叠匹配的 3 次高电平。题目要求的是 “连续或间断地出现 3 次为高电平”,因此正确答案是C。27. 题目内容ASIC 开发流程中,如下环节的先后顺序是?()解析1. ASIC 开发流程RTL 设计:编写硬件描述代码。综合(Synthesis):将 RTL 转换为门级网表。布局布线(P&R):将门级网表映射到物理芯片。2. 最终答案正确答案。
2025-04-09 14:46:35
2387
1
原创 华为数字芯片机考2025合集1已校正
A.正确B.错误解题步骤理解 generate for 的作用:generate for 是 Verilog 中的一种生成块语法,用于在编译时根据条件重复生成硬件结构(如模块实例化、逻辑代码等)。它的循环变量(即“标尺变量”)必须在生成块中声明,且专门用于控制生成逻辑的迭代。明确循环变量的类型要求:Verilog 标准规定:generate for 的循环变量必须声明为 genvar 类型。例如:genvar i;// 正确声明generatefor (i = 0。
2025-04-09 00:24:34
1474
原创 fatal: unable to access ‘https://github.com/xxx‘: Failed to connect to github.com port 443 after 110
本地DNS服务器可能无法正确解析github.com,您可以尝试修改DNS设置为公共DNS服务器如Google的8.8.8.8和8.8.4.4,或者直接在命令行中ping GitHub的IP地址(可以通过一些在线工具查询到GitHub的当前IP地址)来进行测试。如果是在公司或学校的网络环境中,可能存在防火墙限制,建议尝试使用移动数据或其他网络进行测试。在打开的文件中添加以下内容,这将告诉 SSH 客户端对 github.com 的请求应该发送到 ssh.github.com 并且使用端口 443。
2025-04-08 16:16:34
861
原创 error while launching program: Cannot stop Microblaze. Microblaze is held in reset
确认时钟源是否正常工作,频率是否符合设计要求。使用示波器或逻辑分析仪检查时钟信号是否有抖动或其他异常。
2025-02-06 16:22:55
1336
原创 计算机体系结构基础胡伟武第三版课后习题第六章
WDATA [63:0] - 数据信号,共 64 线 -WSTRB [7:0] - 字节使能信号,共 8 线。AWUSER [n-1:0] - 用户定义信号(如果支持),这里假设没有用户信号,所以为 0 线。ARUSER [n-1:0] - 用户定义信号(如果支持),这里假设没有用户信号,所以为 0 线。WUSER [n-1:0] - 用户定义信号(如果支持),这里假设没有用户信号,所以为 0 线。BUSER [n-1:0] - 用户定义信号(如果支持),这里假设没有用户信号,所以为 0 线。
2025-01-24 17:25:01
1104
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅