自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【EDA软件】【示例插入介绍】

FPGA工程师开发过程中,会遇到语法规则忘记的情况。FUXI软件提供基本的语句示例,可供开发者查看,而不用通过在线查找搜索。

2025-11-01 09:48:33 191

原创 【EDA软件】【文件合并烧录操作方法】

使用者在BOOT+APP开发模式下,需要先将ARM BOOT程序的*.hex与FPGA的程序打包为*.acf文件,在开发生成ARM APP的*.hex文件。分两步将*.acf烧录到FLASH 0地址开始的地址空间,将APP的*.hex烧录到FLASH 非0地址(需要根据*.acf大小合理划分地址,保证一个原则不能覆盖*.acf的数据区域,例如:0x300000)。这样需要两次烧录才能让芯片正常运行开发的功能。

2025-10-28 19:43:51 212

原创 【ARM驱动】【FreeROTS移植到ARM驱动平台介绍】

裸机:裸机又称为前后台系统,前台系统指中断服务函数,后台系统指大循环,即应用程序。裸机缺点:a. 实时性差,应用程序轮流执行;b. 空等待,CPU不执行其他代码;c. 结构臃肿,实现功能都放在无限循环。RTOS特点:RTOS全称为:Real Time OS,就是实时操作系统,强调的是:实时性。a. 分而治之,实现功能划分为多个任务;b. 延时函数,任务调动;c. 抢占式,高优先级任务抢占低优先级任务;d. 任务堆栈,每个任务都有自己的栈空间;注意1:中断可以打断任意任务。

2025-10-26 18:38:17 925

原创 【EDA软件】【代码移植批量加载方法】

使用者移植xilinx,altera,lattice,elitestek芯片平台代码到京微齐力芯片平台上。原工程比较大文件多,单文件添加效率低下,直接文件添可能会导致EDA挂死。

2025-09-23 16:52:16 286

原创 【EDA软件】【码流压缩操作方法】

EDA软件编译后生成码流文件大小会影响烧录的效率,为此FUXI有专门的设置选项可实现码流压缩,提升烧录固件效率。

2025-09-22 19:25:51 200

原创 【EDA软件】【Export Hsoc Platform和hsocbit的操作方法】

由于客户工程师对不同代码有一定的权限设置。举例:FPGA开发工程师无权访问ARM开发工程师的代码,ARM开发工程师无权访问FPGA开发工程师的RTL代码。

2025-08-04 11:08:49 849

原创 【EDA软件】【联合Modelsim 同步FIFO仿真】

使用者完成功能RTL代码开发,需要进行功能仿真。RTL代码中可能使用了IP,使用者不知道这些IP的仿真库文件。

2025-06-28 21:41:59 971

原创 【EDA软件】【应用功能子模块网表提供和加载编译方法】

使用者做FPGA应用开发,将开发成果交给自己的客户,但是并不想提供RTL源码以及加密的源码,只想提供网表文件。

2025-06-25 18:44:08 373

原创 【EDA软件】【Modelsim结合编译过程文件进行功能仿真】

1.1 使用者移植xilinx,altera,lattice,elitestek芯片平台代码到京微齐力芯片平台上,用FUXI编译代码生成的*.acf文件,然后烧录*.acf到板子上(开发板或者真实应用板),验证结果黑盒功能不正确;1.2 对RTL代码功能仿真,验证结果功能正确;1.3 使用FUXI的debugware在线调试,抓取的数据不正确。

2025-06-17 14:06:21 344

原创 【EDA软件】【联合Modelsim仿真使用方法】

业界EDA工具仿真功能是必备的,例如Vivado自带仿真工具,且其无需联合外部仿真工具,当然也可以联合外部工具,例如MoodelSim。FUXI没有独立的仿真功能,需要联合第三方软件,Modelsim是常用的第三方软件。

2025-05-17 19:28:25 1665 2

原创 【经验总结】【乘法替换方法】

客户将原器件(xilinx,altera,lattice,elitestek)平台代码移植到京微齐力器件平台时,代码中可能存在大量的乘法语句。原器件厂商的EDA工具可以将乘法映射到DSP的资源,且能够正确的统计资源的使用情况。A*B形式有益与客户的灵活使用,但是EDA软件本身需要进行复杂的映射以及合并,不益与EDA本身;为了减少EDA的复旦,可以根据场景例化DSP IP核。

2025-05-13 20:04:30 856

原创 【EDA软件】【设计约束和分析操作方法】

设计约束主要分为物理约束和时序约束。物理约束主要包括I/O接口约束(如引脚分配、电平标准设定等物理属性的约束)、布局约束、布线约束以及配置约束。时序约束是FPGA内部的各种逻辑或走线的延时,反应系统的频率和速度的约束。

2025-04-19 18:18:16 628

原创 【EDA软件】【自动分配IO管脚查找方法】

详述:顶层文件需要的输出输出信号,需要对IO进行分配硬件设计指定的管脚。但是会存在工程师不仔细遗漏分配,输入信号没有分配会导致内部逻辑错误,功能不正常;输出信号没有分配会导致外部器件功能不正确。解释:EDA软件会默认自动分配管脚,但是不会在软件上直观看到,需要通过过程查看。自动分配的管脚还需要查看硬件设计中该自动分配管脚的物理状态。背景:工程师开发过程中,对IO管脚未手动指定分配物理管脚,导致功能异常。以上pluse和value没有手动分配管脚,软件自动分配后的结果。pr.aoc文件查看如举例下图。

2025-04-11 16:34:46 215

原创 【EDA软件】【常用指令说明】

注意:芯片会退出user mode,然后复位一次。读取FLASH的存储码流的内容。3.acf转bin文件的方法。

2025-03-31 17:22:20 307

原创 【EDA软件】【Debugware使用方法】

在线问题定位或者固件上板调试,该功能等同xilinx的MARK DEBUG功能。

2025-03-31 17:04:39 271

原创 【EDA软件】【ixplorer操作方法】

Save all flow files:保存ixplore生成的文件,可以进行时序等分析。使用与客户匹配的FUXI工具,创建新的工程文件名称与*.aoc的前缀一致;1.2 constraint文件夹,文件夹中的时序约束文件*.sdc;将新建工程下的constraint文件添加*.sdc文件;会生产10个结果,上板加载生产的*.acf文件,验证结果。5.创建ixplore文件,并设置参数并保存;将新建工程下的outputs文件全部替换;与*.hpr同级目录下添加*.aoc文件。6.设置操作参数,如下图;

2025-03-31 16:48:56 471

原创 【EDA软件】【批处理文件方式执行FUXI软件操作方法】

当客户需要构建自动编译工程时,只需要更新constraint、src、ip_core文件夹,*.hpr,*.aoc,*.hex,其它多余文件和文件夹可以删除的。因为命令行构建不能生成console.log,可以通过批处理重定向到日志文件,如下最后一行代码。通过windows操作系统,可以帮助客户建立任务,定时执行该脚本。1. 点击windows,搜索栏搜索“任务计划程序”;背景:客户需要部署自己的自动化工程,方便其版本发布。如果想删除任务,可以删除如上图。上图显示任务在就绪,待运行。

2025-03-17 08:46:26 234

原创 【EDA软件】【远程烧录调试操作方法】

1. 远程机开启jtagserver服务,FUXI工具安装路径点击\bin\jtagserver.exe;解决方法:通过FUXI的JtagServer,可以实现本地编辑码流,远程烧录到测试环境上。5.本机点解Connect,查看可否连接到JTAG server,一般会有如下提示。背景:测试环境不在自己PC旁边,不想自己搭建一套环境。2.远程机设置JTAG Server端口号;4.本机填写远程测试机的IP地址和端口号。这样就可以实现远程烧录调试。

2025-03-17 08:28:44 258

原创 【EDA软件】【模块资源统计操作方法】

第一步:菜单Tools->Option->Systhesis->Advanced,勾选Keep Hierarchy。以上图片可以看到有两个K_CU11_P_DP,上者是一级模块和二级模块的资源统计;下者是对二级模块的展开资源统计。背景:FPGA工程师需要获知完成RTL代码所占用的资源使用情况,包括模块级和*.v级别。也可以在软件上,点击该文件查看,如下图的红色框,软件会回显资源的使用情况。第二步:重新跑工程或者运行Run Systhesis;该功能在2024年版本后才能实现。

2025-03-17 08:17:13 315

原创 【CAN介绍】【第二篇章】

•SOF):帧起始,表示后面一段波形为传输的数据位•IDIdentify):标识符,区分功能,同时决定优先级•RTR):远程请求位,区分数据帧和遥控帧•IDE):扩展标志位,区分标准格式和扩展格式•SRR):替代RTR,协议升级时留下的无意义位•r0/r1Reserve):保留位,为后续协议升级留下空间•DLC):数据长度,指示数据段有几个字节•Data:数据段的1~8个字节有效数据•CRC):循环冗余校验,校验数据是否正确•ACK。

2024-11-20 09:09:43 587

原创 【CAN介绍】【第一篇章】

•CAN总线()控制器局域网总线•CAN总线是由BOSCH公司开发的一种简洁易用、传输速度快、易扩展、可靠性高的串行通信总线,广泛应用于汽车、嵌入式、工业控制等领域•CAN总线特征:▶ 两根通信线(CAN_HCAN_L),线路少▶ 差分信号通信,抗干扰能力强▶ 高速CANISO11898):▶ 低速CANISO11519):▶ 异步,无需时钟线,通信速率由设备各自约定▶ 半双工,可挂载多设备,多设备同时发送数据时通过仲裁判断先后顺序▶ 11位/29。

2024-11-14 08:58:40 731

原创 常用文件哈希值获取方法

‌,也称为文件散列值或哈希值,是将文件内容通过哈希算法转换成的固定长度的小数值。这个转换后的数值非常独特和紧凑,即使文件内容发生极微小的变化,产生的哈希值也会截然不同。这意味着每个文件都有其独特的哈希值,类似于人的指纹,可以用来唯一标识文件。举例常用的md5和sha256值在Linux和windows下的获取方法。命令会输出文件的SHA256哈希值,以及文件名。命令会输出文件的SHA256哈希值,以及文件名。命令会输出文件的MD5哈希值,以及文件名。命令会输出文件的MD5哈希值,以及文件名。

2024-10-31 09:33:07 1894

转载 ARM(Cortex-M4启动过程)

Cortex-M4复位后首先从默认向量表处读取SP初始值和PC初始值。为了让Cortex-M4复位后立即有可用的复位向量,必须将向量表存储在ROM中,然后在初始化过程可选地将向量表地址映射到其它区域。向量表的定义如下:DCD 0;Reserved;

2024-10-26 22:11:53 558

原创 UART原理

先保留原理图,后期更新。

2024-10-24 18:14:03 170

原创 【C语言】内联函数

static是静态修饰符,由其关键字修饰的变量会保存到全局数据区,对于普通的局部变量或者全局变量,都是由系统自动分配内存的,并且当变量离开作用域的时候释放掉,而使用static关键字来修饰,只有当程序结束时候才会释放掉,使用static inline修饰时,函数仅在文件内部可见,不会污染命名空间,另外,函数在运行过程中也会分配内存空间,但是由于static的存在,就和修饰变量类似,它只会开辟一块内存空间。inline关键字是C99标准的型关键字,其作用是将函数展开,把函数的代码复制到每一个调用处。

2024-08-11 09:16:31 1353

原创 CXL咨询收集

1.

2024-08-08 17:30:33 204

原创 函数指针和指针函数

ptr是指向函数的指针变量,所以可把函数max()赋给ptr作为ptr的值,即把max()的入口地址赋给ptr,以后就可以用ptr来调用该函数,实际上ptr和max都指向同一个入口地址,不同就是ptr是一个指针变量,不像函数名称那样是死的,它可以指向任何函数,就看你想怎么做了。这两个概念都是简称,指针函数是指带指针的函数,即本质是一个函数。1. “函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可少,后面的“形参列表”表示指针变量指向的函数所带的参数列表。

2024-08-08 08:06:54 1166

原创 《道德经》【第四章】

大“道”空虚开形,但它的作用又是无穷无尽。消磨它的锋锐,消除它的纷扰,调和它的光辉,混同于尘垢。⑨湛(zhan):沉没,引申为隐约的意思。段玉裁在《说文解字注》中说,古书中“浮沉”的“沉”多写作“湛”。锉其兑⑤,解其纷⑥,和其光⑦,同其尘⑧。连同上文“湛呵”,形容“道”若无若存。参见第十四章“无状之状,无物之象,是谓惚恍”等句,理解其意。⑤锉其兑:锉(cuo):消磨,折去。挫其锐,解其纷,和其光,同其尘。以上四个“其”字,都是说的道本身的属性。①冲:通盅(chong),器物虚空,比喻空虚。

2024-04-07 22:19:56 357

原创 关于多信号量打拍的方法讨论

分析以上代码,pkt_vld、pkt_sop、pkt_eop都是控制信号量,信号量打拍需要复位。pkt_data是数据信号量,信号量打拍不需要复位,这样也节省功耗。在实际工作中,由于时序的原因必须对相关信号打拍(用D触发器实现)以满足设计要求。当打拍数增加或者需要打拍的信号量增加,代码长度明显会增加,并且不易扩展。当信号量增加或者打拍数改变,只需要修改输入、输出信号量和参数,容易扩展。虽然以上代码看起来很直观,但是这样么有规律的事情什么不做一个CBB呢?若有不正确的地方,欢迎大家指正。

2024-04-02 23:46:04 430 1

原创 《道德经》【第三章】

不显耀足以引起贪心的事物,导使民心不被迷乱。因此,圣人的治理原则是:排空百姓的心机,填饱百姓的肚腹,减弱百姓的竞争意图,增强百姓的筋骨体魄,经常使老百姓没有智巧,没有欲望。圣人按照“无为”的原则去做,办事顺应自然,那么,天才就不会不太平了。是以圣人之治,虚其心,实其腹;是以圣人之治也,虚其心⑤,实其腹,弱其志⑥,强其骨,恒使民无知、无欲也。⑤虚其心:虚,空虚。心:古人以为心主思维,此指思想,头脑。虚其心,使他们心里空虚,无思无欲。④见(xian):通“现”,出现,显露。①上贤:上,同“尚”,即崇尚,尊崇。

2024-04-01 23:21:26 283

原创 关于二进制转格雷码的方法讨论

因为方法1计算过程:格雷码值当前位等于二进制当前位与高一位相异或,只有最高位是赋值相等。从公式中可以看出,格雷码的最低位g[0]等于b[0] ^ b[1],以此类推格雷码的次高位g[n-2]等于b[n-2] ^ b[n-1],而最高位等于g[n-1]=b[n-1]。通过对以上代码的分析,因为最高位直接赋值,因此应该有7个LUT2资源的消耗,该LUT2用于做异或运算,综合出的电路图如下,符合预期。因为是异或运算,因此也可以通过比较实现,二者相同赋值1‘0,否则赋值1'b1。b表示二进制值,g表示格雷码值。

2024-04-01 23:11:07 1204

原创 关于以FIFO+RAM方式缓存报文的资源讨论

根据a、b、c三点,一个最大报文以256字节可以切成64个信元,因此需要占用RAM 4096个地址资源,需要占用FIFO 64个深度资源;从这一方面考虑RAM的深度为2*4096=2^13,FIFO的深度是128=2^8。根据a、b、c三点,一个最大报文需要占用RAM 1024个地址资源,要是背靠背再来一个最大报文,还得再需要RAM 1024个地址资源。从这一方面考虑RAM的深度为2*1024=2^11,FIFO的深度是2。因此FIFO深度是256=2^8,RAM深度是2*1024=2^11。

2024-03-31 09:01:34 1136 1

原创 《道德经》【第二章】

天下皆知美之为美,斯恶(è)已;皆知善之为善,斯不善已。故有无相生,难易相成,长短相较,高下相倾,音声相和(hè),前后相随。是以圣人处无为之事,行不言之教,万物作焉而不辞,生而不有,为而不恃,功成而弗居。夫(fú)唯弗居,是以不去。

2024-03-27 22:46:34 444 1

原创 RTL编码之“以太网报文地址按照掩码匹配白名单的方法“

在数据通信中,以太网报文是非常常见的报文类型。数据处理中经常遇到对特定“地址”的报文做相应的处理,例如对DMAC 是ab-cd-11-22-33 上送CPU,或者丢弃等等。因此需要首先匹配特定报文,然后再做特定处理。

2024-03-27 22:18:22 1187 1

原创 《道德经》【第一章】

道可道,非常道;名可名,非常名。无名天地之始,有名万物之母。故常无欲,以观其妙;常有欲,以观其徼(jiào)。此两者同出而异名,同谓之玄,玄之又玄,众妙之门。

2024-03-26 22:31:26 321

原创 FPGA学习路径思维导图

入门路线:

2024-03-24 12:14:10 647 1

原创 逻辑能力思维导图

逻辑开发/数字设计。

2024-03-24 11:56:58 219

原创 UVM功能验证之编译脚本

1. top_tb、env、agent、reference model、scoreboard、interface、driver、monitor、sequencer、seqence、base_test、两个测试用例;以上内容简单介绍demo验证代码的结构、运行脚本的内容和执行方法,但是并未提到波形文件的生成以及查看波形脚本,待继续总结。在UVM验证中,用到的EDA工具有QUESTA、VCS、NCSIM,为了灵活使用往往需要脚本中适配三者。该文件包含UVM代码库路径、DUT代码文件路径、top_tb.sv。

2024-03-23 23:35:35 790 1

原创 RTL编码之“基于简单双端口RAM的掩码操作方法“

一组信息包含多个相同含义的信息,例如RAM存储位宽是8bit,每bit表示一个port端口的link状态(1:linkup;每2bit中,高位表示是光模块在位状态,低位表示link状态。反过来考虑,要是每个端口占用一个地址,仅仅存储端口的link状态,这样会非常浪费资源。步骤2:地址2的0和4端口状态置为DOWN(0),然后读出结果,预期结果0xee;步骤3:地址2的1和7端口状态置为DOWN(0),然后读出结果,预期结果0x6c。步骤1:地址2所有端口状态置为UP(1),然后读出结果,预期结果0xff;

2024-03-23 10:31:38 724 1

原创 RTL编码之轮询调度方法

该调度器根据输入的队列状态和上一次队列索引,从索引+1的位置开始遍历队列,直到当前索引。,前半部分选择索引2,后半部分选择索引7,因此这次轮询选择索引2;,前半部分选择索引1,后半部分选择索引7,因此这次轮询选择索引1;,前半部分选择索引0,后半部分选择索引7,因此这次轮询选择索引0;,前半部分选择索引6,后半部分选择索引0,因此这次轮询选择索引6;,前半部分选择索引6,后半部分选择索引0,因此这次轮询选择索引6;,前半部分选择索引5,后半部分选择索引0,因此这次轮询选择索引5;

2024-03-23 00:27:51 297

BCM56820 Programmer’s Reference Guide

The BCM56820 is a highly-integrated switching family supporting Layer 2 through Layer 7 applications through built-in hardware and software. This document describes the features and architecture of the device. This document does not detail electrical specifications or register information.

2024-04-14

BCM53134M Preliminary Data Sheet

The Broadcom BCM53134M is an ultra low-power, highly integrated, cost-effective smart-managed Gigabit switch. The switch design is based on the field-proven, industryleading ROBO architecture. This device combines all the functions of a high-speed switch system including packet buffers, PHY transceivers, media access controllers (MACs), address management, port-based rate control, and a nonblocking switch fabric into a single 28 nm CMOS device.

2024-04-14

空空如也

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

TA关注的人

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