- 博客(42)
- 资源 (3)
- 收藏
- 关注
原创 Conda配置虚拟环境 jupyter notebook使用虚拟环境
创建虚拟环境,指定python版本conda create -n env_name python=3.8.1查看环境conda info --env进入虚拟环境conda activate env_name在虚拟环境下安装ipykernelconda install ipykernel将创建的虚拟环境写入到jupyter notebook中python -m ipykernel install --user --name tensorflow --display
2021-08-12 18:32:59 259
原创 Jupyter Notebook使用
1.在Jupyter Notebook中,自动补全代码首先安装一个第三方的包:pip install jupyter_contrib_nbextensions然后执行:jupyter contrib nbextension install --user --skip-running-check然后打开Jupyter Notebook,会发现菜单栏多了Nbextensions,点进去:Hinterland即是自动代码补全,打钩;另外,Table of Contents是显示
2021-07-26 15:27:11 187
原创 安装和导入tensorflow、keras出错的问题
cmd命令行窗口下,安装tensorflow:pip install tensorflow # 安装pipinstall tensorflow==1.3.0 # 安装指定版本号的tensorflowpip show tensorflow #查看tensorflow是否安装及版本号pip uninstall tensorflow #卸载安装keras:pip install keras # 安装pipinstall keras==1.3.0 # 安装指定版本号...
2021-07-21 16:56:01 13085 3
转载 模式匹配——KMP算法(研究总结,字符串)
原文地址:http://www.cnblogs.com/SYCstudio/p/7194315.html KMP算法(研究总结,字符串)前段时间学习KMP算法,感觉有些复杂,不过好歹是弄懂啦,简单地记录一下,方便以后自己回忆。引入首先我们来看一个例子,现在有两个字符串A和B,问你在A中是否有B,有几个?为了方便叙述,我们先给定两个字符串的值A="abcaabababaa"B="...
2019-04-15 17:26:45 486
转载 队列----循环队列
队列:只允许在一段进行插入,在另一端进行删除的线性表。循环队列:具有队头指针和队尾指针,指示队列元素所在的位置,避免删除元素时移动大量元素。循环队列特性:只能队尾插入元素、在队头删除元素。 先进先出(First In First Out)的线性表,先进入的元素出队,后进入的元素才能出队。优点:相比普通的队列,元素出队时无需移动大量元素,只需移动头指针。 适合处理用户排队等...
2019-04-15 11:39:42 1987
转载 队列----链队列
队列:只允许在一段进行插入,在另一端进行删除的线性表。链队列:使用链表实现的队列;具有队头指针和队尾指针,指示队列元素所在的位置。链队列特性:只能队尾插入元素、在队头删除元素。 先进先出(First In First Out)的线性表,先进入的元素出队,后进入的元素才能出队。优点:相比普通的队列,元素出队时无需移动大量元素,只需移动头指针。 可动态分配空间,不需要预先分配...
2019-04-15 09:55:03 3417
转载 链栈
链栈 个人认为,简单形容栈就是只有一个头能进出。first in last out相信不是很难理解的问题,在这里主要讲一讲链栈。 首先链栈同样是栈,当然也是filo的。 链栈是指采用链接存储的结构实现的栈。事实上链栈和链表的样子很像。 ...
2019-04-14 11:29:27 1305
转载 顺序栈操作:入栈,出栈,清空栈,销毁栈等
#include<malloc.h>#include<string.h>#include<stdio.h>#define OVERFLOW -1#define STACK_INIT_SIZE 10#define STACKINCREMENT 2#define OK 1#define ERROR ...
2019-04-14 10:55:26 12579 5
转载 C数据结构 - 静态链表
对于线性链表可用一维数组来进行描述,这种描述方法便于在没有指针类型的高级程序设计语言中使用链表结构,即使用数组描述的链表称为静态链表。由于全局数组是存储在静态区也叫做静态链表。C语言具有指针能力使其非常容易地操作内存中的地址和数据,对于面向对象的语言虽然不使用指针,但因为启用了对象引用机制,从某种角度也间接实现了指针的某些作用。但对于早期的编程语言,由于没有指针,链表结构等也就无法实现了,怎么...
2019-04-13 15:35:10 313
转载 静态链表
文字部分转载自:https://www.cnblogs.com/zhaoxy/p/7754906.html静态链表 对于没有指针的编程语言,可以用数组替代指针,来描述链表。让数组的每个元素由data和cur两部分组成,其中cur相当于链表的next指针,这种用数组描述的链表叫做静态链表,这种描述方法叫做游标实现法。我们对数组的第一个和最后一个元素做特殊处理,不存数据。让数组的第一个元...
2019-04-13 15:21:42 244
转载 java中为什么Hashtable是线程安全的,而HashMap是线程不安全的?还有ArrayList为什么是线程不安全的,Vector是线程安全的??
文章目录一、HashMap解析二、Hashtable解析三、Collections.synchronizedMap()解析四、ConcurrentHashMap六、ArrayList为什么是线程不安全的,Vector是线程安全的?参考文献什么叫做线程安全?在一个线程中,某操作执行之后得到的是该操作想要的结果,而不是其他结果(被其他线程修改了)一、HashMap解析HashMa...
2019-04-11 10:03:57 1064
转载 解析为什么hashmap是线程不安全的?
扩容一般我们声明HashMap时,使用的都是默认的构造方法:HashMap<K,V>,看了代码你会发现,它还有其它的构造方法:HashMap(int initialCapacity, float loadFactor),其中参数initialCapacity为初始容量,loadFactor为加载因子,扩容就是在put加入元素的个数超过initialCapacity * loa...
2019-04-11 10:00:38 276
转载 Java中的String,StringBuilder,StringBuffer三者的区别
最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下,便于大家观看,也便于加深自己学习过程中对这些知识点的记忆,如果哪里有误,恳请指正。 这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方...
2019-04-09 20:01:06 109
原创 万兆网调试
使用wireshark抓包注意事项:由于网卡默认的一包数据比较小,应该手动设置成巨包格式。步骤:1.点击配置2.高级->巨帧数据包->选择4096字节。抓包数据显示如下:可见收到的万兆网UDP包,源地址为192.168.1.10,目的地址为192.168.1.5,源即fpga板卡,目的即主机的万兆网卡。数据分析:以太网帧格式:Ethern...
2018-08-23 18:31:57 4034
转载 处理器和存储器的错位相连
为解决处理器和某些模块的数据接口不匹配问题,如从32位的存储器中读取8位数据,可以采用错位相连的思路: 对于具体存储器而言,它的位宽是一定的,所谓位宽,指的是“读/写操作时,最小的数据单元”──别说最小单元是“位”,一般存储器上没有单独的“位操作”,修改位时通过把整个字节、字或双字读出来、修改,再回写。对于处理器来说,一个地址对应的是一个字节(8位),也就是说处理器的地址线对应的最小数据单...
2018-08-06 10:38:29 682
转载 AXI4-Stream协议总结
AXI4-Stream去掉了地址项,允许无限制的数据突发传输规模;现总结一下axi_stream:1) valid 和ready实现握手;2) strb按照byte指定data中的哪个byte是地址信息或者数据信息;3) keep按照byte指定data中的哪个byte是字节修饰符,哪个是有效的;4) last用于声明最后一个,可有可没有5) 不同于一般数据流的是,这str...
2018-07-17 17:43:15 6676
转载 ISE14.7兼容性问题集锦
ISE14.7兼容性问题集锦六、WARNING:iMPACT:923 - Can not find cable, check cable setup ! 这个错误是由于驱动没有安装或者驱动安装有问题,一般ISE会在安装的时候把驱动自动安装上去的,但是也有一些win10或win8电脑会出现问题,或者是安装过程中不注意没有安装驱动。解决办法如下:找到C盘这个目录下,然后点击如图应用程序,直接...
2018-07-17 17:00:00 6209 2
转载 转载 --关于增量编译
前几天老师需要一个设计数据,是有关一个大的FPGA工程中小模块的编译报告,由于时间有点久远,之前的小模块工程已经不知道在哪里了(自己也觉得这里做的很不好,虽然模块小,但设计之初也都是经过仔细设计仿真验证的,应该做好存档才对)……好吧,虽然没了也没关系,其实也很简单,把大工程copy一下,然后把子模块置顶,重新编译不就好了嘛。可编译后问题来了,报错了!而且有点莫名其妙,一开始有点懵,不知道出在哪里…...
2018-07-13 16:32:49 3352
原创 System Verilog与功能验证 2.2
2.2 过程语句过程语句种类:赋值语句,条件选择语句,循环语句,跳转语句,子程序调用,事件控制2.2.1 赋值语句阻塞赋值语句:=非阻塞赋值语句:<=自加/自减赋值:++,--过程连续赋值语句:assign,deassign,force,release2.2.2控制结构1.条件选择语句(1) if...else(2) case,casex,casezcasex:条件表达式中的x不参与比较;c...
2018-07-08 19:40:19 680
转载 Xilinx中的xapp1052理解
转载:xapp1052是xilinx官方给出的一个有关DMA数据传输的样例,用于PC端和FPGA端之间的DMA数据传输。首先需要说的是,xapp1052并不是一个完整的DMA数据传输的终端硬件设计,这在下面会有详细解释。 首先说一下xapp1052模块的组成结构:顶层模块是xilinx_pci_exp_ep,在顶层模块中包含pci_exp_64b_app和bmd_design两个模块,其中p...
2018-07-05 11:38:28 905
转载 Xilinx FPGA 的PCIE 设计----xapp1052BMD_PCIE-DMA
觉得这篇讲解PCIE的FPGA设计不错,mark一下。写在前面近两年来和几个单位接触下来,发现PCIe还是一个比较常用的,有些难度的案例,主要是涉及面比较广,需要了解逻辑设计、高速总线、Linux和Windows的驱动设计等相关知识。这篇文章主要针对Xilinx家V6和K7两个系列的PFGA,在Linux和Windows两种系统平台下,基于Xilinx的参考案例XAPP1052的基础上,设计实现了...
2018-07-05 11:21:24 9285 6
转载 (转)xilinx serdes时钟纠正clock correction
1、时钟纠正原理 时钟纠正比较简单,下面一个图就能说清楚。 首先为什么要使用时钟纠正,是因为CDR恢复的用户时钟user_clk和硬核时钟XCLK虽然频率一样,但是会有略微的不同,正是这样导致内部的FIFO有可能读空和写满,这样就会导致传输错误。与其传输出错误,不如我们就发送一个特定的序列让它去“出错”。在FIFO快满的时丢弃这个序列,在FIFO快读空时加入这个序列。由于收发双方约定好了这个序列是...
2018-06-28 11:11:57 2155
转载 (转)xilinx serdes通道绑定channel bonding
1、通道绑定原理通道绑定只支持8b10b编码协议,通道绑定利用内部的FIFO来抵消通道间的延时差,原理如下图 master channel 和slave channel都有特定的字节,可以是K码。当master 检测到K码时,进行一个计数,slave检测到K码同样会计数。等master 计数到sequence max_skew时,通过移动指针消除前面的延时。2、通道间的级联下面是两个级联的例子 ...
2018-06-28 11:11:06 1632
转载 (转)xilinx 高速收发器Serdes深入研究-Comma码
一、为什么要用Serdes传统的源同步传输,时钟和数据分离。在速率比较低时(<1000M),没有问题。 在速率越来越高时,这样会有问题 由于传输线的时延不一致和抖动存在,接收端不能正确的采样数据,对不准眼图中点。 然后就想到了从数据里面恢复出时钟去采样数据,即CDR 这样就不存在延迟不一致的情况,有轻微的抖动也不会影响采样(恢复的时钟会随着数据一起抖动)。二 、为什么要用8b10b,64b6...
2018-06-28 11:09:35 7606
转载 Xilinx-7Series-FPGA高速收发器使用学习—概述与参考时钟篇
xilinx的7系列FPGA根据不同的器件类型,集成了GTP、GTX、GTH以及GTZ四种串行高速收发器,四种收发器主要区别是支持的线速率不同,图一可以说明在7系列里面器件类型和支持的收发器类型以及最大的收发器数量。 图一 Xilinx的7系列FPGA随着集成度的提高,其高速串行收发器不再独占一个单独的参考时钟,而是以Quad来对串行高速收发器进行分组,四个串行高速收发器和一个CO...
2018-06-27 16:45:36 1689
转载 UG476-Xilinx-7Series-FPGA高速收发器使用学习—RX接收端介绍
上一篇博文介绍了GTX的发送端,这一篇将介绍GTX的RX接收端,GTX RX接收端的结构和TX发送端类似,数据流方向相反,不过和发送端也有一些区别,GTX的RX接收端结构图如图1所示:图1 下面将根据数据流方向介绍一下RX接收端各个电路部分的功能。 RX Equalizer (DFE and LPM):RX信号从AFE(模拟前端)进来之后,首先经过RX均衡器,均衡器的主要作用是用于补偿信号在...
2018-06-27 16:36:13 3500 1
翻译 UG476-Xilinx-7Series-FPGA高速收发器使用学习—TX发送端
每一个收发器拥有一个独立的发送端,发送端有PMA(Physical Media Attachment,物理媒介适配层)和PCS(PhysicalCoding Sublayer,物理编码子层)组成,其中PMA子层包含高速串并转换(Serdes)、预/后加重、接收均衡、时钟发生器及时钟恢复等电路。PCS子层包含8B/10B编解码、缓冲区、通道绑定和时钟修正等电路。对于GTX的发送端来说,结构如图1所示...
2018-06-27 16:18:33 6272
转载 Zynq-创建包含AXI4_lite总线控制器的主从机通信系统(2)
原文:http://www.eefocus.com/antaur/blog/17-08/423754_f75f7.html0.引言在上一节中,为了验证AXI4-Lite总线读写时序,创建了一个主从机直连的系统,并进行了行为仿真。该系统并没有经过总线控制器,因此不能算一个完整的主从机总线通信验证系统。本节计划创建一个通过总线控制器交互的主从模块通信系统,其中主从模块皆有PL编码实现,同时工程要下板验...
2018-06-06 16:58:09 4814
转载 Zynq-PL中创建AXI Master接口IP及AXI4-Lite总线主从读写时序测试
转载:原文 http://www.eefocus.com/antaur/blog/17-08/423751_6cc0d.html0. 引言通过之前的学习,可以在PL端创建从机模式的AXI接口IP核。但是从机模式是被动接收数据,而不能主动的去获取数据,因此计划研究一下AXI Master接口的IP核的构建方法。 1. 利用向导创建AXI Lite Master测试用例 在这一步,AXI类型为...
2018-06-06 16:01:03 14825
转载 zynq中各种GPIO方式的区别:MIO,EMIO,AXI_GPIO 核
ZYNQ可以提供多种方式提供GPIO的能力,早上到公司就想应该先搞清楚里面的各种区别,因为我自己不自然就只会用自己的最熟悉的方案来实现,所以在此总结一下;很多帖子讨论这个,当然是因为简单了;但是好像都没有整理完整ZYNQ中GPIO有四种,其中PS中MIO/EMIO两种,而PL中同样有两种情况,AXI_GPIO和AXI_LITE自定义的GPIO;下面就这四种情况进行说明;第一种 PS的MIO实现的G...
2018-05-24 18:56:01 15994 3
转载 vivado约束文件报错
'set_property' expects at least one object报XDC里面的set_property找不到正确的object,这个在vivado后续版本中都显示为警告,一般都是处于object的port名大小写问题。XDC和Verilog都对大小写敏感。建议RTL内部接口定义全部用小写。错误: set_property PACKAGE_PIN "V7 " [get_ports...
2018-05-24 15:54:58 42880 2
转载 Vivado中AXI IP核的创建和读写逻辑分析
转载:原文链接:http://www.itkeyword.com/doc/3294023981952946377/sdk-fpga-designVivado中AXI IP核的创建和读写逻辑分析总述本文包含两部分内容:1)AXI接口简介;2)AXI IP核的创建流程及读写逻辑分析。1 AXI简介(本部分内容参考官网资料翻译)自定义IP核是Zynq学习与开发中的难点,AXI IP核又是十分常...
2018-05-24 15:06:54 5039
原创 System Verilog与功能验证 2.1.4-2.1.8
2.1.4 字符串 string大小可变,动态分配的字节数组。语法:string variable_name [=initial_value];注意字符串的操作符和内置方法的使用。2.1.5 结构体和联合体结构体:struct 联合体:unionstruct {reg [15:0] opcode;reg [23:0] addr;} IR;union {int I;shortreal f;} N...
2018-05-20 13:08:00 562
转载 PCIe系列专题之二:2.0 Transaction layer事务层概述
原文:https://blog.csdn.net/zhuzongpeng/article/details/76136110一、故事前传上回我们对PCIe的一些基础概念作了一个宏观的介绍,了解了PCIe是一种封装分层协议(packet-based layered protocol),主要包括事务层(Transaction layer), 数据链路层(Data link layer)和物理层(Phys...
2018-05-02 22:13:04 3088
转载 PCIe系列专题之一:PCIe技术概述
原文:https://blog.csdn.net/zhuzongpeng/article/details/76136110SSD的协议标准除了SATA,还有一个更先进的协议标准,就是PCIe。PCIe总线使用了高速差分总线,并采用了端到端的连接方式。两个设备之间的的传输通道,称为Link,由1,2, 4, 8, 16, 32个Lane组成。Lane的数目代表Link的传输宽度(x1, x2, x4...
2018-05-02 22:07:18 2903
转载 modelsim编译Xilinx器件库
modelsim编译Xilinx器件库的另一种方法(节省时间) 以前在用modelsim对Xilinx进行器件库编译时,我用的比较多的是直接在ISE中编译器件库,感觉很方便简单,就是编译时间有点长。自从前段时间,在自己电脑装MathType,360杀毒软件将它视为木马。我以为是360误报,直接将360安全卫士关闭了。后来,电脑上的软件一个接一个的出现问题,说是软件的某个文件被感染了。最后只能...
2018-04-27 10:13:44 4391 1
原创 System Verilog与功能验证 2.1 数据类型-2.1.3
第二章 数据类型与编程结构2.1 数据类型2.1.1 两态数据类型两态数据类型:(1 , 0)默认为0 shortint , int , longint , byte , bit4态数据类型:(1 , 0,X , Z),默认为X reg , logic , integer以上,其中bit , reg , logic默认为无符号数。其他默认为有符号数。2.1.2枚举类型1.枚举类型用来声...
2018-04-25 21:45:56 1615
转载 理解SerDes 之三
3.抖动和信号集成( Jitter, SI )抖动是指信号的跳边时刻偏离其理想(ideal)或者预定(expected)时刻的现象。噪声,非理想的信道,非理想的电路都是产生抖动的原因。3.1 时钟的抖动(clock jitter)Figure 3.1 Clock Jitter 对于时钟信号,根据应用场景的不同,对抖动的定义也不一样。比如数字逻辑计算时序余量的时候,关心的是周期抖动。而时钟设计人员...
2018-04-23 10:07:22 1031
转载 理解SerDes 之二
2.3接收端均衡器( Rx Equalizer)2.3.1 线形均衡器(Linear Equalizer)接收端均衡器的目标和发送均衡器是一致的。对于低速(<5Gbps)SerDes,通常采用连续时间域,线性均衡器实现如尖峰放大器(peaking amplifier), 均衡器对高频分量的增益大于对低频分量的增益。图2.8为一个线性均衡器的频域特性。通常工厂会对均衡特性封装为数种级别,可以动...
2018-04-23 10:06:21 3070 1
转载 理解SerDes 之一
一、SERDES的作用1.1并行总线接口 在SerDes流行之前,芯片之间的互联通过系统同步或者源同步的并行接口传输数据,图1.1演示了系统和源同步并行接口。 随着接口频率的提高,在系统同步接口方式中,有几个因素限制了有效数据窗口宽度的继续增加。a)、时钟到达两个芯片的传播延时不相等(clock skew)b)、并行数据各个bit的传播延时不相等(data skew)c)、时钟的传播延时和数...
2018-04-19 10:34:58 6023 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人