- 博客(28)
- 资源 (12)
- 收藏
- 关注
原创 关于FPGA如何快速生成模块的例化模板(实用)
vivado的例化模板在生成IP中自动生成,如下,在工程source中找到所要例化的IP,红色框中的.veo文件中即是该IP的verilog 例化模板,而红色框上面的.vho文件中即是该IP的vhdl例化模板。此时,如果子模块的输入输出接口比较多的时候,手动去巧例化的模板就是一件非常枯燥乏味浪费时间的事情,本文,在结合平时做项目中的经验,对快速生成模块的例化模板作了一个总结,望能对各位实操应用中有所帮助。a) 选择如下第一个红框中的+,选择自己设计模块的路径,然后再选择ok,即可将模块添加到当前的工程中。
2023-03-31 22:29:51 4679 9
原创 关于FPGA远程更新bpi flash中multiboot的实现
如上点击当前的fpga芯片,可以找到boot status 寄存器,当寄存器中的 BIT0_0_BACK为0 时候,表示这时候跑的是multiboot image的程序,如果BIT0_0_BACK为1 时候,表示这时候跑的是golden image的程序。,常用于远程加载场景中,当远程加载失败时,flash会启动应急预案,将另一块地址的备用程序拿来作为加载FPGA的程序,防止由远程固化失败导致的FPGA启动不了的情况。,且这里的0x0800000地址,因为这里使用的是bpi x16的数据模块,因此。
2023-03-30 22:22:06 2591 10
原创 AES算法中S盒的FPGA实现 II
在 AES算法中S盒的FPGA实现 I 中简介了S盒的解释和具体的内容, 本篇博客, 主要讲解如何在FPGA中实现S盒。2.2 双端口RAM的调用2.4 S盒实现工程的说明主模块(test_s_box)分为两部分,一部分调用双端口RAM ip核,例化了32个位宽4bit,深度16的双端口RAM,用于存储32 个 S-Box 的总空间为 256 字节(=8×256bit)的数据。RAM的读地址为ADDR0-ADDR31,主模块中通过数据选择器实现了读地址的逻辑以及实现了输出信号Sbox_4_Dout和
2023-03-26 15:26:12 514 1
原创 AES算法中S盒的FPGA实现
在密码学中,S盒(Substitution-box)是对称密钥算法 ,执行置换计算的基本结构。S盒用在分组密码算法中,是唯一的非线性结构,其S盒的指标的好坏直接决定了密码算法的好坏。
2023-03-26 15:02:43 1047
原创 SM3哈希算法的FPGA实现 II
如上方框中代表的是 数据的输入 以及最后SM3哈希算法的输出。上篇博客写了SM3哈希算法的解释和具体算法的实现步骤,这节博客来具体说怎么使用FPGA实现SM3哈希算法。分为 :1.填充 2.迭代与压缩 3.计算拼凑值。语言 :verilog。EDA工具:quartus II。仿真工具: Modelsim。
2023-03-26 14:29:43 756 7
原创 SM3哈希算法的FPGA实现 I
安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。SM3算法也是一种哈希算法,中国国家密码管理局在2010年发布,其名称是SM3密码杂凑算法。在商用密码体系中,SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等。
2023-03-26 14:10:07 1158 2
原创 Vivado如何对固化选项里没有的FLASH进行烧写?
在固化时,会遇到找不到flash器件的问题,这里稍微作个总结: (针对xinlinx的芯片)1,常见的厂家有 :镁光,issi, spanish 等,在vivado固化器件的选项里也只有这几家的。2,但是vivado还是支持另外一些厂家的flash芯片的,每个厂家都有固定的id,,比如今天遇到的winbond厂家,flash就是支持的。(补充:winbond 的只支持128M及128M以下的)
2023-03-13 16:46:00 4215
原创 基于FPGA的AD5753(DAC数模转换器)的控制 I(SPI驱动)
AD753 单通道、16位电流和电压输出DAC,提供动态功率控制和HART连接。
2023-03-08 00:00:32 1609 1
原创 基于FPGA的ADI7301art 温度传感器的控制 II(FPGA驱动代码)
基于FPGA的ADI7301art 温度传感器的控制 II引言通过FPGA 完成对ADI7301art芯片的控制,读取温度数据。2、FPGA
2023-02-24 16:51:26 493 3
原创 Altera 的SOC器件之将自定义的IP挂在ARM硬核下(通过avalon总线),实现arm核与IP之间的通信
软件: Quartus II 17.0芯片: ALTERA Cyclone5 5CGXFC7C7F23C8语言:Verilog在文件中添加自己的ip (工程里所有的用到的.v文件,最后设置顶层,,,,后面还有仿真文件的添加这个没用过)点 Analyze Systhesis File 用来分析语法错误。在add interface里新增一个conduit,是自己ip另外输出的接口,,,复位信号也新增一个,,,剩下的是默认的avalon总线的内部线。
2023-02-23 18:53:41 539
原创 解决ISE 编程中遇到的bug I
时钟没有在mrcc和srcc这种专用时钟管脚上,而是普通的io口,,就需要选择为no buffer,并且在输入时钟上添加buff原语。: 这个问题是因为管脚在io口上定义了,但是没有到数据输出。把对应的数据给上值就行,哪怕是初值。重启软件,重新下载bit都没用。重新启动电脑后可以找到硬件了,问题得到解决。:将pll中时钟的来源做出改变,选择global buffer 错误就会消失。普通io口不能作为pll输入?可是MRCC的时钟也是专用时钟管脚。
2023-02-17 14:16:39 1694
原创 解决VIvado编程中遇到的bug I
*解决:**在去掉get_ports {led4_tri_io[0]} 中的 {} 后, bit就能顺利生成了。vivado中同时调用XADC核和DDR3核时,会报错 上述错误,这个问题很常见,reg变量被在不同的always模块同时赋值。:将DDR3核中xadc部分设置为disable。
2023-02-17 13:37:45 8612 1
原创 使用Moore状态机和Mealy状态机设计序列检测器 II
Mealy型的输出跟当前的状态以及当前的输入是有关,所以可以在当前输入有变化时候,直接作用于状态机的输出;而Moore型与当前输入无关,当前输入变化的时候需要等到时钟的同步才能作用于状态机的输出,因此Moore型状态机比Mealy状态机延迟一个Clk,这是Mealy状态机和Moore状态机的区别,本文采用了Mealy型的状态机去设计序列检测器,采用Moorly型状态机的设计在后文《使用Moore状态机和Mealy状态机设计序列检测器 I 》
2023-02-17 12:00:00 293
原创 使用Moore状态机和Mealy状态机设计序列检测器 I
有限状态机(FSM)是时序电路设计中经常用到的一种方式,尤其适用于设计数字系统的控制模块,其配合Verilog的case语句尅很好的描述基于状态机的设计。根据输出信号的产生方法的不同,可以将状态机分为 Mealy型和Moore型。简单的来说,Mealy型的输出跟当前的状态以及当前的输入是有关的,而Moore型的输出只跟当前的状态有关系。即 当Moore型的状态机输入有变化时,需要等到时钟的到来,才会使Moore型状态机的输出变化,依赖于时钟的同步。
2023-02-16 16:37:25 688
原创 vivado MicroBlaze 软核学习
Local Memory Bus (LMB) Block RAM (BRAM) Interface Controller 是一个连接 LMB 的模块。LMB BRAM 接口控制器是 LMB 和 BRAM 模块外设之间的 接口。一个 BRAM 内存子系统由控制器和实际 BRAM 组件组成,这些组件随 BRAM 模块外设提供。配合BRAM IP 使用。同一个axi的总线上,地址是不能重复的,需要分段分配,不同的axi总线上,地址是不想相关的。原理图的axi总线的分布与 地址编辑器里的地址分配是一一对应的。
2023-02-16 12:53:04 997
原创 关于 xilinx sdk软核elf文件与xilinx vivado bit文件合并的方法
在使用软核时候需要注意将软核的程序与vivado程序合并起来,这样在下载合并的bit文件后,即可启动对应的软核程序。有错误疑问的地方欢迎评论留言交流。
2023-02-09 12:00:00 2694
原创 关于 【vivado ila debug时 高级触发的使用】之 改变ILA采样频率
在工程中定义一个触发条件寄存器,在ILA高级设置中将此寄存器作为附加的触发条件,则可利用此触发条件实现对采样频率的分频,即如果该触发条件100个系统时钟拉高一次,则实现了采样频率的100分频, 再加上VIO的配合,则可以实现对ILA采样时钟的整数倍分频。这种方法一劳永逸,可随意切换ILA的采样频率,以达到想到的Debug结果,在工程调试中能起到事半功倍效果。调试过程中,对debug工具的熟悉会使得调试过程更有效率。如有错误和疑问的地方欢迎留言交流,共同进步。
2023-02-08 17:56:47 3388
原创 [FPGA 固化 下载] altera Quartus jic flash固化步骤
1.在修改代码后,综合,编译,生成sof文件;2.点开jic生成页面 ,如下3.如下:红框中选择 jic 和 板子对应的flash ,这里是EPCQ128然后 点击flash loader ,在右侧选择 add deveice,选择对应的fpga器件3.添加sof文件4.压缩代码打勾,点ok 即可5.下载
2022-10-19 10:22:18 1236
原创 20221011 关于工程中jesd204b IP的破解问题
在vivado中查看IP的状态 发现 IP状态只到2019年 ,同时在换了好几个网上的license无果的情况下, 发现。注意这种弄个方式申请IP,应该只能当前电脑可以使用。然后继续生成bit,发现还是会报错,如下。使用软件 vivado 2020.02。发现在重新跑bit流之前,需要将工程中。申请之后,IP状态显示为正常状态,最后bit生成成功!
2022-10-11 13:35:08 1692
原创 0315 FPGA的浮点数处理 I
在进行复杂的运算时,常常会涉及到小数操作,而对于FPGA来说,只认整数,不认小数。这时便有两种处理方式,第一,将小数扩大2的次方倍,直至小数扩大到整数,然后进行处理运算,第二种便是使用浮点和顶点数表示数据,然后进行运算。这时会遇到下一个问题,在FPGA中 定点和浮点的运算是怎么样的?
2022-03-15 15:49:48 1664
原创 quartus 中直接引用的延时模块(Modelsim已验证)
已验证 quartus 中直接引用的延时模块软件:Quartus语言:Verilog引言在设计时序时,我们经常要用到延时模块,即将某个信号进行延迟N个clk处理。在Quarus中有可以直接引用的原语模块,按照格式直接调用即可,方便快捷,可以缩短工程的开发周期。1、模块调用格式lpm_shiftreg LPM_SHIFTREG_component ( .clock (clk), .shiftin (data_in),
2021-11-19 15:00:27 3495
原创 基于FPGA的ADT7301art 温度传感器的控制 I
基于FPGA的ADI7301art 温度传感器的控制 I引言通过FPGA 完成对ADI7301art芯片的控制,读取温度数据。1、ADI7301芯片资料1.1 基本参数:1. 13bit的AD转化数据。2. 测量温度范围:-40到150°3. 测量准确度正负0.5°4. 测量精度 0.03125°,该参数与准确度不冲突,即测量温度可以精确到0.03125°,与AD采样的位数有关。5. 电源电压3.3v,功率0.631w6. 串行接口使用spi接口1.2 管脚说明:1. DIN,
2021-11-18 14:36:12 1021 6
原创 quartus中设置 systemverilog综合
引言使用quartus建立工程时,有时需要使用Systemverilog HDL语言综合程序,才能顺利通过编译,这时需要在quarus软件中手动设置。解决步骤quartus ———assigniments———settings———Compiler Settings———Verilog HDL input———systemverilog...
2021-09-27 14:30:37 2796
原创 ISE在win10中闪退解决方法以及ISE14.7安装包
安装ISE14.7时遇到闪退的情况,可使用如下方法解决。(亲测有用)找到程序安装路径下的这两个文件夹:X:\Xilinx\14.6\ISE_DS\ISE\lib\nt64X:\Xilinx\14.6\ISE_DS\common\lib\nt64首先在第一个文件夹中,重命名libPortability.dll为libPortability.dll.orig,然后复制 libPortabilityNOSH.dll 的一个副本并重命名为libPortability.dll,这样你就又有一个libPor
2021-05-01 14:43:59 4652 4
原创 Rapidio(SRIO) 在ISE上的应用
Rapidio(SRIO) 在ISE上的应用软件: ISE 14.7芯片: XILINX V7 325T ffg900语言:Verilog引言近期,在ISE上完成了Rapidio(SRIO)高速接口的驱动。将期间遇到的问题和解决方案进行整理,方便诸君需要时查看,少走弯路。1.1 Rapidio(SRIO)IP的调用图1图2在图2的IP中搜索 Serial Rapidio Gen2,打开参数设置界面如图3。图3方框中是系统参数设置,从上到下是:链路宽度、传输速度和参考
2021-03-19 22:47:52 2118 17
原创 关于ISE ILA和VIO的使用
最近需要在ISE平台上验证GTX高速接口的数据传输,在ISE平台上首次用到了ILA逻辑分析仪,故将使用过程中的问题和大概流程整理出来。ISE平台ILA和VIO的使用软件:ISE 14.7芯片: XILINX V7 690T 1176语言:Verilog引言ila和vio的基础知识就不多说了,简单来说,就是为了方便观察FPGA内部信号,设置的一种工具。XILINX对应ILA,ALTERA对应signaltap,功能都是类似,使用方式稍有不同。vio可以作为寄存器给FPGA中提供信号值 ,即可以
2021-03-17 14:43:06 11620 6
原创 vivado一直处于 initialiazing design
viviado在编译过程中一直处于初始化设计(initialiazing design)的状态,维持了很长时间,重新编译也是同样的问题。
2021-03-16 11:35:59 4164
原创 一步一步学习zynq
阴差阳错的选了xilink的板子zedboard,不管这里的水有多深都的要趟过去了,没有回头路。想想自己嵌入式的一大块空白,就有点后背发凉,硬着头皮往前冲。 第一个博客注定是水的,兹当给自己立一个flag,那么接下来不定期的更期来表示学习zynq的心路历程,板子还没到,我先提前熟练下整个设计流程以及大方向上的把握。各位仁人志士,可作指正,不胜感激。
2018-12-27 21:15:15 984 3
FPGA驱动-ADT7301驱动-Verilog代码-温度采集-源码仿真+数据文档
2023-02-25
网络监控 嵌入式系统程序+Linux;web服务器;CGI;AJAX、
2023-02-22
FPGA设计之 使用Mealy状态机 设计序列检测器“101001”
2023-02-16
FPGA设计之 使用Moore状态机 设计序列检测器“101001”
2023-02-16
室内环境数据远程采集系统设计 单片机;数据监测;设计 设计中采用了温湿度传感器和光强度传感器,通过蓝牙进行实时数据采集,保证系统
2023-02-09
DHT11温湿度传感器_数码管_报警_DE2_70源码已上板验证
2021-08-06
lms自适应滤波算法提取胎儿心电fpga实现
2018-12-27
文献查阅的方法和技巧.ppt
2018-09-24
vivado 添加自定义ip 报错
2023-07-13
xilinx vivado foga 软核 axi spi
2023-03-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人