- 博客(27)
- 问答 (6)
- 收藏
- 关注
原创 关于FPGA的代码书写错误引起的时序问题
发现写数据到ram中,有两个信息跨时钟且都是写信号,会出现类似“竞争与冒险”的错误,因为有个是先写另外一个是后写,但是这两个信号同时置为“1”,且跨时钟域,又时写信号,所以它们走的内部路线可能是不一致的,有时候按照代码的意思走,所以不出现错误,但是有时候走的路线不一致从而导致发送逻辑的错误,因此修改代码,不让这个信号同时置为“1”,先让第一个置“1”后再让另一个置为“1”。根据这个现象应该是时序引起的,需要做实验定位问题是写数据有误还是读数据有误,最后通过实验分析是写数据有误。
2025-02-19 16:14:36
297
原创 fpga 初始化数值
然而,在FPGA硬件上电或复位时,没有复位逻辑的情况下,state 寄存器的初始值是不确定的(即它可以是任何值,取决于上电时寄存器的物理状态)。内部复位逻辑:在你的FPGA设计中,你可以实现一个内部复位逻辑,比如使用一个简单的计数器或状态机来检测FPGA是否已经从复位状态(通常是上电后的一个低电平脉冲)中恢复,并据此来设置state的初始值。使用外部复位信号:你可以从FPGA的外部引入一个复位信号(如按钮、上电复位电路或外部复位引脚),并在你的设计中使用这个信号来重置state。
2024-07-15 16:39:18
402
原创 altera_reserved_tck、altera_reserved_tdi、altera_reserved_tdo、altera_reserved_tms 引脚配置注意事项
altera 引脚
2024-05-09 15:47:08
1074
原创 AES加密
通过扩展密钥操作,算法可以确保每个明文块都与一个独特的轮密钥进行加密,这有助于防止重复密钥的使用,从而提高加密的效率和安全性。最后,执行扩展密钥操作也是AES算法设计的一部分,它有助于实现算法的整体目标,即提供高效、安全的加密服务。其次,IV的主要作用是,在特定时刻,根据用于初始化加密轮的IV值确定每一轮加密的起始位置,从而阻止恢复秘密。首先,IV是一个有序的、可复制的、用于加密数据的“许可”。综上所述,AES应用执行扩展密钥操作是为了确保密钥的安全性、提高加密过程的效率和可靠性,以及实现算法的整体目标。
2024-03-21 16:17:57
631
原创 Verilog 把8位的16进制转换为8位的10进制,且提取10进制的百、十和个位数的方法
1、8位的16进制转换为8位的10进制就是把第0位的数值加上第1位的数值的16倍function [7:0]Hex_to_Doc;input [7:0] num_h;begin Hex_to_Doc = num_h[3:0] + num_h[7:4]*16;end endfunction2、提取10进制的百、十和个位数a.如果该数大于等于100三位数的百位:百位数是将这个数直接除以100;三位数的十位:十位数是将这个数直接除以10再对10取余数;三位数的个位:个位数是将这
2022-03-01 15:32:26
5551
2
原创 Verilog task任务使用注意点
有关Verilog 的task用法,在此不再赘述,这此只提需要注意的地方。一、两种调用task输出情形:如何在task里面有输出,那么输出到外部寄存器是有两个时钟延时的,但如果task中没有输出,直接调用task外的寄存器的话,寄存器在下个时钟便会更改。下面举例子说明:1、带有延时//////////////////////////////////////////////////////////////////reg[7:0] bai;reg[7:0] shi;reg[7:0] bai;al
2022-03-01 15:02:35
1969
1
原创 Xilinx Chipscope 生成icon报错
Sparten6开发板的问题总结:一、ChiScope生成不了,出现不知道的错误。出现错误如:ERROR:HDLCompiler:1091 - “Unknown” Line 0: Save failed due to mkdir failure这个错误是因为你创建Chipsope这个文件没有写的工能,需要把这个文件创建在能够写的路径就可以,在网上找到比较好的解答的连接:https://china.xilinx.com/support/answers/36547.html...
2021-04-09 16:17:36
810
原创 Lattice Diamond 学习总结---“疑难杂症”杂篇
Lattice Diamond 学习总结—“疑难杂症”杂篇Lattice Diamond这款软件我经历许多奇怪的问题,因为这里没有人搞这方面的东西,都是自己摸索前进,遇到问题基本都是靠百度,但是由于这款软件很好人用,比较小众,所以我总结了一下自己的问题,然后写出来,希望能帮助到大家。问题总结1、提示错误是: 出现这错误原因有两种:第一种情况是你真的只是定义但是没有去使用。第二种情况是因为你的代码不够完善,我的代码是能通过Modelsim仿真得出结果,但是就是编译就会出现这个错误,此时你需要把那
2021-02-12 15:00:44
2914
1
空空如也
关于fpga i2c 从机 遇到的问题!(关键词-系统时钟)
2023-08-29
VERILOG 设计中有没有遇到擦除不成功的的
2021-07-15
flash W25Q64BV_spi 问题
2021-07-12
I2c通信协议疑问?????
2021-06-30
检测一个16bit的二进制序列是否是5的倍数的核心思想
2021-03-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人