攻城狮Adam
码龄5年
关注
提问 私信
  • 博客:61,105
    61,105
    总访问量
  • 40
    原创
  • 54,030
    排名
  • 1,507
    粉丝
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:天津市
  • 加入CSDN时间: 2020-02-05
博客简介:

weixin_46272787的博客

查看详细资料
  • 原力等级
    领奖
    当前等级
    4
    当前总分
    605
    当月
    10
个人成就
  • 获得907次点赞
  • 内容获得19次评论
  • 获得738次收藏
  • 代码片获得203次分享
创作历程
  • 36篇
    2024年
  • 9篇
    2023年
成就勋章
TA的专栏
  • IC设计
    2篇
  • 数字IC
    7篇
  • FPGA开发
    2篇
  • CXL
    4篇
  • 开发工具
    3篇
  • Linux
    9篇
  • windows
    7篇
  • 大语言模型
    2篇
  • PCIE
    10篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

dc检查:生成时钟的sdc约束方法

而在常规的时钟约束以外,另一个我们经常讨论的问题,则是时钟的分频和倍频问题,即“生成时钟”问题,它的BNF(巴斯科范式)如下,而生成时钟的母命令为“create_generated_clock”与时钟常规约束类似,通过类似以下的命令来进行标识,详情可见静态时序分析简明教程(四)时钟常约束中的3.2节内容,通过以下的命令,我们知道生成的时钟,是作用于何处。生成时钟的特性,其实就是指生成的新时钟,相较于原来的老时钟的如“分频、倍频、相位变化”等内容的改变,我们有以下的三种方法来约束新时钟的相关特性。
原创
发布博客 2024.07.20 ·
619 阅读 ·
9 点赞 ·
0 评论 ·
19 收藏

dc检查:时钟常规约束

period 选项用于定义时钟周期,通常情况下,时钟信号的单位默认是ns,但是我们也可以通过set_units设置ps等时钟单位。上面的语句意味着,我们设置了一个时钟周期为10ns的时钟信号,即100Mhz的时钟频率。
原创
发布博客 2024.07.20 ·
958 阅读 ·
22 点赞 ·
0 评论 ·
10 收藏

HAPS100-4F.pdf

发布资源 2024.07.17 ·
pdf

protocompiler-user-guide.pdf

发布资源 2024.07.17 ·
pdf

synplify | 基础操作

点击 Implementation Results 属性页,设置综合结果放置的目录,综合结果的文件名称, 同时一定要将 Write Vendor Constraint File选项选中。HDL Analyst是synplify提供给设计者查看结果, 提高设计速度特性和优化面积的强有力的层 次结构可视化图形工具;Synplify 和 Synplify Pro 是 synopsys提供的专门针对FPGA和CPLD实现的逻辑综合工具;可以显示该路径的延迟信息,关键路径等。
原创
发布博客 2024.07.01 ·
1710 阅读 ·
23 点赞 ·
0 评论 ·
22 收藏

HAPS XACTOR GEN 手把手教程

例如假设需要观测的信号有40个,可以将INT_BITWIDTH配置为48,XACTOR_ID设置为1,COMMENT为“int_master_1”,UMR_DATA_BITWIDTH设置为8。name_of_top_level design (定义的实现顶层,这个参数会影响xactors_connect.v中信号连接,如果前面配置不对,后面需要手动修改xactors_connect.v中的宏定义)用作为添加的xactor配置参数,例如前文在gpio模块中添加了一个int_master。
原创
发布博客 2024.06.22 ·
1144 阅读 ·
24 点赞 ·
0 评论 ·
15 收藏

PCIE驱动详细说明

(Transaction Layer Packet): TLP包是由PCIe的Endpoint或者Root Complex发送的数据包。在PCIe体系中的事务层生成;TLP包由头(Hander)、数据(Data)、ECRC(校验)几个部分组成。TLP是用户程序和PCIe设备交互的唯一渠道.。
原创
发布博客 2024.04.22 ·
3069 阅读 ·
21 点赞 ·
1 评论 ·
48 收藏

CXL事务层(续)

当主机向设备发送监听请求时,要求在主机收到监听响应并收到所有隐式写回(implicit writeback,IWB)数据之前,不会向设备中含有该地址的任何请求发送GO响应。当主机向设备返回数据,并且该请求的GO尚未发送到设备时,主机可能在发送GO消息之前不会向该地址发送监听请求。一旦设备发起了这样的一个请求,并且在设备接收到GO-WritePul或GO-WritePullDrop响应消息前,访问的缓存地址已经被监听了,这时候,设备需要设置数据消息的Bogus字段,用来指示这个数据也许不是最新的。
原创
发布博客 2024.03.29 ·
1007 阅读 ·
20 点赞 ·
0 评论 ·
15 收藏

CXL事务层

参考下图,第一条消息,PM2IP.CREDIT_RTN(Target_Agent_ID,Num_Credits=1) ,这个消息里面包含了2个内容,一个是Target_Agent_ID,另一个是主机给了设备1个信用值。在初始化的时候,设备必须先等待接受来自主机的CREDIT_RTN消息,而不能先向主机发送消息。设备和主机之间通过CXL.io通道发送的消息类型主要涉及两种,分别是CREDIT_RTN和AGENT_INFO,其中PM2IP是主机发给设备的电源管理消息,而IP2PM是设备发给主机的电源管理消息。
原创
发布博客 2024.03.29 ·
739 阅读 ·
15 点赞 ·
0 评论 ·
10 收藏

CXL2.0简介

本章总结:这一章介绍了CXL的基本概念,CXL协议可以分为三个部分,分别是CXL.io,CXL.cache和CXL.mem。但是和CCIX不同,CXL为CXL.cache和CXL.mem增添了新的事务层(Transaction Layer)和链路层(Link Layer),所以也可以认为CXL.cache和CXL.mem是两个全新的协议。如下图所示,CXL.io近似PCIe协议的事务层和链路层,但是CXL.cache和CXL.mem走的是自己单独的事务层与链路层(这是CXL延迟低的原因之一)。
原创
发布博客 2024.03.28 ·
1256 阅读 ·
22 点赞 ·
0 评论 ·
11 收藏

CXL系统架构

CXL支持三种设备类型,如下图。Type 1支持CXL.cache和CXL.io;Type 2支持CXL.cache,CXL.mem和CXL.io;Type 3支持CXL.mem和CXL.io。无论哪种类型,CXL.io都是不可缺少的,因为设备的发现,枚举,配置等都是由CXL.io来负责。传统的非一致I/O设备主要依赖于标准的生产者-消费者订单模型(Producer-Consumer Ordering Model),并针对主机连接的内存执行。
原创
发布博客 2024.03.28 ·
1133 阅读 ·
16 点赞 ·
0 评论 ·
20 收藏

DMA 链表模式(LLI)深度解析

在进行一次 DMA 读或者写的时候,可以配置多个链表,从而当一个链表的数据传输完成时,会跳到下一个链表的起始地址,并继续传输数据,直到链表的下一个地址为 0。如果 DMA 使能了完成中断,则当 DMA 发送或者接收完成时,会进入完成中断。OK,那么当我们开始研究链表配置之前,我们需要了解一些前提: - 每个链表最多传输 4095 ,单位根据位宽决定 - 每个链表都可以触发中断。
原创
发布博客 2024.03.06 ·
1763 阅读 ·
15 点赞 ·
0 评论 ·
18 收藏

【VNC】修改VNC分辨率大小

使用第一种方法操作简单,影响范围小,因为该方法是通过单独启动vnc进程来提供服务的,但是容易在系统中遗留过多的vnc进程;第二种方法是通过调整VNC默认分辨率的手段实现的,实现集中管理,但存在因分辨率调整过高导致客户端无法使用的问题。VNC的分辨率过小有可能导致图形化界面操作过程中遇到“确认键或取消键”无法点击,分辨率过高又可能导致低分辨率客户端显示器无法显示。可见,默认的分辨率是1024x768,我们可以使用这个参数对分辨率进行调整。本文给出两种调整VNC分辨率的方法,供参考。其他分辨率调整请自行尝试。
原创
发布博客 2024.02.20 ·
4935 阅读 ·
23 点赞 ·
0 评论 ·
23 收藏

PCIe链路层训练过程

PCIe总线的的接收端链路上没有时钟,因此获取时钟的办法是通过接收到发送端发过来的报文信息(带有时钟信息)来获取时钟信息,将此过程称之为bit lock,同理symbol lock表示PCIe链路上获取开始训练的标记符COM字符的过程。PCIe总线在硬件训练的过程中主要使用这几个序列:TS1、TS2,这两个序列主要作用是在LTSSM状态机之间来回跳转。FTS序列协助PCIe的链路获取bit lock和symbol lock。
原创
发布博客 2024.01.29 ·
1207 阅读 ·
17 点赞 ·
1 评论 ·
26 收藏

深入到 TLP:PCI Express 设备如何通信(第二部分)

记帐是在流量控制单元中完成的,这些单元对应于 4 DW 的流量(16 字节),始终四舍五入到最接近的整数。因此,通过选择零以外的 TC(并相应地设置总线实体),可以使 TLP 受制于独立的流量控制系统,从而防止属于一个通道的 TLP 阻塞属于另一个通道的 TLP 的流量。PCIe 规范允许一定程度的 TLP 重新排序,事实上,在某些情况下,为了避免死锁,重新排序是强制性的。无论如何,到目前为止,我所看到的现实生活中的PCIe元件仅支持一个虚拟通道VC0,因此仅使用TC0,这是规范要求的最低要求。
原创
发布博客 2024.01.26 ·
1134 阅读 ·
29 点赞 ·
0 评论 ·
16 收藏

深入到 TLP:PCI Express 设备如何通信(第一部分)

当我为PCI express编写Xillybus IP核时,我很快发现很难开始:在线资源和官方规格用关于螺母和螺栓的血腥细节轰炸你,但对机器应该做什么却很少说。因此,一旦我努力自己弄清楚这一点,我就决定写这个小指南,希望能帮助其他人获得一个更温和的开始。这基于官方的 PCI Express 规范 1.1,但非常适用于更高版本。不过,阅读原始规范是无可替代的。游戏的名称,如果获得正确的细节,以便设备在手头没有测试的环境中正常工作。不要因为我没有描述全貌或使用不准确的定义而挑剔我。准确是规范的目的。
原创
发布博客 2024.01.25 ·
1363 阅读 ·
42 点赞 ·
0 评论 ·
21 收藏

一文讲述SASS简介和使用方法

var 表示变量,start表示开始值,end表示结束值,两种形式的区别在于 through 包括 end 的值,to 不包括 end 值。sass中使用@mixin声明混合,可以传递参数,参数名义$符号开始,多个参数以逗号分开,如果参数有多组值,那么在变量后面加三个点表示,如: $var...default即可, 默认变量一般用来设置默认值,当该变量出现另外一个值时,无论定义先后,都会使用另外一个值,覆盖默认值。在标准注释 /*后面加入一个感叹号,表示重要注释,压缩模式也会保留注释,用于版权声明等。
原创
发布博客 2024.01.24 ·
1862 阅读 ·
18 点赞 ·
0 评论 ·
16 收藏

PCIE 之LTSSM状态机解析

在PCIe链路可以正常工作之前,需要对PCIe链路进行链路训练,在这个过程中,就会用LTSSM。LTSSM全称是Link Training and Status State Machine。这个状态机在哪里呢?它就在PCIe总线的之中。LTSSM 的顶层状态LTSSM 包含 11 个顶层状态:Detect、Polling、Configuration、Recovery、L0、L0s、L1、L2、Hot Reset、Loopback 和 Disable。
原创
发布博客 2024.01.23 ·
2637 阅读 ·
56 点赞 ·
0 评论 ·
30 收藏

如何解决GitHub打不开的问题?

测试ping功能能否到达了,能ping通说明问题已被解决~打开路径,找到hosts文件,右键记事本打开。在底部加入前三步获得的内容,然后保存并退出。,更新DNS,重启浏览器。
原创
发布博客 2024.01.22 ·
480 阅读 ·
13 点赞 ·
0 评论 ·
7 收藏

GitHub Copilot 与 ChatGPT:有什么区别?

GitHub Copilot 和 ChatGPT 之间的主要区别在于它们的预期目的。GitHub Copilot 是专门为代码生成而设计的,而 ChatGPT 是一种更通用的语言模型,专为各种 NLP 任务而设计。GitHub Copilot 和 ChatGPT 之间的主要区别。因此,这些是实体之间的主要区别。
原创
发布博客 2024.01.19 ·
967 阅读 ·
17 点赞 ·
0 评论 ·
7 收藏
加载更多