- 博客(13)
- 收藏
- 关注
原创 FPGA中加减乘除运算的注意问题
FPGA中有关加减乘除运算的位宽问题:1:在进行加减乘除运算时一定要注意位宽,保证足够大的位宽,防止数据溢出,如果溢出结果就会出现错误,尤其是加和乘运算,一定要计算好位宽(位宽的计算可以都取其最大值,看最大值计算后的位宽就是最大位宽,采用这个位宽数据就溢出不了)2:除法运算时:除法和减法都是缩小数据,得到的最后结果如果要比原来的位宽小的时候,那取数据的低位,把高位抛弃,取低位的位宽数和输出结果的位...
2018-05-13 16:25:07
12554
2
原创 FPGA实现sobel边缘检测算法的几点小问题
这几个问题开始挺困扰我的,后来经过看别人的博客,以及询问,再加自己的理解,总算弄懂一点,特分享出来1,我们使用了移位寄存器的IP核,即shift_ram,这个IP核的设置中,关于distance的设置应该是你图像分辨率的行数,比如640,因为你图像是一行一行传输过来的,我们利用公式计算的3*3矩阵,利用的是3行和3列,而不是每行的前9个数据组成的矩阵。2,边缘检测的边界会出现一些不理想的因素,是因...
2018-05-10 11:01:38
1361
原创 安装DSPbulider的步骤
1. 你的电脑上已经安装QuartusII,Modelism,Matlab(32位),因为QuartusII我用的是13.1版本的,Modelism用的是10.c,Matlab用的是R2012b(32位,必须要32位才行)。Matlab安装包 QuartusII13.1安装包2. 下载DSPbulider安装包 3. 点击上面的图中的第3个文件,开始安装DSPbul
2018-01-17 09:16:06
4022
5
原创 关于Quartus ii 在计算机从有线网切换到无线状态下出现的问题
Quartus ii在有线网切换到无线网状态下会出现破解不成功,不能正常使用的问题,因为安装无线网卡后,计算机里的网卡号就变了,导致license.dat里面的网卡就变换了,破解文件就不能成功运行了,所以就不能用了.解决方法:第一种:如果想在无线网状态下运行该软件,则重新找一下该计算机里的网卡号,将该网卡号替换掉license.dat里面的三处网卡号即可第二种:如果想在有线网状态下
2018-01-03 18:19:47
1195
原创 FPGA中韩彬(大神)的异步复位,同步释放方法
module system_ctrl//无PLL的全局时钟模块顶层(下面的那个模块是这个顶层模块的子模块)(input clk,input rst_n,output clk_ref,//输出时钟output sys_rst_n//输出复位);//----------------------------------------------
2017-12-04 10:30:04
1615
1
原创 特权同学的异步复位,同步处理方法总结
//不带PLL的异步复位,同步释放://其实就是用的打节拍的方式将复位信号控制成clk控制的信号而已!module reset( input clk, input reset, output reset_2); reg reset_1; reg reset_2;always@(posedge clk or negedge
2017-12-04 10:28:37
647
原创 FPGA跨时钟域处理数据总结
跨时钟域的数据传递的方法可以分为好几种,一下介绍两种:1.打节拍:就是用同一个时钟控制数据的进入,用两个寄存器,这样能造成时钟延时一个周期,这个要注意一下,这种方法是用来外来的信号和咱这个模块的时钟不是一个时钟,它是外人,这个不能用于高频率向低频率的数据传输,因为高频的数据的保持时间很短,后面的低频率很难采集到这个数据。打拍就打两拍,多了的是为了检测电平的变化情况。(例子是comban
2017-12-04 10:26:29
2840
原创 对各路大神的FPGA串口程序总结
特权同学和黑金的串口都没有达到连续传输数据的要求,韩彬和邓堪文的串口设计都达到了数据的连续传输的要求,可能是韩彬和邓的串口中,在接收模块都设置有接收数据的个数这一寄存器,都是计数到8个就停止!!
2017-12-04 10:23:21
1573
原创 FPGA进行串转并,并转串总结
并行转串行数据输出:采用计数方法,将并行的数据的总数先表示出来,然后发送一位数据减一,后面的接收的这样表示: data_out 串行转并行数据输出:采用位拼接结束,将串行的数据总数先表示出来,然后发送一位数据加一,后面的接收的这样标志:data <= {data[6:0],data_out };
2017-12-04 10:21:51
12509
原创 FPGA中进行testbench的编写可复制的代码
在进行功能仿真时,这个可用于testbench编写中的复位和时钟的代码编写localparam PERIOD=20; //50mhz initial begin clk=0;forever #(PERIOD/2)clk=~clk; end task task_reset; begin rst_n=0;repeat(2)@(n
2017-12-04 10:19:11
535
原创 NIST测试总结
首先明确要测试什么东西,如果是测试混沌的话,步骤如下:1.拥有混沌的simlunik文件(即.mdl文件),然后运行;2,用的marlab程序运行(程序是我胡师兄写的,),注意修改里面的东西如(要运行的.mdl文件,和要生成序列的文件放在 哪);此时已经生成一个可以用来测试的文件了,如testdata.txt3.打开cygwin文件,输入cd d:/NIST_ceshibao/
2017-05-14 10:13:09
9198
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人