- 博客(25)
- 资源 (2)
- 收藏
- 关注
原创 map和vector的区别是什么
map 和 vector 是 C++ STL(标准模板库)中不同的容器,它们有着不同的特点和用途。11.vector 是一个动态数组,适合需要随机访问、连续内存存储的场景,不适合大规模的插入和删除操作。12.map 是一个键值对的关联容器,适合需要按键进行查找、有序存储的场景,不适合频繁改变键值对结构的操作。在实际使用中,要根据具体的需求来选择合适的容器。如果需要随机访问元素,或者需要动态数组功能,可以选择 vector;如果需要按键快速查找元素,并且保持元素有序,可以选择 map。
2023-11-20 14:34:05 915
原创 define, parameter, localparam, specparam, defpara用法简析
若直接在module中通过localparam或者parameter进行参数定义的话,会带来两个问题:代码长度增加,不够美观;不利于参数和代码修改;用一个指定的标识符(即名字) 来代表一个字符串,它的一般形式为: ` define 标识符(宏名) 字符串(宏内容) 如: ` define signal string它的作用是指定用标识符signal来代替string这个字符串,在编译预处理时,把程序中在该命令以后所有的signal都替换成string。...
2022-08-13 14:51:39 3593
原创 跨时钟域-亚稳态
什么是亚稳态? 百度百科给出的解释:亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当触发器进入亚稳态时,对于该单元的输出无法预测,且无用的输出电平会沿着信号通道在各级触发器级联式传播 只要系统中有异步元件,亚稳态就是无法避免的,亚稳态通常发生在异步信号检测,跨时钟域信号传输以及复位信号电路(异步复位信号,)等设计中。产生亚稳态后,触发器的输出端Q在稳定下来之前可能是毛刺、振荡、固定的某一电压值,所以降低亚稳态发生的概率成为了FPGA设计中需要重视的一个注意事项。从理论分析上解释
2022-05-08 20:17:02 1060
原创 FIFO实战学习-同步FIFO/异步FIFO-格雷码
目录FIFO同步FIFO【代码设计】【Testbech】【行为仿真】FIFO 首先声明我的这篇更多的是学习,参考了大佬的文章。 FIFO 的英文全称是 First In First Out,即先进先出。 FPGA 使用的 FIFO 一般指的是对数据的存储具有先进先出特性的一个缓存器,常被用于数据的缓存,或者高速异步数据的交互也即所谓的跨时钟域信号传递。它与 FPGA 内部的 RAM 和 ROM 的区别是没有外部读写地址线,采取顺序写入数据,顺序读出数据的方式,使用起来简单方便,由此带来的缺点就是不
2022-04-26 11:16:23 4186 4
原创 HDLBits150~176(状态转移图-仿真结果-testbench)
接下来的练习记录150 Exams/review2015 count1kmodule top_module ( input clk, input reset, output [9:0] q); parameter count = 999; always@(posedge clk) begin if(reset) begin q <= 10'b0; end else i
2022-04-26 10:11:43 398
原创 modelsim “patch_dll.dat 不是内部或外部命令,也不是可运行的程序或批处理文件”
vivado 2019.1安装modelsim 10.7版本是正确其中modelsim的下载地址是:链接:https://pan.baidu.com/s/1jpdNqo2a6jLtWlgA72l1Aw 提取码:rthz 我安装的参考的是这篇博客,安装modelsim参考的链接 在第十一步的 时候提示无法找到mgls.dll和mgls64.dll文件,然后在评论区找到百度的解决方法,但是以管理员的身份运行,操作后没有顺利执行,而是提示“patch_dll.dat 不是内部或外部命令,也不是可
2022-04-05 14:47:48 1279 2
原创 HDLBits 0~117
module top_module( input [15:0] a, b, input cin, output cout, output [15:0] sum ); wire cout1[3:0]; assign cout = cout1[3]; bcd_fadd bcd_u1( .a(a[3:0]), .b(b[3:0]), .cin(cin), .cout(cou
2022-02-18 00:34:42 732
原创 Verilog中generate的使用(转载)
转载学习 常用generate语句做三件事情。 一个是用来构造循环结构,generate-for,用来多次实例,其中生成的实例可以是多个类型(1)模块;(2)用户定义原语;(3)门级语句;(4)连续赋值语句;(5)initial和always。 一个是构造条件generate结构,用来在多个块之间最多选择一个代码块,条件generate结构包含if–generate结构和case–generate形式。还有一个是用来断言 其中关键字generate-endgenerate用来指定
2022-02-09 10:07:39 7304
原创 在pynq板上,使用文件共享服务Samba显示没有无法复制文件到相应的路径
在PYNQ Z1的原厂官方入门手册中的第五章-连接到Juptyer进行在线编程-中介绍了文件在板子和电脑之间传递使用文件共享服务Samba。 遇到的问题:其中需要将自定义的设计的overlay文件夹ready_to_test(包含.bit和hwh文件)放到jupter_notebooks目录下,但是提示没有权限,我尝试更改复制前readt_to_test的权限,没有解决问题,在Windows中无法更改存放目录的权限(linux系统)。 解决方法:在Jupter_notebook中打开
2022-01-06 15:48:04 1079
原创 通过wifi网络共享网络的方式连接PYNQ开发板
XILINX中国官网提供的PYNQ教程的第一课的视频中演示了如何通过静态IP地址连接网络 本文主要介绍了在没有静态IP地址和路由器的情况下,如何给PYNQ连网,应为宿舍的网络是校园网,是动态地址,所以我必须采用其他方法,有使用无线网卡的, 本文采取的方法只需要一根网线即可。 主要思路是将WIFI网络共享给以太网即可,我参考的是这边博文,共享网络的链接其中要注意修改DNS的值。我的设置如下。 其中的WIAN的设置如下:其中要选择共享的网络为以太网。 其中以太网可以设置静态...
2022-01-03 21:04:59 2667 1
原创 vivado编译出错 [Synth 8-729] [Synth 8-787]解决方法
vivado编译出错 [Synth 8-729] [Synth 8-787]解决方法问题:在VIVADO中通过对已有功能的裁剪,生成需要的IP核,并在另一个工程中调用,进一步封装,但出现编译错误,提示缺少IP实例化后的DCP文件。问题:在VIVADO中通过对已有功能的裁剪,生成需要的IP核,并在另一个工程中调用,进一步封装,但出现编译错误,提示缺少IP实例化后的DCP文件。在这篇中看到了解决的思路但按照其中的方法我仍然没有解决,但是在这个我这个信息栏Design Runs提示我有错误,然后按照1,2
2021-12-30 20:26:55 3545
原创 STM32小车测距(寄存器版本)代码-定时器中断学习
简单的梳理一下STM32中测距的思路,同时也是定时器中断的学习,文中的的代码是买的器件带的测距代码。1.首先要了解定时器的分类及区别:2.通用定时器的简介 下面以通用计时器为例进行梳理,逻辑上遵循手册对定时器的介绍,然后需要更细致的介绍的地方,我尽量解释清楚。(这里做一个简单的记录Markdown首行缩进为(& emsp;),就可以了)2.1定时器组成 如下图是基本定时器的图,首先是红色部分(如果哪里理解不正确,评论区可以指出),每个定时器都有一个预分频器(PSC,计数器时钟频率系数
2021-11-12 15:51:51 1842
原创 MDK调试STM32F103C8T6时出现cannot access target shutting down debug session
MDK调试STM32F103C8T6时出现cannot access target shutting down debug session同一个工程其他版本在前几天前还通过调试,并在调试的时候还发现外部中断无法触发的原因:【分配的GPIO寄存器的ODR不发生变化(可能是复用,具体问题没找到)】,但最近的一版后就不能调试,只是点复位都会出错,出现cannot axxess target shutting down debug session ,就闪退,完全不知道问题出到哪。然后网上查找问题都是STM32
2021-11-01 17:12:53 1917
原创 Zedboard 评测(一):Demo演示
Zedboard 评测(一):Demo演示今天拿到Zedboard,做一下Demo演示,顺便记录一下过程,其中参考了这篇http://www.digilent.com.cn/community/9.htmlZynq芯片的配置FPGA器件有三类配置下载方式:主动配置方式(AS)和被动配置方式(PS)和最常用的(JTAG)配置方式,配置的数据存储在SRAM中,由于SRAM是易失行存储器,因此每次上电后,外部电路都需要重新将配置数据载入到芯片的配置RAM中,当FPGA上电后 进入配置模式,在最后一个配置数据
2021-09-27 20:31:02 1263
原创 Xilinx_FIFO_Vivado_IP使用
Xilinx_FIFO_Vivado_IP使用FIFO介绍FIFO(first in first out)是一个先进先出的存储队列。一般的作用是作为数据的队列通道,让数据暂时缓存,以等待读取。和其他RAM不同的是FIFO没有地址,先入先出。在FPGA的设计中,不同模块之间的数据接口,尤其是不同时钟系统的各个模块之间的数据接口是系统设计的一个关键。用异步FIFO模块来实现接口,接口双方都在自己的时钟下工作,他们之间不需要互相握手,只需要跟接口FIFO模块进行交互即可向FIFO模块中写入数据或从FIFO模
2021-02-24 22:59:54 437
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人