- 博客(9)
- 收藏
- 关注
原创 Neural Networks on FPGA (1) Introduction
使用软件训练获得weight (权值,权重) 和 bias (偏置,阈值,threshold)再在FPGA 硬件上实现。使用定点数表示数据。在不溢出的情况下会有些许误差,但相对于32位浮点数,定点数更灵活,性能更好。但需要指定总位宽,整数和小数的位宽。定点数需要权衡精度和资源消耗。对于加减法,补码更加高效。对于乘法,原码更加高效。由于产生激活函数很麻烦,因此使用ROM (或称为查找表 LUT)存储预先计算好的值,ROM的地址为自变量 x。此ROM非FPGA中的BROM或DRO.
2021-12-31 16:14:24
206
转载 Verilog语法中parameter与localparam的区别
parameter 可用作在顶层模块中例化底层模块时传递参数的接口;localparam 的作用域仅仅限于当前module,不能作为参数传递的接口。`timescale 1ns/100psmodule mem ( clka, wea, addra, dina, clkb, addrb, doutb);/////////////////////////////////////////// parameter DATA_WIDTH = 16; par
2021-12-22 21:41:36
602
原创 function&task
functionfunction与C语言定义子函数很像,以function关键字开头,以endfunctuon结束。function <返回值位宽或类型说明> 函数名; 端口声明; 局部变量定义; 其他语句;endfunctionfunction后跟着返回值(函数名)及其位宽,然后定义输入input,可以有多个Input,但是只有一个输出,输出就是返回值。然后以begin开始function的逻辑语句,如果逻辑比较复杂,则在begin之前,input之后定义中
2021-09-10 15:59:18
222
转载 Verilog中如何对数组赋值(存储器memory详解)
http://blog.sina.com.cn/s/blog_9424755f0101rhrh.html存储器是一个寄存器数组。存储器使用如下方式说明:reg [ msb: 1sb] memory1 [ upper1: lower1],memory2 [upper2: lower2],. . . ;例如:reg [0:3 ] MyMem [0:63]//MyMem为64个4位寄存器的数组。reg Bog [1:5]//Bog为5个1位寄存器的数组。MyMem和Bog都是存储器。数组的维数不
2021-05-25 21:07:43
6772
原创 EXCEL函数VLOOKUP的使用教程
在需要补全的表1单元格输入 =VLOOKUP点击 fx 打开函数详情页。第一行是索引值,即要根据什么查找。点击表1中与表2相同的单元格。第二行是数据表,即在哪查找,选择表2中要查找的的区域,选完之后点击红圈位置回到函数详情页面。 第三行是数据表地第几列,即将表2的哪一列放到表1的单元格。输入表2中要查找的列数。在输入第四行数据前,可以看到预览结果为“皖”,显然式不正确的,因为没输入默认为近似查找(相当于输入1),为精确查找应输入0 。点击确定,可以看到单元格里已经出现“川”,成功地将表1要补全
2020-12-17 20:39:03
771
原创 电脑快捷键
创建虚拟桌面:windows + ctrl + D虚拟桌面切换:windows + ctrl + 左箭头/右箭头关闭虚拟桌面:windows + ctrl + F4所有程式最小化:windows + M查看桌面: windows + ,程式与桌面切换:windows + D任务栏打开行应用:windows + 数字键两个应用程式分屏:windows + 左箭头/右箭头显示所有运行程式:ctrl + alt + tab打开任务视窗 :windows + tab切换程式
2020-12-12 20:27:50
181
转载 verilog中signed的使用
1、在verilog中有时会用signed修饰符来修饰定义的数据,运算的时候也会用$signed()任务来强制转换数据,那么signed的修饰是为什么呢,是为了区分有符号数和无符号数的加法和乘法吗?其实不是的,因为有符号数和无符号数据的加法强结果和乘法器结构是一样的,signed的真正作用是决定如何对操作数扩位的问题。2、verilog中的加法和乘法操作前,会先对操作数据扩位成结果相同的位宽,然后进行加法或者乘法处理。比如a/b都为4位数据,c为5位数据,c = a + b,这个运算的时候会先把a和b扩位
2020-11-22 12:34:31
844
原创 组合逻辑的毛刺与消除
#毛刺任何信号在FPGA 器件内部通过连线和逻辑单元都会有一定的延时,正如通常所说的走线延时和门延时。延时的大小与连线的长短、逻辑单元的数目有关,同时受器件本身的制造工艺、工作电压、温度等条件的影响。信号的高低电平转换也需要一定的上升时间和下降时间。由于存在诸多因素的影响,多个信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出并非同时,而是有先有后,因此往往会出现一些不正确的信号,比如一些很小的尖端脉冲信号,称之为“毛刺”。如果一个组合逻辑电路中有毛刺出现,那么就说明该电路中存在“冒险”。#消除毛
2020-10-31 18:40:58
2129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人