FPGA学习总结
鹏博奋斗
学习共享,共同进步!
展开
-
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 · 550 阅读 · 0 评论 -
FPGA中加减乘除运算的注意问题
FPGA中有关加减乘除运算的位宽问题:1:在进行加减乘除运算时一定要注意位宽,保证足够大的位宽,防止数据溢出,如果溢出结果就会出现错误,尤其是加和乘运算,一定要计算好位宽(位宽的计算可以都取其最大值,看最大值计算后的位宽就是最大位宽,采用这个位宽数据就溢出不了)2:除法运算时:除法和减法都是缩小数据,得到的最后结果如果要比原来的位宽小的时候,那取数据的低位,把高位抛弃,取低位的位宽数和输出结果的位...原创 2018-05-13 16:25:07 · 12841 阅读 · 2 评论 -
FPGA实现sobel边缘检测算法的几点小问题
这几个问题开始挺困扰我的,后来经过看别人的博客,以及询问,再加自己的理解,总算弄懂一点,特分享出来1,我们使用了移位寄存器的IP核,即shift_ram,这个IP核的设置中,关于distance的设置应该是你图像分辨率的行数,比如640,因为你图像是一行一行传输过来的,我们利用公式计算的3*3矩阵,利用的是3行和3列,而不是每行的前9个数据组成的矩阵。2,边缘检测的边界会出现一些不理想的因素,是因...原创 2018-05-10 11:01:38 · 1383 阅读 · 0 评论 -
安装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 · 4075 阅读 · 5 评论 -
关于Quartus ii 在计算机从有线网切换到无线状态下出现的问题
Quartus ii在有线网切换到无线网状态下会出现破解不成功,不能正常使用的问题,因为安装无线网卡后,计算机里的网卡号就变了,导致license.dat里面的网卡就变换了,破解文件就不能成功运行了,所以就不能用了.解决方法:第一种:如果想在无线网状态下运行该软件,则重新找一下该计算机里的网卡号,将该网卡号替换掉license.dat里面的三处网卡号即可第二种:如果想在有线网状态下原创 2018-01-03 18:19:47 · 1241 阅读 · 0 评论 -
FPGA中韩彬(大神)的异步复位,同步释放方法
module system_ctrl//无PLL的全局时钟模块顶层(下面的那个模块是这个顶层模块的子模块)(input clk,input rst_n,output clk_ref,//输出时钟output sys_rst_n//输出复位);//----------------------------------------------原创 2017-12-04 10:30:04 · 1642 阅读 · 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 · 664 阅读 · 0 评论 -
FPGA跨时钟域处理数据总结
跨时钟域的数据传递的方法可以分为好几种,一下介绍两种:1.打节拍:就是用同一个时钟控制数据的进入,用两个寄存器,这样能造成时钟延时一个周期,这个要注意一下,这种方法是用来外来的信号和咱这个模块的时钟不是一个时钟,它是外人,这个不能用于高频率向低频率的数据传输,因为高频的数据的保持时间很短,后面的低频率很难采集到这个数据。打拍就打两拍,多了的是为了检测电平的变化情况。(例子是comban原创 2017-12-04 10:26:29 · 2862 阅读 · 0 评论 -
对各路大神的FPGA串口程序总结
特权同学和黑金的串口都没有达到连续传输数据的要求,韩彬和邓堪文的串口设计都达到了数据的连续传输的要求,可能是韩彬和邓的串口中,在接收模块都设置有接收数据的个数这一寄存器,都是计数到8个就停止!!原创 2017-12-04 10:23:21 · 1592 阅读 · 0 评论 -
FPGA进行串转并,并转串总结
并行转串行数据输出:采用计数方法,将并行的数据的总数先表示出来,然后发送一位数据减一,后面的接收的这样表示: data_out 串行转并行数据输出:采用位拼接结束,将串行的数据总数先表示出来,然后发送一位数据加一,后面的接收的这样标志:data <= {data[6:0],data_out };原创 2017-12-04 10:21:51 · 12533 阅读 · 0 评论 -
我又回到技术领域了
刚毕业时去了中国移动,与技术行业相去甚远,现在我又回来了,继续我的FPGA事业! 加油吧!少年!原创 2019-08-13 19:42:27 · 186 阅读 · 0 评论