- 博客(9)
- 收藏
- 关注
原创 gem5 新硬件模块开发新手指南
gem5 新硬件模块开发摘要 本文提供了gem5模拟器开发新硬件模块的完整指南,包含以下关键内容: 目录结构:详细说明gem5核心目录与文件的作用,包括C++实现、Python接口和配置脚本的位置 开发流程:7个标准步骤,从硬件设计到编译运行,特别强调SimObject接口和SCons构建配置 编码规范:严格的C++代码风格要求(4空格缩进、命名规则)和注释模板,以及Python配置脚本的编写规范 调试方法:提供debug版本编译、printf调试和gdb调试的具体操作指南 常见问题:总结6类典型错误现象及
2025-07-23 19:49:51
735
原创 Design Compiler (DC) 工具基本综合流程
本文详细介绍了 Synopsys 旗下的 DC 工具基本综合流程,并给出一个 Tcl 执行脚本的例子。
2025-03-11 16:10:05
1324
原创 数字电路中的Multi-bits跨时钟域设计
在之前的文章《数字电路中的Single-Bit跨时钟域设计》中我们提出了通过打两拍的方式将跨时钟域的单bit信号进行同步,那么我们对于多bits的信号也可以如下图一样,将每一bit的信号都通过打两拍的方式跨时钟域同步吗?...
2022-06-26 18:26:39
1879
原创 数字电路中的Single-Bit跨时钟域设计
在数字芯片的设计当中,我们经常要处理基于不同时钟域的电路之间的信号传输。例如,在一块芯片当中,接口的时钟是固定的,而CPU Core的时钟可能会与接口的时钟不同。在百兆的速度下,Ethernet接口频率为25MHz,而Cortex-m3最高工作频率可以达到72MHz。为了将数字信号完整的从一个时钟域传输到另一个时钟域,我们就需要用到跨时钟域技术。......
2022-06-26 02:15:03
2895
原创 今天开始学OpenWRT - 21/03/8
背景简介OpenWRT是一个运行在嵌入式设备上的Linux操作系统。相较于之前简单的、固化的路由器系统,OpenWRT提供了一个完整的可编写的文件系统,包括安装包管理。这使用户从供应商提供的应用程序选择和配置中解放出来,并允许用户通过使用软件包来定制设备以适合任何应用程序。对于开发人员而言,OpenWrt是构建应用程序的框架,而无需围绕该应用程序构建完整的固件。对于用户而言,这意味着可以进行完全自定义的能力,从而可以以前所未有的方式使用设备。这使您摆脱了供应商提供的应用程序选择和配置的限制,并允许您使用软
2021-03-09 01:33:54
916
1
原创 硬件安全(1)—— SHA-1算法在FPGA上的实现-2
SHA-1算法在FPGA上的实现-2在上一篇文章中,我详细介绍了SHA-1算法的计算过程。SHA-1算法主要由消息填充(Message Padding)和哈希计算(Hash Function Engine)两部分组成。消息块标准长度规定为512bits一组。消息填充在实现过程中需要区分长度不足一个消息块( < 512 bits)、长度超过一个消息块( > 512 bits)与长度刚好为一个消息块( = 512 bits)的时候。在这一篇文章中,我将介绍消息填充以及哈希计算的FPGA实现思路。
2021-01-16 01:41:33
3291
3
原创 硬件安全 (1) —— SHA-1算法在FPGA上的实现
SHA-1 算法在FPGA上的实现背景介绍SHA-1 (全称:Secure Hash Algorithm - 1,安全散列算法-1)是一种密码散列函数,是由美国国家安全局设计。SHA-1可以使一个不固定长度的消息生成160位的消息摘要,用于验证消息在传输的过程中没有被攻击或者篡改。2005年,密码分析人员发现了对SHA-1的有效攻击方法,2020年后,针对SHA-1的选择前缀攻击已经证明实际可行,建议尽可能使用SHA-2或者SHA-3取代SHA-1。应用场景举例SHA-1作为安全散列算法家族的一员,
2021-01-04 23:54:36
3591
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人