- 博客(75)
- 资源 (6)
- 收藏
- 关注
原创 在verilog中使用clogb2函数可进行log2操作,用来计算数据位宽
//function called clogb2 that returns an integer which has the//value of the ceiling of the log base 2.function integer clogb2 (input integer bit_depth);beginfor(clogb2=0; bit_depth>0;
2018-01-09 16:58:14
24501
转载 modelsim10.4 搭建uvm平台
在modelsim中建立UVM环境,使用的UVM是UVM1.1d。如果安装的是modelsim 10.4版本的话,软件自动的将UVM的库给编译好了,生成了.dll文件,供UVM验证使用。在modelsim的安装目录下的 UVM-1.1d/win64下,就有一个uvm_dpi.dll。以hello_world.sv这个例子为例,说明验证环境的搭建。在这个文件目录下,有
2016-10-13 22:30:29
5692
原创 今后软件工程师也可以玩转FPGA了,XILINX软件开发者专区提供各类指南、视频等多种资料让您快速上手!
今后软件工程师也可以玩转FPGA了,XILINX软件开发者专区提供各类指南、视频等多种资料让您快速上手!http://xilinx.eetop.cn/action-soft
2016-01-18 11:23:48
816
原创 DE1——soc第一步实现流水灯
最近在研究DE1——soc开发版,通过学习了相关资料,自己先从简单的东西开始,就写了一个简单的流水灯来熟悉开发板,之后会做一些其他相关的东西,先将这些基本的测试记录下来,以备以后使用和相互交流,学习。以下是相关代码module my_first_project(input clk,input rst_n,input [1:0] sel, output reg[9:0
2015-02-12 00:06:31
3315
1
原创 modelsim 仿真中遇到的问题
1.在工程仿真当中,发现了位宽不是1位的信号,在仿真时为全f,但是其数据非f,可以展看此信号,查看其信号为仿真的正确值,非F;2.在工程当中,仿真的时候,发现信号一直为x,红线。查看逻辑时,完全正确,在无解时,发现了顶层信号将输入数据连接成了输出数据;修改后正确。
2015-02-11 22:21:45
1893
原创 verilog module 传参数后,该模块如何应用其参数
module module_name #(parameter WD = 12)(相关接口定义);always@(posedge clk or negedge rst_n)beginif(!rst_n) x elsex endendmodule
2015-01-31 23:20:39
1361
原创 ubuntu如何删除安装的软件,
最简单办法是,当我们知道软件的名称,那么我们就直接在终端命令窗口中输入命令就可以了:sudo apt-get remove --purge open-m-tools--purge 选项表示彻底删除改软件和相关文件
2015-01-24 14:05:43
1126
原创 sv中$bitstorealshort() 函数
在sv中用$bitstorealshort()函数可以轻松的将十六进制,二进制数转化成单精度浮点数,以下为源代码,在modelsim10.1c中测试通过,文件需要保存为.sv文件module h2f;integer fid_rd;integer fid_wr;// integer fid_mif; bit [11:0] variable=0; bit [31:0] va
2015-01-22 16:30:24
4086
原创 verilog 中最后用$fclose()的错误
用下边的的语句实现了一个写文件的功能integer fw_id;initial begin fw_id=$fopen("first.txt","w"); $fmonitor(fw_id, "%h\n", x_rl_a1_o); $fclose(fw_id);end结果就出现了这个:$fmonitor : Argument 1 is an unknown file
2015-01-09 09:14:45
2878
转载 quartusii 使用ModelSim do文件实现仿真(Verilog)
使用ModelSim do文件实现仿真(Verilog)QuartusII从9.1之后的版本都已经取消了内部自带的仿真器,都需要借助第三方仿真软件比如Modelsim才能实现仿真。一般在进行代码编写的时候,如果结合功能仿真,可以很快的验证代码实现的逻辑是否满足要求。所以熟练使用Modelsim也是逻辑工程师必须掌握的一个技能。由于Modelsim可以支持命令行的方式,通过创建d
2014-12-25 19:50:26
3496
转载 matlab 读写txt文件
Matlab有着强大的数据处理功能,经常需要从外部文件读取数据或将数据写到外部文件。Matlab和外部文件进行数据交换相关的命令,个人目前了解到的有以下几种。 (0)自己添加 你可以将txt的一些文本数据直接拷贝到matlab窗口,然后保存为mat文件,下次就可以直接采用load函数了。(1)Loadload 从Matlab的数据文件.mat中读取变量
2014-12-17 17:16:00
1122
原创 modelsim do 文件
下边是写的do文件的例子。#creat a work libvlib work#map the work lib to current libvmap work work#compile the source filesvlog +acc -work work "F:/modelsimproject/data_mem/src/fifo32x16.v"vlog +
2014-12-09 23:07:37
1230
转载 ise 编译库
用命令:compxlib -s mti_se -l all -arch fpga -lib all -w -exclude_superseded -dir e:\xilinx_lib
2014-12-09 16:37:22
4824
3
转载 Quartus II调用modelsim无缝仿真
Quartus II调用modelsim无缝仿真本篇文章为转载,写的不错,最近在学modelsim仿真,网上的教程很乱,把自己认为不错的整理贴出来,后面有机会会写个详细点的。Quartus 中调用modelsim的流程1. 设定仿真工具 assignmentèsettingèEDA tool settingèsimulation 选择你需要的工具。
2014-12-05 00:41:54
1141
转载 在cygwin下完整工作环境的搭建(备忘)
这算是一个变态的嗜好:力求在纯文本模式下完成一切可能的工作,并且还要在windows下工作。 下面的配置未特意说明的地方,要么是太简单不值得说明,要么是顺应了对应软件的默认配置行为。1.基本环境 从 http://www.cygwin.com 下载 cygwin.exe ,按其默认选择安装即可。以后逐步根据需要添加软件包。 根据本人需求,额外添加
2014-07-01 23:43:06
3969
转载 solution cygwin $DISPLAY environment variable questions
使用新版本的Cygwin,安装时出现很多问题。------------------留作参考---------------------- 首先从官网下载setup.exe后运行安装,选择需要的包。 在终端输入gitk后出现错误: Application initialization failed: no display name and no $D
2014-07-01 10:53:06
865
转载 MASC/uCLinux On LEON3
Contents [hide] 1Introduction1.1Hardware1.2People2System3Building uCLinux3.1Cross Compiler3.2uCLinux Source3.3TSIM4Building the LEON35Program ML505 with μCLinux and LEON36Follow
2014-07-01 00:17:54
2425
转载 如何用ModelSim se完全编译Xilinx库文件
如何用ModelSim se完全编译Xilinx库文件什么是之前的老办法呢?Modlesim 仿真库的建立:将Modelsim根目录下的modelsim.ini的属性由只读改为可写。新建一个文件夹,比如library(为叙述方便,把它放在modelsim的根目录下)。D:/modelsim/library.启动Modelsim,选择[File]/[chang D
2014-06-30 22:35:55
6284
转载 vivado2013.4 and modelsim 编译库
vivado2013.4和modelsim联合仿真 最近在做Zynq的项目,曾经尝试使用ISE+PlanAhead+XPS+SDK组合和Vivado+SDK来搭建工程,使用中发现前者及其不方便后者有诸多不稳定。近期得闻Xilinx退出Vivado2013.4,就迫不及待的想试用一把,看之前的bug是否有修复,稳定性有没有变好,就从和ModelSim的联合仿真做起吧。
2014-06-30 22:34:31
5036
原创 vivado error 使用笔记
http://www.xilinx.com/support/answers/54317.html点击打开链接DescriptionI have created an IP core, using Manage IP or from a project IP catalog targeting a specific part. Then, when I read th
2014-06-25 15:57:56
11114
转载 vcs rtl tool 简介
VCS RTL VerificationVCS 数字逻辑仿真器和VCS MX混合HDL语言仿真器都是Synopsys的智能RTL验证解决方案的基石。VCS是业界领先的仿真器,支持本征断言(native assertion)描述、自动测试平台生成技术(testbench)、以及代码和断言覆盖引擎,确保智能化验证的实现。VCS中本征代码支持 (Native)技术确保了设计验证的效率、性
2014-05-19 19:44:43
7394
转载 ISE中进行综合后时序查看
ISE中进行综合后,查看生成的report,找到Timing Report部分。简要分析如下:=========================================================================TIMING REPORTNOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
2014-03-23 15:03:09
14429
1
原创 同步fifo
fifo 为 先进先出缓存电路。按所需的时钟可以分为异步fifo(读写时钟频率或相位不相同)和同步fifo(读写时钟相同),其有按一个深度进行读写的,也有连续读写一块的,有读写位宽一致的,也有读写位宽是倍数关系的。好的fifo设计的基本要求是:写满而不溢出,读空又不多读。1.同步fifo的设计下图为一个fifo的整体结构。根据此结构,写如下代码;`define DATA
2014-03-23 15:01:06
1687
转载 定点数与浮点数区别
转自http://www.cnblogs.com/cloudseawang/archive/2007/02/06/641652.html定点数与浮点数区别最近做HDR时,经常要用NV提供的16位纹理,它的说明书16位能达到24位的精度,就很奇怪?一直搞不懂浮点数的精度怎么算的?今天认真看了一下IEEE float point的标准,终于明白是什么了1. 什么是浮点数
2014-03-17 17:19:27
4473
原创 ram存储器的简单实现
1.单端口ram读使能有效,输出数据,否则为高阻。module ram(clk,wr_en,rd_en,addr,data); input clk; input wr_en,rd_en; inout [7:0] data; reg [7:0] mem [15:0] ; reg [7:0] temp; assign data = rd_en?temp:8'bz;al
2014-03-10 09:23:33
5314
原创 verilog 实现加法器
verilog 实现加法器(1)半加器的实现原理:半加器是由两个一位输入实现的,与全加器的区别是不带进位加,相对比较简单,其逻辑关系为: 进位输出:Ci+1=Ai*Bi 和输出:Si = Ai^Bi 其中*为与逻辑,^为异或逻辑。verilog 实现:module half_adder(a,b,sum,cout); input a; input b; ou
2014-03-07 12:06:23
24715
转载 Modelsim之 DO文件简介
转自:http://www.cnblogs.com/LJWJL/archive/2013/01/14/simulation.html 网上的关于DO文件的编写好像资料不多,比较杂,所以本人总结一下常用的简单语法,方便大家查看。其实本人也刚接触DO文件没多久,有纰漏很正常,欢迎指正批评,互相学习。PS:写得有点乱 还有一个值得注意的是 我在看到这篇文章的时候我正在仿真一个ver
2014-03-04 10:10:33
1602
转载 HashMap
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本
2014-02-20 15:01:27
643
转载 verilog中的有符号数运算
verilog中的有符号数运算有符号数的计算:若有需要关于有号数的计算,应当利用Verilog 2001所提供的signed及$signed()机制。Ex:input signed [7:0] a, b;output signed [15:0] o;assign o = a * b;orinput [7:0] a, b;
2014-01-13 17:37:38
2118
转载 error spawning cl.exe 的解决方法
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的 “Compiling... ,Error spawning cl.exe”错误提示给郁闷过。很多人的 选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的, “CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录/VC98/Bin”下面, 你可以到相应的路径下找到这个应用程序。
2013-12-11 17:06:53
752
转载 C指针原理(12)
转自:http://blog.youkuaiyun.com/myhaspl/article/details/14644629(2)扩充计算器加入对括号和注释的支持,首先修改flex文件,在第二部分加入更多的词法规则(对于注释直接忽略):"(" {return LEFTBRACKET;}")" {return RIGHTBRACKET;}"#".* /*忽
2013-12-09 19:47:35
645
转载 C指针原理(11)
转自:http://blog.youkuaiyun.com/myhaspl/article/details/14445431二、flex和bison联合工作1 、我们开始构造一个计算器程序。创建flex代码/*计算器*/%{enum yytokentype{ NUMBER=258, ADD=259, SUB=260,
2013-12-09 19:45:26
684
转载 C指针原理(10)
转自:http://blog.youkuaiyun.com/myhaspl/article/details/14228099flex和bison编译系列 Cygwin是一组工具,在WINDOWS操作系统下提供LINUX外观,让用户感觉在LINUX环境操作一样。Cygwin关键是cygwin1.dll库,它能模拟LINUX的API层,提供大量的linux API函数。
2013-12-09 19:43:01
1307
转载 C指针原理(9)
转自:http://blog.youkuaiyun.com/myhaspl/article/details/14224755我们使用m标记可以直接在内存中对数进行操作,前面的例子对变量进行操作时都需要将变量值存储在要修改的寄存器中,然后将它写回内存位置中.#include int main(void){ int xa=2; int xb=6
2013-12-09 19:31:10
770
转载 C指针原理(8)
转自:http://blog.youkuaiyun.com/myhaspl/article/details/14148715[cpp] view plaincopyprint?#include int main(void){ int xa=6; int xb=2; int result; //使用
2013-12-09 19:22:22
558
转载 C指针原理(6)
转自:http://blog.youkuaiyun.com/myhaspl/article/details/14140551内联汇编的重要性体现在它能够灵活操作,而且可以使其输出通过 C 变量显示出来。因为它具有这种能力,所以 "asm" 可以用作汇编指令和包含它的 C 程序之间的接口。简单得说,内联汇编,就是可以让程序员在C语言中直接嵌入汇编代码,并与汇编代码交互C程序中的C表达式,享受汇编的高运行效率
2013-12-09 19:13:25
579
转载 C指针原理(5)
[plain] view plaincopyprint?.section .data myvalue: .byte 67,68,69,70,0 mygs: .asciz "%c\n" .section .text .globl main main: #基地址(偏移
2013-12-09 19:06:46
545
转载 C指针原理(4)
转自:http://blog.youkuaiyun.com/myhaspl/article/details/14140035首先我们先用汇编编写一个helloworld,注意我们直接在汇编代码中调用C语言的printf函数将"hello,world\n" 输出在屏幕上。[plain] view plaincopyprint?.section
2013-12-09 19:03:53
936
转载 C指针原理(3)
转自:http://blog.youkuaiyun.com/myhaspl/article/details/14139759Linux 平台的标准汇编器是 GAS,它是 GCC 所依赖的后台汇编工具,通常包含在 binutils 软件包中,--gstabs 告诉汇编器在生成的目标代码中加上符号表,我们首先完成汇编: as -gstabs -o hello.o hello.s汇编器产生的目标代码
2013-12-09 18:58:04
577
转载 C指针原理(2)
[plain] view plaincopyprint?.section .text data: .byte 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01#8字节 .globl main main: movl $0x12345678,%edx bswap %edx#反转字符顺序
2013-12-09 17:52:15
592
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人