
Verilog
文章平均质量分 51
HengZo
这个作者很懒,什么都没留下…
展开
-
Verilog 之 LFSR伪随机数
产生伪随机数的方法最常见的是利用一种线性反馈移位寄存器(LFSR)。它是由n个D触发器和若干个异或门组成的,如图:其中,gn为反馈系数,取值只能为0或1,取为0时表明不存在该反馈之路,取为1时表明存在该反馈之路;n个D触发器最多可以提供2^n-1个状态(不包括全0的状态),为了保证这些状态没有重复,gn的选择必须满足一定的条件。下面以n=3,g0=1,g1=1,g2=0,g3=1为例,原创 2015-11-06 23:20:25 · 30728 阅读 · 0 评论 -
如何處理signed integer的加法運算與overflow? (SOC) (Verilog)
转载:真 OO无双http://www.cnblogs.com/oomusou/archive/2009/10/31/verilog_signed_overflow.htmAbstract若要將原本用軟體實現的演算法用硬體電路實現,馬上會遇到2個很基本的問題:一個是如何處理負數?另一個是如何處理overflow?雖然很基本,但一旦有問題卻很難debug。Intr转载 2016-10-26 21:39:49 · 2472 阅读 · 0 评论 -
Verilog参数化与连接操作符{}
`define ND 16parameter N = 16localparam NX = N-1; //内部参数使用localparam 定义对一个16位的寄存器,对其进行初始化,现在有以下三种表达方式,1 IMAX 2 IMAX ERROR:unexpected token: 'N'3 IMAX 4 IMAX 编译结果:E原创 2016-11-09 21:47:57 · 6536 阅读 · 0 评论 -
verilog读取文件的预处理问题
verilog modelsim仿真中,使用fscanf仿真,读取数据文件,方式如下:fid_r = $fopen("_bench/real_input.txt","r");fid_i = $fopen("_bench/imag_input.txt","r");for (ii = 0;ii $fscanf(fid_r,"%d",real_i);原创 2016-11-10 00:08:25 · 2073 阅读 · 0 评论 -
序列检测器
引用:http://www.cnblogs.com/qiweiwang/archive/2011/04/18/2019952.html http://www.cnblogs.com/SYoong/p/5953339.html http://www.cnblogs.com/qiweiwang/archive/2011/09/12/2173992.htm转载 2016-10-29 21:47:41 · 1406 阅读 · 0 评论 -
无符号数与有符合数的加法
无符号数与有符合数的加法http://www.cnblogs.com/qiweiwang/archive/2011/03/15/1985040.html转载 2016-10-29 23:14:36 · 695 阅读 · 0 评论 -
一种高精度复数求模近似算法的设计及实现
为快速高精度的完成信号处理过程中近似复数求模运算,本文提出了一种高精度复数求模近似算法的设计和FPGA实现方法,其结合了三种具有不同误差特性的近似求模算法,并采用了简单的加法和移位操作,实现了0.878%的相对误差,精度是同类型其他近似算法的1.57-3.4倍。原创 2016-11-16 22:48:26 · 3845 阅读 · 0 评论 -
MATLAB产生了一组有符号型数据,传给FPGA进行处理
%% 产生了一组有符号型数据,传给FPGA进行处理,%% FPGA的IP核处理有符号数时就是以补码形式进行处理的clear all;close all;clc;fs = 50e6;f0 = 200e3;W = 16; %数据位宽16位N = 1024;t = [0:N-1]/fs;yr = cos(2*pi*f0*t);yi = sin(2*pi*f0*t);% y原创 2016-11-13 23:42:28 · 1900 阅读 · 0 评论 -
锁存器与寄存器的区别
首先应该明确锁存器和触发器也是由与非门之类的东西构成。尤其是锁存器,虽说数字电路定义含有锁存器或触发器的电路叫时序电路,但锁存器有很多组合电路的特性。组合电路就是一个真值表,一个函数,一组输入对应一组输出,当前什么输入就根据函数得到什么输出,实时跟踪变化,这样也就容易有冒险、竞争之类的问题产生毛刺。锁存器:电平敏感always @ (enable)??if (ena原创 2016-11-14 21:22:31 · 26378 阅读 · 4 评论 -
Virtex-5 FPGA Embedded Tri-Mode Ethernet MAC Wrapper v1.8分析
Virtex-5 FPGA Embedded Tri-Mode Ethernet MAC v1.8,实现FPGA光纤通信程序设计。原创 2016-07-28 10:34:59 · 6703 阅读 · 3 评论 -
FPGA超声相控延时算法和相位延时技术
对各阵元的发射相位延时进行精确控制是形成超声相控阵发射波束的关键环节,在相控发射中,需要精确控制相位延时,从而实现动态聚焦、偏转、声束形成等各种相控效果。 相控延时算法论文引用:王伟 ,超声相控阵可控强度发射系统相关技术的研究 以上详细介绍了相控发射和相控接收的原理并对阵列换能器的辐射声场理论以及相控原创 2016-11-26 15:44:02 · 2992 阅读 · 1 评论 -
超声相控相关的一点链接
1)Ultrasound Phased Array http://www.ndt.net/article/v07n05/rdtech/rdtech.htm2)ultrasonic Inspection technique using multi-element probes http://www.ndt.net/article/wcndt00/papers/idn009/idn0原创 2016-11-26 19:17:56 · 833 阅读 · 0 评论 -
如何计算一个有符号数的补码表示?
转载:http://blog.youkuaiyun.com/jbb0523/article/details/6668237按照【谭浩强.C程序设计(第三版).北京:清华大学出版社,2005】的第40页至第41页所述,求一个负数的补码的方法如下:【例】求-10的补码的方法如下:1)取-10的绝对值10;2)10的绝对值的二进制形式为1010;3)对1010取反转载 2016-10-25 21:05:28 · 2753 阅读 · 0 评论 -
Verilog使用有符号数
在Verilog中使用二进制补码数据,对负数求绝对值,也就是负数取反,正数不变。已知负数A,则|A|=~A+1,或者|A|=-A,两种是等效的,但是FPGA编译出来资源一样?等待试试。但是,但是,有符号数的负最大值,取反后,还是原数,如x[3:0] 是1000=-8,取反加1后后,还是1000,则需要进行符号位扩展,在高位扩展一位符号位,然后取反加1,才是绝对值。求绝对原创 2016-10-25 00:02:23 · 8656 阅读 · 0 评论 -
Verilog三段式状态机描述
Verilog三段式状态机描述(转载) 时序电路的状态是一个状态变量集合,这些状态变量在任意时刻的值都包含了为确定电路的未来行为而必需考虑的所有历史信息。状态机采用VerilogHDL语言编码,建议分为三个always段完成。三段式建模描述FSM的状态机输出时,只需指定case敏感表为次态寄存器, 然后直接在每个次态的case分支中描述该状态的输出即可,不用考虑状态转载 2015-11-06 15:20:19 · 2501 阅读 · 0 评论 -
Verilog之function使用说明
1.function的定义function [range] function_name; input_declaration other_declarations procedural_statement endfunction(1)函数通过关键词 function 和 endfunction 定义;(2)不允许输出端口声明(包括输出和双向端口) ;但可原创 2015-11-06 22:41:03 · 7000 阅读 · 0 评论 -
Verilog接收PWM信号并计算占空比
程序描述:// Description//---------------------------------------------------------------------------// This module reads the pulse width of a repetitive variable duty cycle// digital input. Pulse Wi原创 2015-11-06 16:28:30 · 8661 阅读 · 1 评论 -
Verilog 之随机波形产生-可综合
// Poisson process generator. // Generate Poisson process with desired inversed rate (number of clocks per hit).// The rate is defined by parameter LN2_PERIOD. For example, the LN2_PERIOD=4 will g原创 2015-11-08 22:20:44 · 6596 阅读 · 0 评论 -
Verilog同步FIFO
关键:本文简单说明了FIFO的实现方式,同步FIFO,判断full或者empty方法使用FIFO内容计数器,设置一个变量fifo_cnt记录存储器中数据个数: //判断空满assign buf_empty = (fifo_cnt == 0); //buf_empty若是reg类型则错,不能使用assign持续赋值assign buf_full = (fifo_cnt翻译 2015-11-06 15:32:55 · 19633 阅读 · 16 评论 -
Verilog中task使用
使用Verilog-2001语法,格式更简洁:Verilog 1995:Using the Task Function, Combine Port List, Type Information, and TaskBy combining the port list and type information, the above features are applicable tofun原创 2015-11-06 15:22:59 · 8212 阅读 · 0 评论 -
Xilinx FIFO IP核仿真没有数据输出和空满信号错误的解决
Xilinx FIFO IP核仿真没有数据输出和空满信号错误的解决 工程:使用生成的IP核,调用Modelsim仿真,但是问题出现了,仿真没有数据输出和空满信号错误的解决,输出为高阻态'Z'。如下图:如图,空empty、满full、dout数据不变化。原因:ISE自动生成了.do文件仿真,本放着生成的.do代码如下:问题出现在24行。编译了F原创 2015-11-23 19:01:08 · 8703 阅读 · 0 评论 -
ISE使用IP核生成的SRAM,读写需要时钟的原因
原文地址:http://bbs.ednchina.com/BLOG_ARTICLE_3021049.HTM 在工程中,FIFO 是一个经常用到的模块,进行不同时钟域数据的转换。在用FPGA时,FIFO直接调用IP核,简单、实用。昨天晚上,在网上看到百度一个笔试题,用 SRAM 写一个 FIFO ,于是想到这样一个问题,FIFO的结构式什么样的 ?不用IP 核,自己转载 2015-11-20 22:19:22 · 4492 阅读 · 0 评论 -
Cannot find `include file "timescale.v" in directories
Cannot find `include file "timescale.v" in directories原创 2016-07-23 23:03:33 · 5131 阅读 · 0 评论 -
Verilog求相反数
条件:数据data为signed 目的操作:将数据取相反数。即8变-8,-7变7。 误区:仅仅是“取反加1” 误区操作的后果: 若data=1000,表示为-8,取反加一后仍为1000,仍为-8module minusdata; reg clk; reg [3:0]cnt; wire [3:0]minuscnt; wire [3:0]notad原创 2016-10-23 23:57:03 · 15961 阅读 · 6 评论 -
FPGA使用有符号数signed
在FPGA中使用有符号数,进行有符号数的相关运算。Verilog代码:原创 2016-10-24 00:20:33 · 3340 阅读 · 1 评论 -
FPGA定点数截断实现
rounding/truncation fixed-pointit depends on the type of data in the 32 bit number.. if all bits contain data truncate the 16 LSBs .. if say some of MSBs are repeated sign bits truncate them e原创 2017-04-20 00:40:00 · 2756 阅读 · 0 评论