E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
#Verilog
动态延迟模块的
verilog
编写
在FPGA项目中遇到一个问题,大体是要实现不同数据的动态延迟,而且要实现流水作业。如下为示意图:为此思考了方案一------------------------------------------------------------------------------------------------------------------------------------------------
gffsky1990
·
2020-08-14 03:10
FPGA
verilog
HDL
System
Verilog
学习笔记 - 动态数组
今天遇到了一个动态数组的问题,作一记录,区分开了动态数组与嘟列的区别,总是有些分不清,虽然接触sv三年有余,这种小问题还是没有能摸得很透彻,很惭愧,不在家没有vcs的环境,于是借用edaplayground这个好东西,可以在线编译run一些小demo,对于check语法实在是方便不过。动态数组动态数组区别于静态数组的一点是可以根据使用情况来new不同的空间大小,比如inttest_array[];
swordiel
·
2020-08-14 03:59
UVM
verilog
连续赋值驱动能力配置
在调试iic(mdio)接口的时候发现时钟和数据管脚默认都是输出低电平,但是实际上我在逻辑中都是分别赋值为高阻态,为什么选通输出后就变低了呢?解释一下公司的测试接口是iic和mdio,由于都是2wire,所以需求是根据协议可以自由切换接口,也就是说同一对接口要兼容两种不同的协议,同时数据线又是inout型,所以选通赋值有些复杂,但是也不难。平台使用的是cycloneIV器件,所以用signalta
superyan0
·
2020-08-14 03:28
FPGA
verilog
quartus
altera
Verilog
HDL 语法学习(二)赋值语句,运算符语句,结构语句用法
手握残阳沥血剑,心有冷月凝霜刀,绝顶一览众山小,无悔世间走一遭,过程本身就是一种快乐。运算符概述1.逻辑运算符(&&,||,!)//"&&""||"优先级高于关系运算符,"!"优先级高于算数运算符(a>b)&&(x>y)//可以改写为a>b&&x>y(a==b)||(x==y)//可以改写为a==b||x==y(!a)||(a>b)//可以改写为!a||a>b为提高程序可读性,明确表达各运算符间的
sunny00544
·
2020-08-14 03:27
FPGA学习
verilog
赋值
赋值数字'二进制binary简写B八进制octal简写O十进制Decimal简写D十六进制HexadecimalHsized例子:3'b0103位宽二进制数010前缀3表示数字位宽。unsized例子;123默认为32位宽十进制。默认没有指定位宽,进制,默认为32位宽十进制。没有指定,默认decimal。没有指定默认32位宽数字。例:16'd25516位宽十进制8'h9a8位宽十六进制'b1010
蚂蚁起点
·
2020-08-14 03:27
verilog
【
Verilog
语法】分支延迟槽
参考:MIPS中的跳转/分支指令关于跳转指令Branchdelayslot分支延迟槽第一次看见分支延迟槽是在这里查了一下解释:以下内容摘自:MIPS中的分支延迟槽和存储延时槽在最初的MIPS五级流水线中,一条指令被分成了5个阶段:取指,从源寄存器读取内容,逻辑运算,内存读取,写回到寄存器。当第一条指令的ALU结束时,第二条指令的RD阶段也已经结束了。那么如果第一条指令是分支跳转指令,那么在ALU阶
寒泉Hq
·
2020-08-14 03:51
MIPS汇编
Verilog
HDL语言中关于赋值的一些概念
Verilog
HDL语言中关于赋值的一些概念赋值有四种方法:门基元,持续(连续)赋值,过程阻塞赋值(“=”)和非阻塞赋值(“<=“)。这四种方法分成两大类:门级时序模型和过程时序模型。
casevison
·
2020-08-14 03:16
FPGA
Verilog
HDL编写SPI Slave通信
moduleSPI_Slave(clk,//systemclock50MHzSCK,SSEL,MOSI,MISO//SPIcommunicationpin);inputSCK,SSEL,MOSI;outputMISO;//syncSCKtotheFPGAclockusinga3-bitsshiftregisterreg[2:0]SCKr;always@(posedgeclk)SCKr<={SCKr
samssm
·
2020-08-14 03:13
(二)
verilog
uart tx 串口发送一个字节数据
`timescale1ns/1ps////////////////////////////////////////////////////////////////////////////////////Company://Engineer:////CreateDate:18:57:3106/18/2019//DesignName://ModuleName:uart_tx//ProjectName:
redsleep
·
2020-08-14 03:40
Xilinx
FPAG
Verilog
中条件编译`define,`ifdef,`else和`endif的使用
对于`define,`ifdef,`else和`endif首先要注意的是加在字母前面的是一个反向单引号。具体用法和matlab语法比较相似。他们的作用是条件编译。条件编译的意思就是,在编译工程中只编译满足条件的部分,不满足条件的,就意味没有用。`define这个关键词的作用是定义一些参数,比如:`defineTESTtest_u.moulde_a就把TEST定义为test_u.module_a了,
re_call
·
2020-08-14 03:39
ASIC设计
16位rgb2gray算法
verilog
移植
用三级流水线优化方法:整体扩大256倍,再右移8位
verilog
代码//==================localdefines==================`defineSIMmodulergb2gray
杨少侠qy
·
2020-08-14 03:03
FPGA基础
4*4矩阵键盘的FPGA驱动
二、
Verilog
代码实
杨少侠qy
·
2020-08-14 03:02
FPGA基础
verilog
实现异步fifo
首先要理解fifo的写满和读空,用多出来的一位来扩充地址使用格雷码判断当,写指针追上读指针时候就是写满,为了方便判断当写满时候即,写地址地最高和次高位与读地址相反其他位相同时就是写满,当读地址的所有位和写地址的所有位相等就是读空代码根据图可以轻松得到:下图是地址计数器的增加图写控制器:modulew_ctrl(inputwirew_clk,//写时钟inputwirerst_n,//复位input
tschu_
·
2020-08-14 03:30
笔记
FPGA基础知识23(
Verilog
中条件编译命令_`ifdef、`else、`endif_用法)
Verilog
中条件编译命令ifdef、else、`endif用法一般情况下,
Verilog
HDL源程序中所有的行都参加编译。
菜鸟-求指导
·
2020-08-14 03:29
一天一道
Verilog
编程题(三)
有一个16bit序列每个clk向左移一位,要求检测5的倍数题目要求检测出5的倍数,如若不是5的倍数那除以5必然会产生余数,所以我们可以检测16个周期后是是否有余数产生。这里用状态机来实现是比较合理的,状态定义如下:S0:余数为0;S1:余数为1;S2:余数为2;S3:余数为3;S4:余数为4;状态转换如图所示moduledevide_5#(parameterWIDTH_D=16)(inputser
爱哭不秃头
·
2020-08-14 03:25
数字电路设计
Verilog
HDL
FPGA_
Verilog
_SPI从机
1SPI概述SPI,是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上
红茶绿茶和奶茶
·
2020-08-14 03:22
FPGA
进位链加法器
一、进位链加法器的原理二、进位链加法器的
verilog
源代码//modulename:carry_chain_adder//modulefunction:the8bitcarrychainadder`timescale1ns
Tristone1217
·
2020-08-14 03:46
FPGA
Verilog
HDL初级入门
-缩写CPLD(complexprogrammablelogicdevice)复杂可编程逻辑器件FPGA(fieldprogrammablegatearray)现场可编程门阵列PLD(programmablelogicdevice)可编程逻辑器件PAL(programmablearraylogic)可编程阵列逻辑ASIC(applicationspecificintegratedcircuits)
IC.SmallWhite
·
2020-08-14 03:15
语言类
Verilog
中$timeformat的用法
Verilog
中$timeformat的用法更新历史20200807:首次发布语法$timeformat的语法如下:$timeformat(units_number,precision_number,suffix_string
永恒的止水
·
2020-08-14 03:15
硬件逻辑开发
verilog
入门
Verilog
---赋值和各种运算符小结
入门
Verilog
—赋值和各种运算符小结第一次写博客,想要把入门FPGA的一些总结记录下来。如果能对你有帮助,那是最好不过了,哈哈哈。以下很多内容都是借鉴书籍《XilinxFPGA开发实用教程》而得。
qq_38374491
·
2020-08-14 03:15
FPGA
入门
Verilog
语法:条件编译—Generate
用
Verilog
中的generate语句就可以实现条件编译的功能了,这个功能
风中少年01
·
2020-08-14 03:22
Verilog
Verilog
语法:`Include以及条件编译`ifdef- `else- `endif
include和define都是预处理命令,用于常量阐述的定义。//---------------------------------------`includefile1.v//--------------`defineX=1;`defineY`ifdefYZ=1;`elseZ=0;`endif有时候我们会定义一些公共的宏参数,将其放在一个文件中,比如这个文件命名为**.v,那么就可以在其他设计
风中少年01
·
2020-08-14 03:22
Verilog
Verilog
中for/generate语句
目录1、for语句2、generate语句2.1循环生成语句2.2条件生成语句2.3case生成语句参考《
Verilog
数字系统设计》1、for语句在C语言中,经常用到for循环语句,但在硬件描述语言中
工作使我快乐
·
2020-08-14 03:50
FPGA基础进阶
学会使用Hdlbits网页版
Verilog
代码仿真验证平台
给大家推荐一款网页版的
Verilog
代码编辑仿真验证平台,这个平台是国外的一家开源FPGA学习网站,通过“https://hdlbits.01xz.net/wiki/Main_Page”地址链接进入网页
相量子
·
2020-08-14 03:49
FPGA
Verilog
Verilog
中的`timescale及它对仿真时间的影响
`timescale`timescale是
Verilog
中的预编译指令,指定位于它后边的module的时间单位和时间精度,直到遇到新的`timescale指令或者`resetall指令。
qq_16923717
·
2020-08-14 03:18
Verilog
FPGA
数字信号处理
verilog
设计过程中#1的问题
verilog
代码中使用#1延迟有这样子的一种“神话”,为了修正非阻塞赋值的问题,要求加上#1delay。因此在一般的非阻塞赋值中经常会看到#1的延迟,工程师的解释是为了防止非阻塞赋值奔溃。
烟花一时
·
2020-08-14 03:46
Verilog设计的不归路
【system
verilog
】继续探究IC前端仿真中的“时间”,timescale,timeunit/timeprecision设置
前言仿真中的时间单位/时间精度设置是保证验证环境稳定高效的重要手段,但是很多场景下却常常被忽视。如果没有设置合理的相对统一的时间单位/时间精度,不仅延时、打印等信息会不准确,多模块/环境协同时也会隐藏难以发现的问题。因此,继续探究仿真中的时间概念,timescale,timeunit/timeprecision等。timeunit/timeprecisiontimeunit/timeprecisi
moon9999
·
2020-08-14 03:31
SV
(16)
verilog
条件编译(FPGA不积跬步101)
一般情况下,
Verilog
HDL源程序中所有的行都将参加编译。调试中希望只对一部分内容指定编译的条件,这就是“条件编译”。2为什么要使用条件编译?
宁静致远dream
·
2020-08-14 03:24
FPGA小试牛刀
非阻塞赋值的内部延时和外部延时
学习
verilog
有一段时间了,从字面上理解,阻塞和非阻塞的区别很直白。前者是串行,主要用于描述组合逻辑,和软件中的赋值类似;后者是并行,主要用于描述时序逻辑。
ltshan139
·
2020-08-14 03:19
嵌入式驱动开发杂记
verilog
中仿真延迟为负数会怎么样
背景://----------------------------------------------------------------------------------------------------------------------------------------一般我们习惯于在非阻塞赋值前加入一个延迟值,如下:假设这个延迟值为负数会怎么样?验证://--------------
kevindas
·
2020-08-14 03:56
verilog
Verilog
中几种赋值语句
在
Verilog
中有两种类型的赋值语句连续赋值和过程赋值赋值表达式由三个部分组成左值赋值运算符=或assignout=en?
kobesdu
·
2020-08-14 03:26
硬件
verilog
中仿真延迟的添加
参考:从仿真语义的角度看
Verilog
中延时、阻塞与非阻塞赋值----------------------------------------------------------------------
kevindas
·
2020-08-14 03:25
verilog
verilog
系统任务——$display,$write,$strobe,$monitor,$stop,$finish
系统任务也属于行为级建模,系统任务的调用要出现在initial与always结构中。所有的任务都已$开头。1、$display,$write用于信息的显示和输出。其中,%b或%B二进制%o或%O八进制%d或%D十进制%h或%H十六进制%e或%E实数%c或%C字符%s或%S字符串%v或%V信号强度%t或%T时间%m或%M层次实例\n换行\t制表符\\反斜杠\\"引号”\%%百分号%调用方式:eg:$
Tiger-Li
·
2020-08-14 03:54
FPGA
第一次用
verilog
调试串口(发送、接收)
1、首先是发送,程序如下`timescale1ns/1psmodulesend(in_data,out_data,en,clk);inputclk;input[7:0]in_data;inputen;outputregout_data;reg[12:0]timer;reg[7:0]in_buffer;//regtx_flag;always@(posedgeclk)beginif(en==1)beg
不得了哒
·
2020-08-14 03:11
FPGA
Verilog
学习笔记基本语法篇(八)········ 结构说明语句
Verilog
中的任何过程都可以属于以下四种结构的说明语句;1)initial;2)always;3)task;4)function;1)initial说明语句;一个程序中的initial和always
hjf161105
·
2020-08-14 03:05
嵌入式系统FPGA
verilog
中assign语句
*******************************Module:assign*Date:2014-08-10*Author:
[email protected]
**Description:
verilog
hemmingway
·
2020-08-14 03:34
Verilog
HDL常用的行为仿真描述语句(一)
一、循环语句1、forever语句forever语句必须写在initial模块中,主要用于产生周期性波形。2、利用for、while循环语句完成遍历for、while语句常用于完成遍历测试。当设计代码包含了多个工作模式,那么就需要对各个模式都进行遍历测试。其典型的应用模板如下:parametermode_num=5;initialbegin//各种不同模式的参数配置部分for(i=0;i
formerman
·
2020-08-14 03:50
FPGA/CPLD
Verilog
HDL的编译预处理语句
一、宏定义'define语句包括宏定义指令包括:'define和'undef。声明语法格式:'define在代码中的应用格式:'macro_name和parameter的区别:作用域不同:parameter作用于声明的那个文件。而'define的作用范围从编译器读到define语句开始,到'undef语句结束。可以超过单个文件的边界时仍然有效。parameter可以作为模块例化时的参数传递,实现参
formerman
·
2020-08-14 03:50
FPGA/CPLD
Verilog
赋值语句
0简介赋值分为“连续赋值语句”、“过程赋值语句”和“过程连续赋值语句”。1连续赋值语句语法上,必须有assign关键字标识;用于对线网进行赋值,等价于门级描述;不能出现在过程块(initial/always)中;产生作用后,赋值表达式中的信号任何变化都会立即反映到左值线网型数据中;2过程赋值语句语法上,无assign关键字标识;用于对变量(寄存器、整数、实数或时间)等赋值;只能出现在过程块中;只有
时行居正
·
2020-08-14 03:48
FPGA
Verilog
中宏定义`define的使用
书中是`define宏定义+`inlude"file.v"文件包含来实现参数模块化设计的方式实战:1.新建参数模块文件(我命名为para.v);2.在para.v文件中使用'define宏定义参数://`define+name+参数`defineSTATE_INIT3'd0`defineSTATE_IDLE3'd1`defineSTATE_WRIT3'd2`defineSTATE_READ3'd3
dipai7741
·
2020-08-14 03:11
VHDL:信号、端口以及和
Verilog
的区别
1.信号信号是描述硬件系统的基本数据对象,它的性质类似于连接线。信号可以作为设计实体中并行语句模块间的信息交流通道。信号作为一种数值容器,不但可以容纳当前值,也可以保持历史值(这决定于语句的表达方式)。这一属性与触发器的记忆功能有很好的对应关系,只是不必注明信号上数据流动的方向。信号定义的语句格式与变量相似,信号定义也可以设置初始值,定义格式是:SIGNAL信号名:数据类型:=初始值;同样,信号初
dianhuo7207
·
2020-08-14 03:40
Verilog
语言设计增加延时的正确方法
在设计仿真激励文件时,为了满足和外部芯片接口的时序要求,经常会用到延时赋值语句,由于不同的延时赋值语句在仿真过程中行为不同,会产生不同的激励输出,如果不认真区分不同表达式引起的差异,就可能产生错误的激励,无法保证仿真结果的正确,本文就是区分各种延时赋值语句的差异,并给出比较结果;1:阻塞式左延时赋值语句举例说明如下:moduleadder_t1(co,sum,a,b,ci);outputco;ou
bleauchat
·
2020-08-14 03:51
verilog基础
$strobe/$display/$monitor
verilog
使用$display,$strobe系统任务来打印log。用$display()系统任务来显示当前变量的值。用$strobe()系统任务来显示用非阻塞赋值的变量值。
a389085918
·
2020-08-14 02:35
FPGA
Verilog
语法--Gate门
Verilog
中已有一些建立好的逻辑门和开关的模型。在所涉及的模块中,可通过实例引用这些门与开关模型,从而对模块进行结构化的描述。
a15022335636
·
2020-08-14 02:03
基于
Verilog
语言的13进制计数器设计
基于
Verilog
语言的13进制计数器设计`timescale1ns/1ps///////////////////////////////////////////////////////////////
Summertrainxy
·
2020-08-14 02:21
EDA
【
Verilog
HDL】赋值语句之阻塞赋值方式与非阻塞赋值方式
刚开始接触
Verilog
HDL语言时,这种硬件描述语言有一点与软件的程序设计语言直观上的最大区别大概就是这个赋值语句了(这里只是强调直观上的最大区别,事实上的最大区别并非如此)。
李锐博恩
·
2020-08-14 02:47
#
Verilog
初级教程(11)
Verilog
中的initial块
参考资料写在最后前言仿真中通常会依次执行一组
Verilog
语句。这些语句被放置在一个程序块中。在
Verilog
中主要有两种类型的程序块–initial块和always块。
李锐博恩
·
2020-08-14 02:47
#
数字设计基础教程
Verilog
学习笔记(四)
initial语句:在仿真中只执行一次,用于初始化变量,描述一次性行为,在仿真时刻0开始执行。下面是initial语句的示例:`timescale1ns/1nsmoduleTest(Pop,Pid);outputPop,Pid;regPop,Pid;initialbeginPop=0;//语句1。Pid=0;//语句2。Pop=#51;//语句3。Pid=#31;//语句4。Pop=#60;//语
Qin_xian_shen
·
2020-08-14 02:15
Verilog学习笔记
Verilog
学习笔记(三)--连续赋值语句
在连续赋值语句中,某个值被指派给线网变量。连续赋值语句的语法为:assign[delay]LHS_net=RHS_expression;右边表达式使用的操作数无论何时发生变化,右边表达式都重新计算,并且在指定的时延后变化值被赋予左边表达式的线网变量。时延定义了右边表达式操作数变化与赋值给左边表达式之间的持续时间。如果没有定义时延值,缺省时延为0。解码器电路`timescale1ns/1nsmodu
Qin_xian_shen
·
2020-08-14 02:15
Verilog学习笔记
Verilog
学习笔记--时延
Verilog
-时延
Verilog
HDL模型中的所有时延都根据时间单位定义。下面是带时延的连续赋值语句实例。assign#2Sum=A^B;#2指2个时间单位。使用编译指令将时间单位与物理时间相关联。
Qin_xian_shen
·
2020-08-14 02:15
Verilog学习笔记
上一页
91
92
93
94
95
96
97
98
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他