- 博客(27)
- 资源 (8)
- 收藏
- 关注
原创 数字IC/FPGA校招宝典--笔试题(四)
支持字节、半字节和字的传输。如果此时写指针也写到了7,那么二者一比较发现写“满”了,实际呢没有满,不过此时也会停止外部写入(传出了满的信号),这是不会对FIFO中的数据产生影响的,并且很快会恢复到“不满”。在进入到某一phase的时候,UVM会收集此phase提起的所有的objection(raise_objection),并且实时监测所有的objection是否已经撤销了(drop_objection),当发现所有的objection都已经撤销后,那么就会关闭此phase,开始进入下一个phase。
2024-08-07 22:35:05
853
原创 数字IC/FPGA校招宝典--笔试题(三)
这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立、保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。,电子的迁移率大于空穴,同样的电场下,N管的电流大于P管,因此要增大P管的宽长比,使之对称,这样才能使得两者上升时间下降时间相等、高低电平的噪声容限一样、充电放电的时间相等。直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。
2024-08-07 22:24:44
570
原创 数字IC/FPGA校招宝典--笔试题(二)
这里的异步电路,指的应该是跨时钟域同步器那一级的路径,该如果没有特殊走线长度等要求,是可以设置false path的。这种检查的目的是为了保证复位释放的时刻能早于时钟沿并且保持到时钟沿到来(recovery,恢复),并且保证复位置位的时刻能晚于时钟沿一段时间(removal,清除),以此来避免复位释放的时候出现亚稳态。可综合代码中,除了for语句中的循环变量可以定义为integer型以外,所有变量和信号都只能为wire或reg型,不能定义为整型,实数型,无符号型,realtime型和time型。
2024-08-07 22:22:47
723
原创 数字IC/FPGA校招宝典--笔试题(一)
一般而言握手信号可以用于高频时钟域到低频时钟域的同步,但是为了保证数据不被漏采,从高频到低频握手信号valid_tx需要做信号宽度拓展,至少拓展为1.5个周期的rx时钟,因此相应的数据data_tx也要保持多个n个tx周期不变,n=1.5*clk_rx/clk_tx。如果在上一状态寄存器输出为1,下一状态下输出为0,即便0不使用,也产生了0到1的跳变,同样会有功耗,既然不关心,还不如保持输出为1。解析:头脑风暴挖掘测试点是必须的,但是要保证测试点是符合规格说明和约束的,并且是可能会发生的场景。
2024-08-07 22:20:54
740
原创 IC手撕代码--数字电子时钟设计
最近秋招遇到了好几次这个的笔试题,其实还是比较简单的。关键还是计数器的写法,所以做下总结,之后不论是秋招还是实习面试笔试,尽量可以把这个送分题拿到。
2022-08-26 17:28:44
705
1
原创 FPGA自学笔记--时钟IP核使用(Verilog&VHDL版本)
时钟ip核是一个比较常用的IP核,主要用于对输入的时钟信号进行进行倍频、分频、调整相位。这些功能其实自己去实现也是相对来说比较简单的,但是既然vivado提供了这种封装好的IP核,我们就可以充分的去利用,减少开发者的工作量,而且时钟ip核也有一些比较高级的功能,比如,输出时钟频率和相位的动态调整等等。本篇文章主要记录时钟ip核的基本使用,并附带verilog和vhdl代码及对应的testbench文件,以供同学们相互交流学习。一、时钟ip简介 在介绍时钟管理IP之前,可...
2022-05-09 15:51:35
7624
原创 FPGA自学笔记--串口通信实现(vivado&verilog版)
最近做了两种通信协议的实现的练习(uart,spi),此文介绍uart串口协议(串口发送)的verilog实现和testbench的编写,考虑到还有部分同学使用vhdl,vhdl版本会随后发布。在以后的系列里,还会有介绍spi协议的文章,把我自己学习中遇到的困难和正确的解决方案记录下来,仿真环境为vivado 2018.3.
2022-05-01 14:56:30
8476
23
原创 解决问题:vscode中文乱码(亲测有效)
各位有没有在自己的IDE里面 ,噼里啪啦写了一堆中文注释,结果用vscode打开之后,发现是一堆乱码。或者在vscode写好,再自己的IDE中打开又是一堆乱码。其实就是编码方式的 不同。vscode 已经帮我们提供了比较简单的解决方案。1. 点击 文件-->首选项-->设置,2.输入搜索 files:auto Guess Encoding 如下图:勾选这个猜测编码即可。就这么简单!!目前还没出现过问题。轻松解决。...
2022-04-30 21:27:47
5382
5
原创 FPGA自学笔记--DDS ip核的使用(vivado)
学习记录之用。一、DDS概念DDS(Direct Digital Frequency Synthesizer)直接数字频率合成器本文主要介绍如何调用Xilinx的DDSIP核生成某一频率的Sin和Cos信号。二、频率选择打开IP核配置,parameter Selection选择System Parameters,有两种选择,选择System Parameters时,输出频率可以在IP核中直接输入。选择Hardware Parameter时,可以在IP核中或者程序中输入频率控.
2022-03-03 09:38:44
14194
6
原创 解决问题:Cannot register 2 metrics with the same name: /tensorflow/api/keras/optimizers
这种问题一般还会以下面的两种形式出现。这个原因的应该是keras与tf.keras混淆产生了冲突。进入Anaconda 查看当前的python环境下keras与tensorflow的版本,发现keras 2.7,tensorflow 2.6.解决办法:pip install keras==2.6.0Tensorflow2.6 的发行说明中,Keras 被拆分为单独的 PIP 包(keras),其代码已移至 GitHub 存储库 keras-team/keras。tf.keras 的 API.
2021-12-22 10:25:44
4678
10
原创 线性调频信号的去斜处理和混频的MATLAB实现
首先要知道线性调频信号去斜处理和混频的区别:共同点就是都是正交解调过程,不同点是选取本征信号不同。用于混频的本振信号为单频信号和,这样混频之后的零频部分还是一个有带宽的线性调频信号。而用于去斜的本振信号为线性调频信号本身,这里也是正交解调形式,如果说线性调频信号使用cos来表示,那需要产生一路sin信号(也是线性调频信号) ,在分别相乘得到I路,Q路。如果说线性调频信号使用指数表示,那就是直接去乘它本身。下面是两种方式的比较:我们这里的输入是中频为200Mhz,带宽为320Mhz的线
2021-12-09 22:07:26
7578
6
原创 宽带信号与窄带信号
首先应该要明确的是“宽带”信号和“窄带”信号实质上是一个相对的概念。比如说,10MHz 带宽的接收机在雷达系统中被认为是窄带接收机,然而,达到这种带宽的接收机在通信中却被常常被认为是宽带接收机。这是因为应用的场合不同,造成从信号的带宽的具体数值上很难区分出“宽带”和“窄带”的概念。目前主流的观点认为:宽带信号与窄带信号是根据信号的带宽与载频的比值大小进行区分的。如果信号的带宽和载频的比值不大于10% 的时候,该信号会被认定是窄带信号,若信号的带宽和载频的比值超过百分之十的时候,就可以称之为“宽带”
2021-12-02 17:28:17
4554
原创 LLE算法实现与sklearn实现
在pyhton的机器学习库sklearn中,LLE等降维算法可以直接调用,在本次大作业中,根据LLE的推导过程编写算法实现了LLE,与mainfold自带的LLE进行对比。由于后面的实验中都是直接调用LocallyLinearEmbedding,所以用大量篇幅介绍了LocallyLinearEmbedding的参数含义以及调参方法。图2-5 LLE算法推导实现与sklearn实现对比由图2-5可知,自行编写的LLE降维算法在降维之后的效果略逊于sklearn中提供的接口,后面的实验中都是直.
2021-03-13 17:47:14
2206
1
原创 用turtle库画大风车(零基础python教程适合亲子教学互动)
大风车是少儿节目,它的图标可谓深入人心,用turtle库来画几乎可以不用掌握任何编程基础,适合亲子互动教学演示。首先,安装turtle库。Python2: 直接在cmd里输入pip install turtle,不用下载python3:直接在cmd里输入 pip install turtle,不用下载代码如下。小学水平立马掌握。import turtleturtle.left(-30)turtle.fillcolor("blue")turtle.begin_fill()tu
2020-11-06 12:58:19
4743
原创 python 批量化重命名图片
最近在制作深度学习项目的测试集,需要对整个文件夹下的图片重命名以便标注,体会到了python脚本的强大和简便。基本思路:使用python 的os 模块, 对文件夹进行遍历(listdir), 同时使用 rename 进行改名操作。# -*- coding:utf8 -*-import osclass BatchRename(): ''' 批量重命名文件夹中的图片文件 ...
2018-04-25 16:23:43
1080
原创 python将txt转为csv格式
import numpy as np import pandas as pd txt = np.loadtxt('file.txt') txtDF = pd.DataFrame(txt) txtDF.to_csv('file.csv',index=False) 安装pandascmd: pip install pandas
2018-04-25 16:18:39
21768
5
原创 Python中字符串相似对比
import difflibquery_str = '北京市海淀区's1 = '北京市海淀回' s2 = '北京城海淀区' s3 = '北京城海淀回' print(difflib.SequenceMatcher(None, query_str, s1).quick_ratio()) print(difflib.SequenceMatcher(None, query_str,...
2018-04-25 16:14:03
1365
原创 python实现两个json文件对比
先将json读入为字典,提出字典的value,进行比对。import json as jsimport difflibf = open('F:/IMG1.json',encoding='UTF-8')m = open('F:/IMG2.json',encoding='UTF-8')x = js.load(f)y = js.load(m)for my_key in x.keys()...
2018-04-25 16:08:27
9055
原创 Python将数组(矩阵)存成csv文件
将数组或者矩阵存储为csv文件可以使用如下代码实现:import numpy numpy.savetxt('new.csv', my_matrix, delimiter = ',')
2018-04-25 16:06:07
36592
6
原创 Python将csv文件读取为数组(矩阵)
Python处理csv文件时经常会用到讲csv文件整体读取为一个数组或者矩阵的情况,借助numpy包,可以使用如下代码简洁高效低实现:import numpy my_matrix = numpy.loadtxt(open("c:\\1.csv","rb"),delimiter=",",skiprows=0) ...
2018-04-25 16:05:01
36027
3
原创 静态图像-行为识别数据集及论文 Action Recognition in still image
目前关于行为识别的研究多集中在视频,而静态图片只有空间信息,没有时间信息,信息量不够多,所以来做行为识别是有难度的,现有的研究成果比较少,可用的数据集不多,我现在也在做静态图像行为识别方面的研究,多数论文使用的数据集主要有以下几个。一.、Stanford40 Dataset该数据库是斯坦福大学的FeiFei-Li教授所在的团队创建并维护的,包括40种不同的行为类,共9532张图片。每个行为类都有1...
2018-04-04 12:47:18
5974
6
DDS-IP核的调用--vivado&VHDL
2022-06-13
vivado时钟IP核的使用
2022-05-09
时钟IP核的使用(vivado&vhdl)
2022-05-09
串口通信发送多字节数据(verilog版带testbench文件)
2022-05-01
串口通信实现(verilog带testbench文件)
2022-05-01
SPI配置ADC--verilog代码带testbench文件
2022-04-22
DDS ip核使用(vivado)
2022-03-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人