自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

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

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

2024-07-20 17:12:53 459

原创 dc检查:时钟常规约束

period 选项用于定义时钟周期,通常情况下,时钟信号的单位默认是ns,但是我们也可以通过set_units设置ps等时钟单位。上面的语句意味着,我们设置了一个时钟周期为10ns的时钟信号,即100Mhz的时钟频率。

2024-07-20 15:09:34 830

原创 synplify | 基础操作

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

2024-07-01 14:11:09 613

原创 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 12:00:31 990

原创 PCIE驱动详细说明

(Transaction Layer Packet): TLP包是由PCIe的Endpoint或者Root Complex发送的数据包。在PCIe体系中的事务层生成;TLP包由头(Hander)、数据(Data)、ECRC(校验)几个部分组成。TLP是用户程序和PCIe设备交互的唯一渠道.。

2024-04-22 09:55:54 1933 1

原创 CXL事务层(续)

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

2024-03-29 11:43:35 949

原创 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 11:13:05 679

原创 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 17:51:08 942

原创 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 17:43:58 928

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

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

2024-03-06 16:42:48 1102

原创 【VNC】修改VNC分辨率大小

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

2024-02-20 10:08:39 3350

原创 PCIe链路层训练过程

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

2024-01-29 15:28:30 987 1

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

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

2024-01-26 09:33:34 1085

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

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

2024-01-25 14:13:23 1243

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

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

2024-01-24 09:37:28 1416

原创 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 14:12:04 2184

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

测试ping功能能否到达了,能ping通说明问题已被解决~打开路径,找到hosts文件,右键记事本打开。在底部加入前三步获得的内容,然后保存并退出。,更新DNS,重启浏览器。

2024-01-22 09:53:33 444

原创 GitHub Copilot 与 ChatGPT:有什么区别?

GitHub Copilot 和 ChatGPT 之间的主要区别在于它们的预期目的。GitHub Copilot 是专门为代码生成而设计的,而 ChatGPT 是一种更通用的语言模型,专为各种 NLP 任务而设计。GitHub Copilot 和 ChatGPT 之间的主要区别。因此,这些是实体之间的主要区别。

2024-01-19 09:35:52 807

转载 VerilogHDL概述与数字IC设计流程

在开篇的时候,我先讲一下IC设计分类跟设计流程,提前声明一下,由于本人水平有限,加上没有完全亲身体验过从设计规划到工艺制造这一完整的设计流程,只是知道这一流程的某些步骤,因此本篇的设计流程是我根据我的一些实践体会、一些文献内容、一些网络资料、与一些工程师的交谈等得出的一个大体流程,

2024-01-18 09:54:55 287

原创 一文看懂定点数和浮点数

定点数是指小数点固定的隐含在某一位置上的一类数据有符号数:以四位有符号数1111为例,其数值大小为:1x(-2^(0))(4+2+1)= -7。

2024-01-17 01:00:00 3436 1

原创 Linux中修改文件名的三种方法

在Linux操作系统中,对文件名的修改是一项常见且至关重要的操作。文件名修改的需求多样,包括但不限于:促进文件组织的清晰性、确保命名符合特定规则,以及简单地修复拼写错误。与通过图形界面直接下载后修改文件名相比,采用命令行方式进行文件名修改,能够带来更高的灵活性和自动化可能性,尤其在处理大批量文件时。Linux系统提供了多种修改文件名的方法,以下将介绍三种常见方法,分别阐述其适用场景及易用性等级。以下是三种常见的方法,每种方法都适用于不同的场景:适用场景: 适用于简单的文件或目录重命名,也可用于移动文件或目录

2024-01-16 09:53:05 767

原创 linux如何创建文件教程分享

今天来和大家分享下在linux下如何创建文件,以下是几种可用的命令。

2024-01-15 14:25:13 584

原创 IC设计入门——异步FIFO

在异步FIFO中,数据读取和写入操作使用不同的时钟频率。由于写入和读取时钟不同步,因此称为异步FIFO。通常,这些用于数据需要从一个时钟域传递到另一个时钟域的系统中,这通常称为“时钟域交叉”。因此,异步FIFO有助于在两个工作于不同时钟的系统之间同步数据流。

2024-01-12 14:22:30 1656

原创 如何在 Microsoft Edge 浏览器中启用自动刷新

安装扩展程序后,转到要启用自动刷新的网站,然后单击该扩展程序。然后,您可以添加、删除和管理用于配置刷新间隔的计时器。无论您是跟踪实时体育比分、监控股价还是关注突发新闻,启用自动刷新都可以为您省去手动更新网页的麻烦。截至目前,Microsoft Edge不提供内置的自动刷新功能。在这篇博文中,我们探讨如何在 Microsoft Edge 浏览器中启用和管理自动刷新功能。虽然 Microsoft Edge 本身不支持自动刷新,但可以通过第三方扩展轻松添加此功能。在扩展商店中,搜索“自动刷新”。

2024-01-11 14:06:17 963

原创 windows配置电脑网络ip地址的方法

IP地址基本上是网络上设备的标识符,它有助于向网络上的特定设备发送信息。集合中的每个数字的范围可以从 0 到 255。IP 地址提供了一种执行此操作的方法,并构成了互联网工作方式的重要组成部分。IPv4 地址是一个 32 位数字,用于唯一标识计算机上的网络接口。8. 转到“属性”,然后单击“使用以下 IP 地址”单选按钮以手动添加 IP 地址。2.在对话框中,找到“网络和Internet”选项,然后单击它。3.将出现一个新菜单,找到左侧的“网络和共享中心”。9. 输入您的 ISP 提供的详细信息。

2024-01-10 14:11:31 1368

原创 Vscode 上安装 Copilot

GitHub Copilot 是由 OpenAI 和 GitHub 开发的 AI 工具。其目的是通过自动完成代码来帮助开发人员使用集成开发环境 (IDE),如 Visual Studio Code。它目前仅作为技术预览版提供,因此只有已在候补名单上被接受的用户才能访问它。对于使用 Python、JavaScript、Ruby、Go、TypeScript 和 Ruby 编写代码的开发人员来说,它是最有效的。确保已经安装了Vscode。

2024-01-10 09:26:43 2045 2

原创 IC设计入门——用verilog编写半加器

半加法器是一种基本的组合设计,可以将两个单位和结果相加到一个总和中,并将进位作为输出。S = A ^ B由于半加法器只考虑两个位,因此除了添加两个单位外,它不能容纳先前生成的结果中的额外进位。因此,它被称为半加法器。一个完整的加法器被设计用于容纳上一级的额外进位。

2024-01-09 10:13:26 966

原创 Copilot在PyCharm的应用

从个人的角度来讲,它带给我们的是更加便捷轻巧,当然,不能完全把它当作一个偷懒的工具,在一些灵活性逻辑比较复杂的一些功能上还需要我们自己验证,否则之后编译出错,你自己都找不到在哪里出问题。我使用下来它最实用的功能并不是说它的智能输入代码,而是它能够结合你实际业务代码的上下文进行预测你下一步的代码,会根据你的代码格式代码规范进行编写。除了以上的这些功能,你还可以在自己的业务代码里面尝试写一个新的方法,它会很智能的给出相关建议(需要自己确认一遍是否有误)点击sign up 使用自己的github账户。

2024-01-08 15:09:04 1657

原创 IC设计入门——同步FIFO

先进先出 (FIFO) 是一个非常流行且有用的设计模块,用于模块之间的同步和握手机制。FIFO中的插槽或行数称为FIFO的深度。的宽度:每个插槽或行中可以存储的位数称为FIFO的宽度。FIFO有两种类型在同步FIFO中,数据读取和写入操作使用相同的时钟频率。通常,它们与高时钟频率一起使用以支持高速系统。

2024-01-06 01:00:00 610 1

原创 Copilot 插件的使用介绍:如何快速上手

Copilot 插件的使用介绍

2024-01-05 09:56:13 1498 1

转载 白嫖GPT4,Dalle3和GPT4V - 字节开发的Coze初体验!

白嫖GPT4,Dalle3和GPT4V - 字节开发的Coze初体验!

2024-01-04 11:00:37 1068 2

原创 一分钟学会Linux软链接

软链接,也称为符号链接,是类 Unix 操作系统中的一项强大功能

2024-01-04 10:44:54 833 1

原创 【Microsoft Edge】如何彻底卸载 Edge

新版Edge到底如何卸载?

2024-01-03 09:53:19 1050 1

原创 Windows系统:从初版至今的辉煌历程

Windows系统:从初版至今的辉煌历程

2024-01-02 15:55:17 1238 1

转载 PCI-Express-Technology第三章翻译-PCIe配置概述

PCI-Express-Technology第三章翻译

2024-01-02 10:15:45 176 1

原创 一文看懂什么是Linux操作系统

Linux 操作系统是一种类似于 Unix 的操作系统,它建立在 Linux 内核之上。Linux 内核就像操作系统的大脑

2024-01-02 09:45:17 1114 1

原创 一些Linux宝藏学习网站(包括科学上网)

Linux宝藏学习网站(包括科学上网)

2023-12-29 14:35:16 587

原创 Shell脚本初学者-在linux中写Bash脚本,看完这一篇就够了

在本文中,您将学习:什么是bash shell?什么是bash脚本,如何识别它?如何创建第一个bash脚本并执行它。shell脚本的基本语法。如何查看系统的调度脚本。如何通过cron作业调度来自动化脚本。

2023-12-29 10:12:21 1488 1

原创 握手协议中ready打拍技巧

ready打拍的问题用FIFO的思路去解决用Buffer的思路去解决

2023-12-28 14:05:28 994 1

原创 Linux如何 创建 intellij-idea 快捷方式

Linux如何 创建 intellij-idea 快捷方式

2023-12-27 17:54:37 397 1

HAPS100-4F.pdf

HAPS100参数文档

2024-07-17

protocompiler-user-guide.pdf

protocompiler使用指导,用来生成haps中fpga使用的bit流文件

2024-07-17

08学习资料和课程笔记(非考研)

资料构成 王道考研ppt 王道考研思维导图 个人笔记

2023-12-28

数字IC设计笔试面试经典100题

"这本书精心囊括了市场上各大企业的IC设计面试题,不仅仅是一本普通的面试指南。它是设计工程师梦想成真的宝典,是初涉IC设计领域的新手们的指南针,也是经验丰富的老手回顾和深化知识的宝库。在这些页面里,你会发现从基础电路理论到复杂集成电路设计的深入讨论,从晶体管的工作原理到芯片架构的复杂布局的详尽解析。它不仅仅汇集了各大企业的面试题,更融合了业界专家的智慧和见解,每一页都充满了行业的深度和广度。这本书不仅是求职者的教科书,更是任何渴望在IC设计领域里留下足迹者的灯塔。"

2023-12-27

异步FIFO设计的仿真与综合技术

fifo通常用于安全地将数据从一个时钟域传递到另一个异步时钟域。使用FIFO将数据从一个时钟域传递 到另一个时钟域需要多异步时钟设计技术。FIFO设计错误的方法有很多。FIFO的设计方法有很多, 但 仍然难以对设计进行合理的综合和分析。 本文将详细介绍一种方法, 用于在测试“FIFO满”或“FIFO空”条件之前, 使用同步到不同时钟域的Gray 代码指针来设计, 合成和分析不同时钟域之间的安全FIFO。包括完全编码, 综合和分析的RTL Verilog模型 。

2023-12-26

AI芯片作用,基本组成部件,原理介绍

AI 芯片的作用,什么是训练什么是推理。 NVIDIA A100,H100的主要架构和参数包括运算峰值,运行主频率,存储大小,通信带宽。 芯片片上网络,DMA 传输引擎,PCIE 接口,DDR/HBM

2023-12-26

ELEC6233南安普顿大学课程设计

systemC实现的counter和adder

2023-12-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除