- 博客(62)
- 资源 (5)
- 收藏
- 关注
原创 verilog语法-----generate结构-(IEEE Std 1364™-2005翻译)
verilog语法-----generate结构文章主要观点是从verilog-IEEE-2005里面提取的,讲的不透彻的,可以查看英文原本Generate constructs generate constructs用于在一个module中生成有条件的或嵌套的generate blocks。generate blocks是一个或多个module的集合。generate blocks可能不包含端口声明,参数声明,特定块或specparam声明。包含generate blocks在内的所有其他中mod
2020-05-18 21:46:33 1525
原创 内嵌约束中local的用法
在使用内嵌约束(inline constraint) randomsize() with {CONSTRAINT}时,约束体中的变量名的查找顺序默认是从被随机化对象开始查找的,但如果调用randomize()的函数局部域(local scope) 中也有同名变量,那么就需要使用local::来显示声明该变量来源于外部函数,而非被随机化的对象(在约束中也可用this/super来索引这些变量)。...
2020-04-17 14:34:26 1064
原创 systemverilog随机函数
随机函数1.pre_randmosize() 和post_randmosize有时需要在定义randmosize之前或之后立即执行一些操作,例如在随机前设置类型的一些非随机变量(上下限,条件值),或者在随机化之后需要计算随机数据的误差,分析与记录随机数据等。Sv中预定义的两个void类型函数。用户可以在类中定义这两个函数,分别定义随机化前和随机化后的行为。如果某个类中定义了pre_ran...
2020-04-10 19:22:40 4844
转载 创建一个简单的systemverilog程序
例如. Hello world!作为一个面向对象的语言,免不了来一个国际惯例: Hello world!下面是完整的代码:program tb(); initial begin $display("Hello, world!"); endendprogram用VCS进行编译和运行:Hello, world! 代码解释:跟c语言的main函数类似,sv语言需要一...
2020-03-26 21:27:14 1820
原创 Systemverilog语言(9)-------events and inter-process communication
1.topicsevent:主要实现握手semaphores:共享资源管理mailboxes:类似FIFO,传输数据时可以作为缓存
2020-03-26 17:39:06 388
原创 Systemverilog语言(8)-------threads and inter-process communication
1.topicsthreads :线程semaphores:信号量2.threadsverilog里面:begin…end(顺序执行) ,fork…join(并发执行)可以构成线程。fork…join:三个线程同时跑,同时结束(取决于耗时最长的线程)fork…join_any:三个线程同时跑,任何一个线程跑完了就可以跑下面一个线程fork…join_none:出现的三个线程当做...
2020-03-26 00:32:27 385
转载 System Verilog OOP 学习笔记
原文链接:https://www.cnblogs.com/loves6036/p/5568036.html1、OOP术语a.类(class):包含变量和子程序(函数或者任务)的基本构建块。b.对象(object):类的一个实例。c.句柄(handle):指向对象的指针。d.属性(property):存储数据变量。e.方法(method):任务或者函数中操作变量的程序性代码。f.原...
2020-03-25 11:25:43 360
原创 PCIe的IP核接口信号介绍
xapp1052给的IP核接口,From pg054:1.tx是针对用户逻辑说的,实际对应IP个接收。2.rx采用雷同于tx接口,只说几个关键的信号。3.物理层接口为用户监控链接状态时使用,简单介绍一下,具体查阅pg054。4.用户通过配置接口能监控终端模式下PCI Express的配置空间。用户给出10-bit的配置地址,选择1024个DWORD配置寄存器中的一个,终端通过32-bit的...
2020-03-18 22:28:08 4880
原创 Systemverilog语言(6)-------OOP
Object Oriented Programming1.topicterminology :术语oop:将数据和对数据的一些操作封装在class里inheritance :继承polymorphism :多态2. introductionoop:将数据和对数据的一些操作封装在一起transaction:OOP也称为transaction的建模OOP封装在class里面,类...
2020-03-14 20:40:56 557
原创 Systemverilog语言(5)-------Procedural statements and Routiness
1.outlineSV里面对task和function进行加强。2. task and function支持自增自减,但是很可能会产生race;支持逻辑判断符,当比较元素含x或z时,最终返回的结果是x或z;x或z只能在表达式的右侧,在左侧时则无法判断;3.inside用于定义某个值得范围;4.强制转换(tpye,size,sign)size `(exp)5. lo...
2020-03-13 17:35:02 457
原创 Systemverilog语言(4)-------data types(2/2)
1.topic2.dynamic array声明动态数组一般用:【】new 【】:可用于定义数组宽度,;数据类型和宽度一致的固定数组也可以赋值给动态数组,满足一致条件也可以相互赋值;上图:示例dyn.delete() :删掉原来所有元素;动态数组有内建函数,delete,size等;3.queue能排序,查找,插入,删除;不需要new【】声明操作;支持入栈,出栈;...
2020-03-13 00:39:42 1212
原创 Systemverilog语言(3)-------data types(1/2)
1.overviewenumenrated:枚举Two-state :双状态数据,相对于四状态(0,1,x,z)数据而言的,最简单的双状态类型bit;strings :字符串(左上角一个单撇):表示位扩展信号,可以将每一位扩展为指定值;但是注意全1是不能扩展的,必须全部写出来,如上例data= 64hffffffffffffffff。(verilog语法)SV里面数据扩展一个单撇...
2020-03-12 20:57:39 669
原创 Systemverilog语言(2)------- Systemverilog Interface
1.outlineInterface是SV里面新增加的概念;Stimulus timing:仿真的区间或者区域;Clocking Blocks :interface里面用于同步的关键字;connecting tsetbench and designsv里面增加了.和interface,共三种连接方式,verilog通过名称例化实现。.:*(*是通配符)主要用于连接相同名字的变量自...
2020-03-12 15:01:08 1241
原创 Systemverilog语言(1)
Course Overviewassertions(断言):检查时序非常有效;周期段、跨时钟域检查。2.systemverilog构建testbench的一般环节:3.Soc design flow(1):Regression:违规测试;新加的功能不会影响原来的功能。(2):DFT:design for test.主要为了测试芯片是否有物理缺陷。(3):纳米级线延时可能比逻...
2020-03-11 21:13:22 576
原创 Xilinx原语
原语,即primitive。不同的厂商,原语不同;同一家的FPGA,不同型号的芯片,可以也不一样;原语类似最底层的描述方法。使用原语的好处,可以直接例化使用,不用定制IP;即可通过复制原语的语句,然后例化IP,就可使用;Xilinx是通过直接修改原语中的参数再例化IP来使用;Xilinx公司的原语分为10类,包括:计算组件,IO端口组件,寄存器/锁存器,时钟组件,处理器组件,移位寄存器,配置和检...
2020-03-05 23:27:45 5104
原创 仲裁器---总线仲裁器(CPU自制)
下面是一个总线仲裁的逻辑和简单tb,实际参考网上常见的那一个版本,但是有点问题纠正一下。http://blog.eetop.cn/blog-317611-13565.html//以输入信号作为状态机的转移条件,写得比较冗余//优先级排序ABC// 总线上挂3个信号A,B,C,仲裁信号grant[1:0]。// grant[1:0]=2’b00 A获得总线// gr...
2020-03-04 14:39:50 1823
原创 MIG连载-----写模块(3)
写模块总体框图写模块分别用命令fifo和数据fifo里面读取数据;a7_wr_bl :用户接口突发传输的数据个数n,则传输的总bit数位128*n。app_rdy,app_wdf_rdy :来自IP核分别表示IP和准备好接受数据和写数据准备好写入。写时序图1.wr_bl,addr_init:用于将数据缓存起来,因为a7_wr_start有效一个时钟周期2.wr_flag :指示可以...
2020-03-03 16:09:29 892 1
原创 MIG连载-----7系列MIG介绍(2)
Spartan6 DDR占用MCB资源(硬核资源),7系列占用MIG资源;1.添加IP博文较多,此处至重点介绍其中关键信息;Clock Period : 指的是IP核给DDR3的时钟,和速度等级有关,-n,其中n越大则最高频率越大。PHY to Controler Clock Ratio :Memory Part :若用的DDR选项里没有,可以先点击Creat Custom Part ...
2020-02-26 21:46:57 4983 4
原创 MIG连载---SDRAM介绍(1)
1.镁光SDRAM命名总的存储容量为512Mb,分为4个bank;16Meg x 8 x 4,16Meg表示每个bank有16M字的存储空间,x8表示每个字8bit。2.feature自动刷新(Auto refresh):refresh 是以行为单位进行刷新的,刷新需要8192个cycle,则代表有8192行,完整的刷新完一个bank至少需要8192个刷新指令,并且最多每隔64ms...
2020-02-19 18:16:23 1761
原创 元胞数组---matlab
O{i,j} = [O{i,j} t]----------含义:[i,j]的位置元素用t替换;赋值时必须使用大括号O{i,j} =t ----------------含义:[i,j]的位置赋值为t;如果坐标位置和所赋的值是变量,在循环结束后,O{i,j} = [O{i,j} k];它会存储下该位置上的所有赋过的值。而O{i,j} =t; 只保存最后一个。...
2019-12-07 14:11:55 268
翻译 AXI4 & AXI4-stream 相关笔记
https://www.jianshu.com/p/f816228087c6前言:最近需要对一个已经实现功能的IP核添加支持AXI总线接口的数据通信接口,于是研究了一下AXI4和AXI4-stream的接口,下文中大部分内容来自于其他博主,这里写此篇综合一下,以便日后查阅。(`由于本人水平有限,如有错误欢迎指正!`)1、初识AXI总线:1.1、通信模型:AXI主设备...
2019-11-15 21:32:08 1497
转载 verilog 字符串
3.4.3字符串常量字符串是双引号内的字符序列,用一串8位二进制ASCⅡ码的形式表示,每一个8位二进制ASCⅡ码代表一个字符。例如:字符串“ab”等价于16'h5758。如果字符串被用作Verilog表达式或复制语句的操作数,则字符串被看做无符号整数序列。1.字符串变量声明字符串变量是寄存器型变量,它具有与字符串的字符数乘以8相等的位宽。【例3.13】字符串变量的声明。存...
2019-11-01 22:28:01 11320
原创 手算平方根硬件实现之---(基本介绍)
首先划分数字成组,不管是整数还是小数,均以小数点为分界线,向左和向右每两位数字划为一个单元(整数的话直接向左划分),直到不够两个数字为止。比如: 12345,可以看做1,23,45; 1234,可以看做12,34; 0.123看一看做0.12,3; 0.1234可以看做0.12,34。 以7654.321为例,按照之前的划分可以看作76,54.32,1,首先计算...
2019-10-30 15:51:33 1923 1
原创 异步FIFO
异步FIFO介绍 :https://www.cnblogs.com/IClearner/p/6579754.html//==============================================================================// Author : chauncey_wu// Email : chauncey...
2019-10-24 21:34:34 306
原创 CMOS工艺的反相器版图
CMOS工艺的反相器版图。沿X方向一般称为:宽度;沿Y方向称为:长度。常说的xxnm工艺就是指的源漏之间的够到长度,在同一工艺下,长度是不变的,但由于NMOS的导通电阻大约是PMOS的1/3,同一个互补的MOS管,N管和P管导通电阻一般要求接近,因此,P管的宽度大约为N管得3倍。...
2019-09-06 15:19:30 8505 1
转载 verilog随机函数$random(seed)
“$random函数调用时返回一个32位的随机数,它是一个带符号的整形数...”,并给出了一个例子:_____________________________________________________EX-1:reg[23:0] rand;rand=$random % 60; //产生一个在-59—59范围的随机数—————————————————————————...
2019-07-29 16:54:06 20151 4
转载 verilog语法之generate
https://blog.csdn.net/qq_38428056/article/details/84821982https://blog.csdn.net/shnhwdj1984/article/details/80849828
2019-05-23 20:57:53 624
原创 连通域标记
一、前言二值图像,顾名思义就是图像的亮度值只有两个状态:黑(0)和白(255)。二值图像在图像分析与识别中有着举足轻重的地位,因为其模式简单,对像素在空间上的关系有着极强的表现力。在实际应用中,很多图像的分析最终都转换为二值图像的分析,比如:医学图像分析、前景检测、字符识别,形状识别。二值化+数学形态学能解决很多计算机识别工程中目标提取的问题。二值图像分析最重要的方法就是连通区域标记,它是...
2019-05-21 20:46:34 2589
转载 verilog常用系统函数
1.打开文件 integer file_id; file_id = fopen("file_path/file_name");2.写入文件:$fmonitor,$fwrite,$fdisplay,$fstrobe //$fmonitor只要有变化就一直记录 $fmonitor(file_id, "%format_char", parameter); $fmonit...
2019-05-17 11:18:18 3751
原创 FPGA配置过程中外部时钟EMCCLK频率确定
参考手册:DS182-Kintex-7 FPGAs Data Sheet:DC and AC Switching Characteristics XAPP587-BPI Fast Configuration and iMPACT Flash Programming with 7 Series FPGAsFPGA配置过程中,如果在BitGen软件中选择使用外...
2019-05-12 23:06:25 6321
转载 FPGA上电后IO的默认状态
本文系转载:http://qrs.crafcn.com/hangye/2018/0803/85182.html概述在进行FPGA硬件设计时,引脚分配是非常重要的一个环节,特别是在硬件电路上需要与其他芯片通行的引脚。Xilinx FPGA从上电之后到正常工作整个过程中各个阶段引脚的状态,会对硬件设计、引脚分配产生非常重要的影响。这篇专题就针对FPGA从上电开始 ,配置程序,到正常工作整个过程...
2019-05-12 22:09:52 4109
转载 UG_470 7系列FPGA配置引脚说明
reference : ug470- 7 series config.pdf 7系列器件有5种配置接口,每种配置接口对应一种或者多种配置模式和总线位宽。配置时序相对于引脚的CCLK,即使在内部产生CCLK的主模式下也是如此。 Master模式包括: serial / spi / bpi / selectMAP ; JTAG模式 ; Slave模式包括:serial/se...
2019-05-07 21:10:30 5826
转载 超标量、超流水、超线程
一、超流水线技术 超流水线(Super Pieline)技术是RISC采用的一种并行处理技术。他通过细化流水,增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。其实质就是以时间换取空间。超流水机器的特征就是在所有的功能单元都才用流水,并有更高的时钟频率和更深的流水深度。 二、超标量技术 超标量(Super Scalar)技术是RISC采用的有一种处理技术。它通过内装多...
2019-04-04 17:38:36 10550
原创 Modelsim中仿真IP核
第一步:编译仿真库找到你的Xilinx的安装目录,在“安装目录/bin/nt”(我的是H:\ISE_14_7_zaixnag\14.7\ISE_DS\ISE\bin\nt)下面,找到compxlibgui.exe。 双击运行 上面是选择你安装的MODELSIM版本,modelsim-altera是不支持的。通常是安装questa simulater。 选择是VHDL...
2019-03-31 23:24:40 2746
原创 Xilinx 综合时出现错误:“Port I of Input buffer ibufds_ref_clk is connected to GND”
这个ERROR的意思是:在时钟模块里面,定义的一个输入,但是却被赋值了。问题的原因是:实例化的时钟和系统的时钟不是同一个时钟,这时候仔细检查时钟大小写、时钟命名灯信息。具体解决过程:添加时钟信号...
2019-03-28 17:17:00 3566 1
转载 三段式状态机_verilog
这是一篇转载的文章,但是个人理解笔者将前两个always块结构搞错了,自行纠正了一下。原文链接https://www.jianshu.com/p/5eee434ab24d1. 三段式要求有限状态机采用三段式风格,即三个always块描述状态机. 第一个时序逻辑always块用来描述当前状态.(current state) 寄存器的复位和变化. 第二个组合逻辑...
2019-03-12 16:16:35 2266
UART_demo - GELI.zip
2020-03-20
_基于Xilinx_PCIe_Core的DMA设计.pdf
2020-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人