- 博客(621)
- 资源 (15)
- 收藏
- 关注

原创 TCSH入门教程 --- tcsh从入门到精通
TCSH入门教程 简介:TCSH不同于其他的shell(例如bash),因为控制结构更符合程序设计语言的格式。例如TCSH的test条件的控制结构是表达式,而不是linux命令,得到的值是逻辑值true或false,TCSH的表达式与C语言中的表达式基本相同。一、TCSH变量、脚本、参数 用户可以在shell中定义变量、为变量赋值以及引用脚本参数。TCSH使用set、@、setenv...
2020-06-29 20:41:35
9884
3

转载 华为内部的关于IC验证的经验总结
华为内部的关于IC验证的经验总结 ----IC验证工程师的易筋经 有人认为我验证做得很牛,也有人认为我的验证早就丢下了;有人认为我发现了各个项目的不少问题,也有人认为我在CMM库的几百个问题单大部分属纯净水。...
2020-04-30 12:10:45
21057
7

原创 [Cshell]Cshell基本語法 --- 從入門到精通
如何向CShell Script傳遞參數? 如何将命令行的参数传给script呢? 可以这样: 键入script名, 后面跟任何你想要传递的参数. Cshell把script名后面的字符按照词(words)来划分后传递给一个叫做argv的变量数组, 叫做arguments list. 这样命令行的参数就作为words存储于argv中, 连同script名, 分别可以被引用为argv...
2019-03-09 11:21:25
34881
7
原创 对称加密 vs 非对称加密
对称加密使用同一把密钥进行加密和解密。通信双方(或系统组件)在加密前需要安全地共享这把“对称密钥”。DES/3DES:早期标准,分组 64 bit,密钥 56 bit(安全性不足)。3DES 三次迭代改进。AES:国际标准,分组 128 bit,密钥长度 128/192/256 bit,支持 AES-NI 硬件加速。SM4:中国国密标准,分组 128 bit,密钥 128 bit,国内 CPU/ASIC 常有指令级支持。
2025-06-10 07:26:49
718
原创 对称密钥引擎 SKE 模块简介
SKE” 一般指(对称密钥引擎)或对称密码加解密:AES (ECB/CBC/CTR/GCM)、SM4、DES 等哈希/消息认证:SHA-2、GHASH、HMAC随机数/密钥派生:TRNG、KDF密钥存储:物理不可读的密钥槽(Root of Trust)SKE 在硬件层面提供加速和安全隔离,是 DMA、网络加速器、存储加密等场景下的核心加密单元。独立总线接口(AXI/AHB)支持多种加密模式(硬件 CTR/ECB/CBC/GCM 逻辑)DMA/Scatter-Gather 支持。
2025-06-10 07:20:16
697
原创 AES-GCM和SM4-GCM工作原理及数据加解密验证方案详解
这样,你既有完整的 AES-GCM/SM4-GCM 理论流程说明,又获得了一个可集成 SV 的 DPI-C reference model,既可以做 RTL 加密模块的功能验证,也可用于覆盖率和一致性检查。示例代码,基于 OpenSSL EVP 接口实现了 AES-128-GCM 和 SM4-GCM 的加/解密,并封装了四个 DPI-C 接口函数。按此模板即可在 RTL 验证环境中,结合真实 DMA 地址映射与通道时序,将 256 B 数据的 AES-GCM 加解密完整地覆盖到功能和对比检测中。
2025-06-10 07:06:21
894
原创 Python网页数据抓取常用的库及方法介绍
摘要:以下是Python网络数据抓取常用的6个库的详细介绍,包括它们的概述以及每个库中最常用的10个函数(如果某些库常用函数不足10个,则列出所有常用函数)。每个函数都附带功能描述、用法说明和使用示例。这些库在网络爬虫、数据采集和网页解析领域被广泛使用。以上6个库(Requests、Beautiful Soup、Scrapy、Selenium、lxml、urllib3)是Python网络数据抓取的核心工具,涵盖了HTTP请求、网页解析、动态内容处理和大规模爬虫的各个方面。
2025-06-04 22:58:18
1230
原创 Python数据分析及可视化中常用的6个库及函数(二)
以上6个库(NumPy、Pandas、Matplotlib、Seaborn、SciPy、Plotly)是Python数据分析和可视化的核心工具,涵盖了数据处理、统计分析和图表绘制的各个方面。每个库列出了10个最常用的函数,并附带了功能描述、用法说明和示例代码,可以帮助您快速上手并应用于实际项目中。如果您需要更详细的某个库或函数的说明,请告知,我可以进一步扩展内容。
2025-06-03 22:26:07
1106
原创 Python数据分析及可视化中常用的6个库及函数(一)
摘要:下面列出 Python 进行数据分析与可视化时最常用的 6 个库,以及每个库中若干常用函数(方法)的功能、用法和示例。以上 6 个库及其常用函数,几乎覆盖了从数据读取、清洗、统计分析到静态/交互式可视化的全流程。Pandas 提供高性能的 DataFrame 和 Series,用于表格数据的读取、加工、查询与统计。在 NumPy 基础上提供统计、优化、积分、信号处理等功能。功能:生成数值列的统计汇总(计数、均值、分位数等)。功能:绘制散点图,可指定颜色和大小。功能:添加坐标轴标签、标题、图例。
2025-06-03 21:24:17
783
原创 CRC 原理概述
摘要:循环冗余校验(CRC, Cyclic Redundancy Check)是一种基于多项式除法(modulo-2)的差错检测码。将 D(x)D(x)D(x) 左移 kkk 位(在二进制串末尾补 kkk 个 0),其中 k=degG(x)k=\deg G(x)k=degG(x)。用 G(x)G(x)G(x) 对扩展后的多项式做模 2 除法(每步减法即异或,不带借位),得到余数 R(x)R(x)R(x),degR(x)<k\deg R(x)<kdegR(x)<k。
2025-06-02 14:50:38
910
原创 [Verilog]CRC代码生成器
这样,你只需在脚本层面指定多项式和数据宽度,就能自动产生任意宽度、任意多项式的并行 CRC 计算模块。然后在标准输出打印一段可综合的 Verilog 模块。并行计算 CRC(余数),宽度由多项式决定(多项式长度 − 1)。,一份用 Python,一份用 Perl。循环从最高位到最低位仿真多项式长除,函数。MSB 总是 1,只需把低。完成一个 LFSR 步骤。
2025-06-02 14:33:11
245
原创 [SC]SystemC中常用的宏和小工具
当用 SystemC 的动态 DLL /so 方式加载模块时,需要在模块定义后加这一行,注册工厂函数。以上就是 SystemC 常用的“样板消除”宏/工具,掌握它们可以让你的模型既简洁又易读。手写构造函数时(不用 SC_CTOR)必须声明这一宏,才能在模块里注册进程。分别注册“零延迟组合过程”、“可 wait() 的线程”“时钟同步线程”。只对 SC_CTHREAD 有效,自动实现同步/异步复位。结构化报告,自动带时间戳、模块名、消息类别。并自动隐含 SC_HAS_PROCESS。
2025-06-02 13:01:50
809
原创 [SC]sc_signal_rv的用法和sc_signal相比有什么优势?
在 t=20 A、B 同时写会立刻导致“multiple drivers”错误。是最常用的单驱动(single‐driver)信号通道;(“rv” = resolved vector)则是一种。下面分几点来说明它们的用法和优势。在 SystemC 中,SystemC 还提供了非模板的。适用于“点对点”单一驱动场景。(等价于 1-bit。
2025-06-02 12:50:47
909
原创 [SC]SystemC dont_initialize的应用场景详解(二)
摘要:下面给出一个稍复杂一点的 SystemC 示例,包含三个模块(Producer/Filter/Consumer)和一个 Testbench(Top)模块,演示了在不同的进程类型中如何使用。在这段 SystemC 代码里,我们通过以下几方面的设计,避免了常见的「竞争/竞态条件」(race conditions),保证了各进程之间对信号的读写是。这样保证所有的读—写时序,都发生在信号被 Top::stim 明确定义之后,不会在 t=0 仿真初期出现“先读后写”的竞态。,或改用带 FIFO 的通信通道(
2025-06-02 12:41:19
971
原创 [SC]SystemC dont_initialize的应用场景详解(一)
在 SystemC 中,一个注册了敏感列表的进程(SC_METHOD/SC_THREAD/SC_CTHREAD)默认都会在仿真 time 0 触发一次。这对于组合逻辑模型往往是「好事」——让它们根据初始信号值计算一次输出;但在许多场景下,我们反而不希望在 time 0 运行该进程,而只想在真正的第一个敏感事件到来时才执行——这时就要用到。
2025-06-02 12:34:40
1216
原创 [SC]SystemC 中,SC_THREAD 和 SC_CTHREAD 的区别
在 SystemC 中,SC_THREAD 和 SC_CTHREAD 看上去都像“可以在进程体里写 wait()”的线程,但它们在建模时序、复位、灵敏度以及可综合性上有本质区别。同步时序电路建模(Flip-Flop + 寄存器 + 复位 + next‐state 逻辑)– 最适合非综合、测试驱动、对多种事件/时延反应的场景。– 可以做复杂的行为描述,不限于“一个时钟一个周期”– 隐式单时钟敏感 + 自动复位 + 确定性同步模型。– 最适合写可综合的时序逻辑。– 内建复位语义,易于综合。
2025-06-02 12:29:41
566
原创 [SC]SystemC语法小结(三)
在 SystemC 中,SC_THREAD 和 SC_CTHREAD 看上去都像“可以在进程体里写 wait()”的线程,但它们在建模时序、复位、灵敏度以及可综合性上有本质区别。同步时序电路建模(Flip-Flop + 寄存器 + 复位 + next‐state 逻辑)– 最适合非综合、测试驱动、对多种事件/时延反应的场景。– 可以做复杂的行为描述,不限于“一个时钟一个周期”– 隐式单时钟敏感 + 自动复位 + 确定性同步模型。– 最适合写可综合的时序逻辑。– 内建复位语义,易于综合。
2025-06-02 12:10:58
966
原创 [SC]SystemC语法小结(二)
掌握这几个宏的区别和配合使用,是写好、写快又不出错的 SystemC 模块的关键。而是自己写构造函数(或者你需要在构造函数里加额外参数)时,必须显式插入。宏里已经帮你插入了必要的声明。,它会声明内部注册所需的机制。
2025-06-02 12:04:05
839
原创 PCIe Gen6的FEC具体是怎么工作的?
摘要:在 PCIe Gen6 中,由于物理层从 NRZ 升级到 PAM4,信噪比 (SNR) 和抖动容限都大幅收紧,为了在误码率 (BER) 从典型的 10⁻¹² 放宽到 ≈10⁻⁶ 时还能保证端到端 BER ≤10⁻²⁵,– PAM4 每个符号承载 2 bit,眼图较窄,信噪比要求高,导致裸 BER 从 10⁻¹² 上升到 10⁻⁶ – 10⁻⁵。– 将 K 比特划分为 S 个长度为 m 的符号(m=8 或 10,取决于实现),例如 160 个 8-bit 符号。
2025-06-01 17:47:22
545
原创 [PCIe]Gen6 PAM4的功耗相比Gen5 NRZ增加了多少?
在 PCIe Gen6 中,由于物理层从 NRZ 升级到 PAM4,信噪比 (SNR) 和抖动容限都大幅收紧,为了在误码率 (BER) 从典型的 10⁻¹² 放宽到 ≈10⁻⁶ 时还能保证端到端 BER ≤10⁻²⁵,– PAM4 每个符号承载 2 bit,眼图较窄,信噪比要求高,导致裸 BER 从 10⁻¹² 上升到 10⁻⁶ – 10⁻⁵。– 将 K 比特划分为 S 个长度为 m 的符号(m=8 或 10,取决于实现),例如 160 个 8-bit 符号。PAM4 的 BER 水平放宽至 10⁻⁶…
2025-06-01 17:44:53
613
原创 [PCIe]Gen6的PAM4编码具体是如何实现翻倍效率的?
摘要:PAM4(4‐Level Pulse Amplitude Modulation)最核心的“翻倍效率”在于:同样一个 symbol 周期内,NRZ 只传 1 bit,而 PAM4 传 2 bit。净通道带宽 ≈ 128 × (1–1.54%) × (1–16.7%) ≃ 100 Gb/s per lane,约为 Gen5 的 3×,Raw 带宽 4×。– PAM4 则使用四个电平(一般映射为 –3, –1, +1, +3 单位电压),每个符号就能区分 4 种状态 ⇒ 2 bit。
2025-06-01 17:40:19
910
原创 PCIe Gen6相比Gen5的新特性、优化点
符号率”倍增,实际每条 Lane 原始吞吐率翻倍。• 向下兼容:Gen6 PHY 可向下回落至 Gen5/Gen4/…;协议栈(Transaction/Data Link 层)几乎无改动,对软件透明。
2025-06-01 17:36:01
682
原创 [VMM]现代 CPU 中用于加速多级页表查找的Page‐Table Entry原理
它通过给每级页表查找加速,减少 Page-Walk 对内存的压力,显著降低 TLB miss 的延迟和功耗,对操作系统的页表结构透明、自动协同 PCID 与虚拟化二级页表,从而大幅提升系统的整体性能。以 x86-64 为例,4 级页表走完一次要依次访问 PML4、PDPT、PD、PT,每级都要一次内存读(若不命中 L1/L2/L3 缓存),最糟糕可能要 4 次 LLC Miss → DRAM 访问,延迟数百纳秒。摘要:在硬件上,Page-Walk Cache(PWC)通常是一个小容量、多路组相联的缓存;
2025-05-31 21:40:19
797
原创 [VMM]虚拟地址到物理地址的三级或四级页表查找过程详解
摘要:下面以 x86-64 的 4 级页表为例,详述虚拟地址到物理地址的三级或四级页表查找(page‐walk)过程,PDE/PTE 的相互关系及各字段含义,并说明页表级数与支持的页大小之间的对应。x86-64 采用 4 级页表,每级页表都是一个 4 KiB 大小的页,包含 512(2^9)个 8 B(64 bit)条目。:只有第 2/3 级 PDE(PDPTE/PDE)含 PS(Page Size)字段,表示“大页”映射。注意:PML4(级 1)不能用于映射大页,它始终指向下一级 PDPT。
2025-05-31 21:36:23
759
原创 [SC]SystemC在CPU/GPU验证中的应用(六)
摘要:下面分享50个逐步升级SystemC编程能力的示例及建议的学习路线图。在每个阶段掌握之后,再进行下一组的学习。需要仿真器支持 SystemC + Verilog DPI,下面仅示意 C/C++ 与 Verilog DPI 接口。运行时会在控制台先输出 Python 版本信息,再展示 SystemC–Python 交互结果。与仿真器链接,并在 Verilog 顶层实例化 SystemC 模块并调用 DPI。注:本示例为了简化,将 local_out 回连到同一输入 FIFO,实际可改为单独输出。
2025-05-31 19:48:20
944
1
原创 [SC]SystemC在CPU/GPU验证中的应用(五)
摘要:下面分享50个逐步升级SystemC编程能力的示例及建议的学习路线图。您可以一次一批地完成它们——从前五个基础的例子开始,然后转向channels, TLM, bus models, simple CPU/GPU kernels等等。在每个阶段掌握之后,再进行下一组的学习。下面是第 31–40 个例子,每个例子含完整代码和详细注释。需要安装 SystemC-AMS(包含。
2025-05-31 19:43:10
1185
原创 [SC]SystemC在CPU/GPU验证中的应用(四)
摘要:下面分享50个逐步升级SystemC编程能力的示例及建议的学习路线图。您可以一次一批地完成它们——从前五个基础的例子开始,然后转向channels, TLM, bus models, simple CPU/GPU kernels等等。在每个阶段掌握之后,再进行下一组的学习。下面继续给出第 21–30 个 SystemC 例子,每个例子包含完整代码及详细注释。在 10ns 周期写入,在 14ns 周期读取。作为跨时钟域缓冲区,
2025-05-31 19:37:14
912
原创 [SC]SystemC在CPU/GPU验证中的应用(三)
摘要:下面分享50个逐步升级SystemC编程能力的示例及建议的学习路线图。您可以一次一批地完成它们——从前五个基础的例子开始,然后转向channels, TLM, bus models, simple CPU/GPU kernels等等。在每个阶段掌握之后,再进行下一组地学习。
2025-05-31 19:29:42
609
原创 [SC]SystemC在CPU/GPU验证中的应用(二)
摘要:下面分享50个逐步升级SystemC编程能力的示例及建议的学习路线图。您可以一次一批地完成它们——从前五个基础的例子开始,然后转向channels, TLM, bus models, simple CPU/GPU kernels等等。在每个阶段掌握之后,再进行下一组地学习.
2025-05-31 17:56:15
208
原创 [SC]SystemC在CPU和GPU等复杂SoC验证中的应用
SystemC 是一种基于 C++ 的硬件描述和仿真语言,广泛用于系统级设计和验证,特别是在 CPU 和 GPU 等复杂 SoC (System on Chip) 的验证工作中。通过 SystemC,你可以构建硬件模块、定义时序行为、进行系统级仿真,并与 UVM (Universal Verification Methodology) 等验证方法结合使用。以下是 50 个极具代表性的 SystemC 开发示例,旨在帮助你熟悉 SystemC 的所有核心语法和功能,并为后续 CPU/GPU 验证工作奠定基础。
2025-05-31 17:42:57
1119
原创 [SC]SystemC在CPU/GPU验证中的应用(一)
摘要:下面分享50个逐步升级SystemC编程能力的示例及建议的学习路线图。您可以一次一批地完成它们——从前五个基础的例子开始,然后转向channels, TLM, bus models, simple CPU/GPU kernels等等。在每个阶段掌握之后,再进行下一组地学习。
2025-05-31 17:40:25
596
原创 PCIe Gen6新特性简介
摘要:PCIe(Peripheral Component Interconnect Express)Gen6 是PCIe标准的最新一代技术,相较于PCIe Gen5,它引入了多项新特性以支持更高的带宽、更低的延迟和更好的信号完整性。以下将详细总结PCIe Gen6的新特性,与Gen5的对比,特别是在子系统验证和VIP(Verification IP)使用方面的差异,以及Gen6物理层(PHY Layer)编码方式的变化及其理解。PCIe Gen6新特性。
2025-05-30 01:39:17
575
原创 PCIe系统中的ATS机制简介
摘要:在PCIe(Peripheral Component Interconnect Express)系统中,ATS(Address Translation Service)是一种重要的机制,用于支持虚拟化环境中的设备直接内存访问(DMA)操作。它主要解决的是在虚拟化场景下,虚拟机(VM)中的设备如何高效、安全地访问主机内存的问题。ATS在PCIe系统中通过设备与IOMMU的协作,实现了虚拟化环境中高效、安全的地址翻译,为虚拟机中的设备直接访问内存提供了支持。
2025-05-30 01:31:23
809
原创 PCIe系统中ATS的作用
ATS 的工作主要涉及 PCIe 设备 (Requester/Client) 和根联合体 (Root Complex, RC) 中的地址转换代理 (Translation Agent, TA,通常是 IOMMU 的一部分) 之间的交互。总而言之,PCIe ATS 通过在设备端引入地址转换缓存和相应的请求-完成协议,有效地优化了 DMA 过程中的地址转换,降低了系统开销,提升了 I/O 性能,并为虚拟化环境提供了关键支持。它允许 PCIe 设备主动参与地址转换过程,从而减少系统开销并提升性能。
2025-05-30 01:28:21
544
原创 [SC]SystemC语法小结(一)
通过这种方式,你可以在保持类定义简洁的同时,将函数实现与类分离,便于代码的可读性和维护性。中,可以在类的内部声明函数,然后在类的外部实现这些函数。
2025-05-29 23:21:50
769
原创 [VMM]分享一个用SystemC编写的页表管理程序
分享一个用SystemC编写的页表管理的程序,这个程序将模拟页表(PDE和PTE)的创建、虚拟地址(VA)到物理地址(PA)的转换,以及对内存的读写操作。
2025-05-29 22:57:27
783
原创 [MMU]IOMMU的主要职能及详细的验证方案
IOMMU的主要职能包括地址转换、设备隔离、中断重映射、上下文管理、性能优化、虚拟化支持和错误处理。详细的验证方案通过功能、性能、安全性和错误处理四个方面,确保IOMMU的正确性和可靠性。验证可以结合SystemC仿真和硬件测试平台,使用自动化测试用例和覆盖率分析,确保全面验证。如果需要具体的SystemC代码实现或硬件验证脚本,可以进一步扩展和细化。
2025-05-29 22:35:55
882
Unified Coverage Interoperability Standard (UCIS)
2024-09-12
Accellera Standard for VERILOG-AMS - Analog and Mixed-signal Ext
2024-09-11
可综合的SystemVerilog,打破 SystemVerilog仅用于验证的神话
2024-09-11
快速仿真和数模混合仿真软件.ppt
2020-07-12
集成电路设计CAD-EDA工具实用教程1-Spectre-Verilog数模混合仿真.ppt
2020-07-12
uvm-testbench-gen
2023-05-10
Verdi and Siloti Command Reference
2023-04-11
开源AMBA AHB VIP
2022-12-09
开源AMBA APB VIP
2022-12-09
开源AMBA AXI4 VIP
2022-12-09
使用VCS的门级仿真和最佳实践(Gate-Level Simulation with VCS and Best Practic)
2022-10-08
UVMC应用案例代码分享
2022-09-15
SystemC User’s Guide(SystemC使用手册)
2022-07-21
CMake官⽅⽂档CMake Tutorial
2022-07-21
Synopsys_SVA_OVL检查库应用指南
2022-07-07
500个Excel函数模板.zip
2020-07-12
LDO低压差线性稳压器核心电路的设计.pdf
2020-05-02
pll-for-high-frequency-receivers-and-transmitters-3_cn.pdf
2020-05-02
pll-for-high-frequency-receivers-and-transmitters-2.pdf
2020-05-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人