verilog
Wiley.Wen
这个作者很懒,什么都没留下…
展开
-
Qsys生成simulator时产生的tcl脚本建立仿真
用Qsys生成simulator时产生的tcl脚本建立仿真的过程:对QSYS的仿真采用其自己生成的sim文件夹中的tcl脚本,不用自己在do文件中加入IP文件列表了,可以比较快速的建立qsys的仿真工程。针对该qsys的testbench还是得自己建的。过程如下:针对qsys核建立测试工程将msim_setup.tcl中的# # TOP-LEVEL TEMPLATE - BEGIN 到# # TOP-LEVEL TEMPLATE - END 复制到另外一个文件,保存为mentor.do修改 me原创 2020-07-08 09:17:31 · 731 阅读 · 0 评论 -
Verilog有符号数与无符号数的数值运算
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/u014485485/article/details/79962316仿真工具:Vivado 2015.2一、无符号数1.高位溢出赋给一个位宽不够的数wire [3:0] a=4’b1111;//15wire [3:0] b=4’b0010;//2wire [3:0] c;assign c = a + b;//17=10001wir转载 2020-06-08 11:00:19 · 2841 阅读 · 0 评论 -
verilog中逻辑操作语法
verilog中逻辑操作语法一级目录二级目录三级目录1. 单目运算符2. 双目运算符3. 条件运算符4.拼接运算符5.运算优先级6. 注意事项一级目录二级目录三级目录1. 单目运算符+ // Unary plus- // Unary minus! // Logical NOT~ // Bitwise NOT& // Reductive AND~&原创 2020-06-03 09:58:02 · 2801 阅读 · 0 评论 -
复数乘法器设计
复数乘法器等效变换复数乘法运算是正常计算过程需要4个乘法,2个加法,逻辑设计过程中乘法器相对加法器需要更到的与或非门逻辑来实现,可以进行如下等效变换,减少乘法器使用:(a+bi) * (c+di) = (ac-bd) + (bc+ad)i = ac-da + da -bd + (bc-ca+ca+ad)i =a(...原创 2020-05-07 09:01:23 · 1608 阅读 · 0 评论 -
setup和hold timing分析不满足是解决方法
setup violation主要就是设法剪掉critical path的delay,要么pipeline(流水线分一下),要么retiming,要么把combination往前后级挪一挪。hold time violationhold time violation是clock tree的skew引起的。主要的宗旨就是设法加前面一级combination的delay,比如加buffer什么的......原创 2022-07-24 09:07:37 · 1823 阅读 · 0 评论 -
verilog中reg,integer的使用规则
verilog中integer的使用1. verilog中常用的数据类型Verilog中共有19种数据类型。1)基本的四种类型:reg型、wire型、integer型、parameter型。其他类型:large型、medium型、small型、scalared型、time型、tri型、trio型、tril型、triand型、trior型、trireg型、vectored型、wand型和w......原创 2019-08-07 15:51:31 · 13776 阅读 · 0 评论 -
verilog 宏编译语句使用
一般情况下,Verilog HDL源程序中所有的行都参加编译。但是有时候希望对其中的一部份内容只有在条件满足的时候才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足条件时对一组语句进行编译,当条件不满足时则对另外一组语句进行编译。条件编译命令的几种形式:(1)`ifdef宏名(标识符) 程序段1 `else 程序...转载 2019-08-05 15:34:10 · 1813 阅读 · 0 评论 -
Intel FPGA高速设计代码原则总结
1.问题来源使用Intel FPGA做项目开发,timing优化的时候发现双端口fifo 异步复位端口出现reconvery 不满足的warning2.问题解决方法查看了Intel fifo ug,有如下一段描述:通过描述修改fifo设置参数,重新generate fifo ip,重新对项目工程进行版本综合,问题得到解决3.附带一些quartus中timing问题其它解决办法(A10)...原创 2019-07-01 19:10:28 · 1010 阅读 · 0 评论 -
Intel FPGA调试linux系统USB-Blaster驱动安装
Intel FPGA调试linux系统USB-Blaster驱动安装驱动安装步骤驱动安装步骤1.不同linux系统驱动文件创建1)ubuntuFor Ubuntu 12.04/14.04/16.04 create the file /etc/udev/rules.d/51-usbblaster.rules with the following contents:# USB Blaster...原创 2019-06-19 11:19:43 · 1465 阅读 · 1 评论 -
异步复位,同步释放的理解
异步复位,同步释放的理解文章转自:https://blog.csdn.net/u011729865/article/details/49281713 什么情况下复位信号需要做异步复位同步释放处理 异步复位同步释放原理 利用前面两级触发器实现特点 问题1 如果没有前面两级触发器的处理异步信号直接驱动系统的触发器会出现什么情况 问题2 复位信号存在亚稳态有危险吗 问题3 ...转载 2018-11-27 10:59:43 · 585 阅读 · 0 评论 -
转载:verilog组合逻辑描述用assign或者always@(*)的区别
///转载 verilog描述组合逻辑一般常用的有两种:assign赋值语句和always@(*)语句。两者之间的差别有: 1. 被assign赋值的信号定义为wire型,被always@(*)结构块下的信号定义为reg型,值得注意的是,这里的reg并不是一个真正的触发器,只有敏感列表为上升沿触发的写法才会综合为触发器,在仿真时才具有触发器的特性。2. 另外一个区别则是更细微的差...原创 2018-04-28 17:10:22 · 2004 阅读 · 0 评论 -
quartus16.1使用过程中的错误原因分析
在项目中基于quartus16.1做A10 soc开发中发现经常会有各种莫名错误,排除相关设置及设计代码原因后,有相当一部分问题原因跟基于16.1开发A10项目时对服务器硬件资源需求相关。1.quartus编译过程出错 错误提示:failed to synchronize partition; 翻译过来是:分区同步失败 原因:内存紧张,无法满足综合所需内存空间2.fit过程出错 错...原创 2018-05-09 15:10:56 · 4037 阅读 · 0 评论 -
verilog加法溢出判断(附代码)
版权声明:本文为博主皮皮http://blog.csdn.net/pipisorry原创文章,未经博主允许不得转载补码加法运算溢出判断三种方法:[方法一]Xf、Yf分别两个数的符号位,Zf为运算结果符号位。当Xf =Yf =0(两数同为正),而Zf=1(结果为负)时,负溢出;当出现Xf =Yf =1(两数同为负),而Zf=0(结果为正),正溢出.[方法二]Cs表示符号位的进位,Cp表原创 2018-01-17 15:13:28 · 13558 阅读 · 0 评论