- 博客(131)
- 资源 (28)
- 收藏
- 关注
原创 dsp48e1略知一二
笔者会根据自己的工程说明为例,讲述,以此类推;工程所用的是dsp48e1的原语,应用于cnn的计算。调用了16个SP;每个SP中又有两个unit;其中只看参数传递:在此之前先看一下手册,了解一下OPMODE。以OPMODE =0110101Z=C;Y=M;X=M;得到,P= A*B +D*B + C;具体实现,以自己工程为例: (A_DLY,B_...
2020-04-21 15:27:14
1553
2
原创 RISC_V学习之二 RISC_V架构基础
参考与芯来科技视频。侵权删注释:ARM A5为32bit Rocket为64bit,本应该64位比64位面积和功耗增加,但是相反;
2020-04-09 22:08:37
536
原创 MOOC硬件加速学习
解释:第一种的数据延迟为一个加法器和选择器,控制的延迟为选择器; 第二种数据延迟为一个加法器和选择器,控制延迟为一个加法器和选择器 若果Aflag延迟比较晚,第二个性能比第一种差;解释:通常非特殊用途应避免latch的产生,通常在门控时钟或异步电路会用到。解释:现实和综合器的悖论,综合器显示...
2020-04-09 12:02:14
392
原创 关于 YCbCr(YUV) 格式视频流的介绍
分享Bingo 的博文:https://www.cnblogs.com/crazybingo/archive/2012/06/07/2540595.htmlhttps://www.cnblogs.com/crazybingo/archive/2012/06/08/2541700.htmlhttps://www.cnblogs.com/crazybingo/archive/2011/03/2...
2020-04-07 22:48:56
4145
2
原创 总结那些年错过的图像算法模板
1、图像格式转关:RAW8_RGB888原理:Bayer8转RGB888首先要经过Matrix_Generate_3X3_8Bit的矩阵变换重要代码:always@(posedge clk or negedge rst_n)begin if(!rst_n) begin pixel_cnt <= 0; row1_data0 <= 0...
2020-04-07 13:25:47
249
原创 图像sobel算法之再战
1、何谓硬件加速器?2、何谓色度抽样?原理:• 由于人眼对色度的敏感度不及对亮度的敏感度• 图像的色度分量不需要有和亮度分量相同的清晰度• 所以许多视频系统在色差通道上进行较低清晰度的抽样。色度抽样后• 在肉眼上几乎没有影像上差别。3、sobel中的带宽又该怎么计算?在进一步阐述带宽的意义,和sobel中的数...
2020-04-03 11:39:41
154
原创 灰度图像的中值滤波→Sobel→腐蚀运算→膨胀运算算法
完美是没有极限的,仅仅进行Sobel→腐蚀运算→膨胀运算得到图像边缘,这还不够好!!!如果在Sobel前面加入中值滤波算法呢??会不会得到的边缘检测图像的效果更上一层楼呢???结果:上图左为为灰度→Sobel→腐蚀运算后的图像,上图右为灰度→Sobel→腐蚀运算→膨胀运算后的图像。可见腐膨胀运算后的图像,相当于将腐蚀后的图像边缘进行了加粗,效果更加明朗了。上图左为灰度→Sobel→...
2020-04-02 18:49:33
1221
原创 比较三个数的大小,求出最大、中间、最小
always@(posedge clk or negedge rst_n)begin if(!rst_n) begin max_data <= 0; mid_data <= 0; min_data <= 0; end else begin //get the max value if(data1 >= data2 &&...
2020-04-01 17:10:01
1501
原创 补几个常用的图像格式转换的算法公式
公式一:RGB888_YCbCr444 Y = (77 *R + 150*G + 29 *B)>>8 Cb = (-43*R - 85 *G + 128*B)>>8 + 128 Cr = (128*R - 107*G - 21 *B)>>8 + 128---> Y = (77 *R + 150*G + 29 ...
2020-03-31 16:20:00
1006
原创 图像缩放算法的设计
相机分辨率为2048*2048,通常VGA的分辨率不匹配,需要降低分辨率。可以3*3范围内的9个像素合并成1个像素,最终分辨率682*682,数据量为465K*8bit,采取简单的均值或者中值的方式,为了避免噪声的影响,采用灰度取中值的方式。...
2020-03-31 15:01:06
648
转载 verilog中可以直接用*运算符吗?有什么弊端吗
答案:可以用,但是,,,硬件乘法器的意义何在?乘法直接乘不就可以了吗。我verilog里编写a*b即可,为什么要移位相加去乘?你要知道,数字电路中的逻辑是由最基本的与、或、非等基本逻辑组合而成的,并不能直接生成乘除等复杂运算。乘法运算是由与、或、非等基本逻辑组合而成的,如下图所示是乘法器内部结构图:那为什么直接在verilog里编写a*b即可实现乘法呢?这是因为EDA工具...
2020-03-30 16:25:42
13344
原创 完善SDRM
一天天,过得真快呀,在家真的没办法全神贯注,不过,算是劳逸结合吧。改变突发长度为256,写入两行数据,嗯嗯,还行。遇到充电的时候;最后,...
2020-03-29 16:59:25
194
原创 sdram_read模块
同sdram_write模块,原理一样;在调试了两个小时的bug后,对代码进行了完善,最终,哈哈哈。。。写两行,一行512,突发4,读出两行:
2020-03-27 20:00:26
278
原创 sdram_wr模块设计
1、首先记录一个问题,困扰了许久:像这种简单的电路,写成时序逻辑代码,不应该就是:仿真波形却是:咦,难道写的代码有问题,怎么不延迟一个时钟周期输出呢??改:tb文件:为阻塞仿真果然成功了。。。。。...
2020-03-26 18:58:15
159
原创 sdram_init模块设计与仿真
真的是太菜了,加入‘include 文件整了半天,写个调试记录:1、头文件parameter 与 .v文件同在一个文件夹,可以直接‘include2、格式如:`define NOP 4'b0111 `define MSET 4'b1111 `define BA 4'b0011...
2020-03-25 16:46:46
354
原创 静态时序分析
T1:时钟延迟(已知)T_cycle:时钟周期(已知)△T=T3-T2(已知)时钟偏斜建立时间 :Ts=T_cycle-T1+△T建立时间约束(Tsetup),建立时间余量Tslack=Ts-Tsetup保持时间:Th=T1-△T或者Th=T_cycle-Th保持时间约束(Thold),保持时间余量Thslack=Th-Thold影响因素:△T过大,影响保持时...
2020-02-15 10:01:45
654
1
原创 抗击疫情,在家办公,第二天
2.10 今天继续回顾基础.案例一:序列检测案例二:状态机状态机描述时关键是要描述清楚几个状态机的要素,即如何进行状态的转移,每个状态的输出是什么,状态转移的条件。具体描述时方法各种各样,最常见的有三种描述方式:1. 一段式:整个状态机写到一个 always 模块里面,在该模块中即描述状态转移,又描述状态的输入和输出。2. 两段式:用两个 always 模块来描述状态机,其...
2020-02-10 18:00:23
685
原创 2020年受疫情影响的寒假
2020年春节,相信,很多人会记得,受全国肺炎疫情的影响,上学不能上学,上班不能上班,然而,在家浪了几天后,实属无聊,于是,又拿起了家里的旧电脑,开始更新博客,开始漫长的寒假在家学习之路。2.8 开始学习的第一天,把要看的资料准备好,感觉自己虽然找到了工作,但是基础还是不怎么扎实,从最基础的东西,一步一步深入学习,加油,武汉!加油,小卢同学!2.9 第一篇 多路选择器架构图:代...
2020-02-09 14:57:39
2605
原创 Altra96之使用petalinux定制linux os
1.1 添加vivado输出的板级支持信息,即hdf和bit文件在上一章节https://blog.youkuaiyun.com/weixin_40640020/article/details/103384486生成了hdf和bit文件基于.hdf文件生成BOOT.bin因为我考虑到主要是根据自己的工程去创建BOOT.bin,所以我采用的是利用.hdf文件创建。这种方式也比较简单,首先准备...
2019-12-05 20:49:17
314
原创 Ultra96之PetaLinux安装-2
开发板:Ultra96Xilinx Vivado:2018.2PetaLinux:2018.2Ubuntu:16.04后面需要用到PetaLinux去生成BOOT.bin,根据ug1144-petalinux-tools-reference-guide搭建环境并安装PetaLinux。我装的是2018.2,下载的是petalinux-v2018.2-final-installer....
2019-12-05 12:05:47
454
原创 Ultra96之DPU-1
部分内容选自https://blog.youkuaiyun.com/lulugay/article/details/103152530什么是DPU?DPU全称Deeplearning Processor Un学汪玉教授组开发的it,是清华大针对Xilinx FPGA的深度学习加速器,而后被Xilinx收购。为什么要写本系列博文DPU的使用说难也难,说简单也简单。DPU的使用难在,真正把DPU...
2019-12-04 20:44:45
1240
原创 新华三笔试题(助力面试)
1、CMOS的功耗主要是什么?CMOS电路主要有动态功耗和静态功耗组成,动态功耗又分为开关功耗、短路功耗(内部功耗)两部分。 动态功耗 动态功耗包括:开关功耗或称为反转功耗、短路功耗或者称为内部功耗; 开关功耗:电路在开关过程中对输出节点的负载电容充放电所消耗的功耗。比如对于下面的CMOS非门中: 当Vin=0时,PMOS管导通,NMOS管截止;VDD对负载...
2019-10-23 21:12:08
13593
1
原创 大华秋招之再也不想去型
lz的奇葩经历,记录一下,大华面试已经无力吐槽:提前批:1)电话面:跨时钟域、国产fpga体验、讲述自己其中一个项目流程。。。。简历初筛 2)hr面,纯属聊天,初筛完竟然怎么就hr了呢,面完后hr告诉我后边还有笔试、面试。。。 3)笔试 4)综合面试(三个面试官,一脸傲娇脸),一周后等通知,过了很...
2019-10-20 21:06:41
858
原创 Verilog十大基本功8 (flipflop和latch以及register的区别)
首先必须放上关于latch的定义和解释。ALTERA 的recommended HDL coding中提到:A latch is a small combinational loop that holds the value of a signal until a new value is assigned.从上可以看出,latch是一个记忆元件或者说是存储单元,他能保持信号的值同时在...
2019-10-16 17:09:07
1480
原创 常见的触发器的Verliog语言描述
1.D触发器:module D_flip_flop( input [1:0] d, input clk, output reg[1:0] q, output reg[1:0] qb ); always @(posedge clk) //时钟上升沿触发D触发器 begin...
2019-10-15 15:02:34
566
ofdm_matlab_tx_rx
2018-11-23
deep learning for joint channel estimation and detection in OFDM system
2018-11-23
IEEE 802.11 OFDM-based transceiver system
2018-11-11
verilog实现OFDM基带
2018-10-28
MIMO-OFDM无线通信技术及MATLAB实现
2018-10-28
openofdm关于802_11
2018-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人