Verliog语法入门篇
文章平均质量分 80
米联客(milianke)
硬件设计-测试-LINUX驱动
展开
-
米联客-FPGA程序设计Verilog语法入门篇连载-24 FPGA知识_认识FPGA中的状态机
状态机的描述通常有三种方:一段式状态机、二段式状态机、三段式状态机,当然你可以写出四段式,五段式,但是一般来说,常用的不超过三段式。如果选用是一段、二段还是三段根据实际情况,一般原则,很简单的状态机一段式搞定,稍微复杂的用二段式,很复杂的用三段式。大部分情况我们都是面对的简单的状态机。原创 2024-08-15 13:14:05 · 267 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-23 FPGA知识_认识时序逻辑和组合逻辑代码
学习FPGA编程,一定要搞清楚是时序逻辑电路,什么是组合逻辑电路。我们编写FPGA的代码尽量使用时序逻辑,因为时序逻辑电路,更有利用控制时序上的同步,这本身和目前的FPGA是以LUT查找表的方式实现的逻辑关系有关,而且也和FPGA逻辑规模越来越大有关系。大规模的组合逻辑,不利于时序的控制。原创 2024-08-15 13:09:59 · 576 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-22 FPGA知识_解密FPGA的加法逻辑运算
由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构。LUT本质上就是一个RAM。它把数据事先写入RAM后,每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。原创 2024-08-15 13:03:19 · 945 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-21 FPGA知识_解密XILINX FPGA 基本单元CLB
CLB是FPGA的基本逻辑单元,我们可以把CLB理解为FPGA的细胞单元。每个CLB里面包括了2个Slices,每个Slice又是由4个LUT(查找表),8个寄存器以及一些逻辑门组成。掌握这些基本单元的功能应用,以及功能特性,可以为我们未来对采取代码编程的时候,更好的实现代码和硬件的最佳配合。原创 2024-08-15 11:46:35 · 867 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-20 FPGA知识_初识FPGA
对于很多初次接触FPGA的读者来说,FPGA是陌生而神秘,对于学习了一段时间的读者来说,感觉FPGA强大,无所不能,而自己的技术能力却一无所能。这是很多初学者必须面对的困难,也是必须要搞清楚的问题原创 2024-08-15 11:19:47 · 674 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-19 Verilog语法_低功耗设计
低功耗技术在当今得到越来越广泛的发展,在你的身边存在着许多的消费电子产品,无一不含有低功耗技术的成果。比如现在的智能手机,体积、重量都比之前有了很大提升,低功耗技术使得手机电池的续航能力进一步增强;无线蓝牙耳机,做到非常小的体积内,容纳小容量电池,也是得益于低功耗技术的发展。原创 2024-08-15 11:14:27 · 757 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-18 Verilog语法_FIFO设计
FIFO表示先入先出,它是一种存储器结构。同步FIFO是使用单一时钟同时进行读取和写入操作的,数据流和相关的控制逻辑在同一个时钟域内处理。原创 2024-08-15 11:11:35 · 706 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-17 Verilog语法_时钟分频设计
有时我们在时序电路设计中,有些模块工作频率会低于外部时钟频率,此时就需要对时钟进行一定的分频得到频率较低的时钟。在FPGA内部常常存在一定的PLL(锁相环,Phase Locked Loop)资源,它可以对时钟进行分频或者倍频的操作。原创 2024-08-15 11:06:35 · 663 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-16 Verilog语法_复位设计
为确保系统上电后有一个明确、稳定的初始状态,或系统运行状态紊乱时可以恢复到正常的初始状态,数字系统设计中一定要有复位电路模块。复位电路异常可能会导致整个系统的功能异常,所以在一定程度上,复位电路的重要性也不亚于时钟电路。复位电路可分类为同步复位、异步复位、异步复位同步化和异步复位同步释放。原创 2024-08-15 11:02:43 · 366 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-15 Verilog语法_跨时钟域设计
由慢时钟到快时钟的信号传递,就传输的信号位宽一般分为两种,单比特信号和多比特信号由快时钟到慢时钟的信号传递,就传输的信号位宽一般分为两种,单比特信号和多比特信号。原创 2024-08-14 20:00:39 · 307 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-14 Verilog语法_同步与异步设计
数字电路设计中,一般认为,频率相同或频率比为整数倍、且相位相同或相位差为固定的两个时钟称为同步时钟。换句话说,时钟同源且频率比为整数倍的两个时钟为同步时钟。原创 2024-08-14 19:57:16 · 457 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-13 Verilog语法_流水线设计
流水线的基本思想是:把一个重复的过程分解为若干个子过程,每个子过程由专门的功能元件来实现。将多个处理过程在时间上错开,依次通过各功能段,这样每个子过程就可以与其他子过程并行进行。原创 2024-08-14 19:53:40 · 336 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-12 Verilog语法_仿真文件设计
Testbench文件内容往往包含以下几种:信号变量声明。时钟与复位信号的生成。被测试模块接口信号的波形激励生成。被测试模块的例化。被测试模块接口数据的校验模块。打印仿真信息。原创 2024-08-14 19:51:19 · 196 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-11 Verilog语法_函数与任务
如果传给任务的变量值和任务完成后接收结果的变量已定义,就可以用一条语句启动任务,任务完成后控制就传回启动过程。如任务内部有定时控制,则启动的时间可以与控制返回的时间不同。任务可以启动其他任务,其他任务又可以启动别的任务,可以启动的任务数量不受限制。不管有多少任务启动,只有当所有的启动任务完成以后,控制才能返回。原创 2024-08-14 19:46:12 · 501 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-10 Verilog语法_一般设计规范
在verilog编程时需要注意以下几点:(1)时序电路建模时,用非阻塞赋值(原创 2024-08-14 19:43:44 · 986 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-09 Verilog语法_竞争与冒险
在数字电路设计中,信号传输或者状态变换时在硬件电路上都会有一定的延时。在组合逻辑电路中,不同路径的输入信号变化传输到同一点门级电路时,在时间上有先有后,这种先后所形成的时间差导致输出产生不应有的尖峰干扰脉冲的现象叫做竞争。由于竞争的存在,输出信号需要经过一段时间才能达到期望状态,过渡时间内可能产生瞬间的错误输出,这种现象被称为冒险。竞争不一定有冒险,但冒险一定会有竞争。原创 2024-08-14 19:38:15 · 248 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-08 Verilog语法_模块端口与例化
本小节讲解Verilog语法的模块端口与例化的方法,需要掌握模块的端口的类型,以及有几种例化方式。模块在介绍设计方法时有提到子模块,与此概念基本相通,但是在Verilog语法中,模块有一定的格式要求。在一个模块中引用另一个模块,对其端口进行相关连接,叫做模块例化。模块例化建立了描述的层次。信号端口可以通过位置或名称关联,端口连接也必须遵循一些语法规则。原创 2024-08-14 19:34:56 · 390 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-07 Verilog语法_条件与循环语句
本节主要讲解Verilog语法条件、循环语句,需要掌握if、case、casex、casez、while、for、repeat、forever语句的用法。原创 2024-08-14 19:30:14 · 536 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-06 Verilog语法_时序控制与语句块
Verilog 提供了两类时序控制方法:时延控制和事件控制。时延控制主要用于仿真,事件控制主要用于时序设计,分为边沿触发控制与电平敏感控制。原创 2024-08-14 19:24:47 · 404 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-05 Verilog语法_过程结构与赋值
过程结构语句有两种,initial 与 always 语句。它们是RTL级建模的两种基本语句。一个模块中可以包含多个 initial 和 always 语句。这些语句在模块间并行执行,与其在模块的前后顺序没有关系。但是 initial 语句或 always 语句内部可以理解为是顺序执行的(非阻塞赋值除外)。两种语句在仿真的开始同时立即执行,initial语句只执行一次,而always 语句重复执行,直到仿真结束。原创 2024-08-14 19:17:28 · 498 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-04 Verilog语法_数据类型及表达式
Verilog中主要有两种数据类型:变量(variable)和线网(net)。这两种数据类型主要区别在于它们的赋值(assign)和保持(hold)方式,它们代表了不同的硬件结构。Verilog的表达式是将操作符合操作数结合起来产生一个结果,我们先来介绍操作符和操作数。原创 2024-08-14 19:12:02 · 681 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-03 Verilog语法_基础语法
Verilog 语言是区分字符大小写的,排版格式比较自由,可以在一行内编写,也可跨多行编写。每个语句必须以分号为结束符。空白符、换行、制表、空格都没有实际的意义,在编译阶段编译器会直接忽略。例如下面两中编程方式都是等效的。原创 2024-08-14 18:56:32 · 755 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-02 Verilog语法_基本设计方法
Verilog的设计方法有两种,一种采用自上而下的设计方法,另一种采用自下向上的设计方法。自上而下的设计方法先定义顶层模块功能,进而分析要构成顶层模块的必要子模块,然后对各个子模块进行分解、设计,直到到达无法进一步分解的下层模块。这个方法,可以把一个大的系统,分成多个小系统,从时间、工作量上分配给更多的人员进行设计,从而提高了设计效率,缩短了相应的开发时间。原创 2024-08-14 18:33:28 · 448 阅读 · 0 评论 -
米联客-FPGA程序设计Verilog语法入门篇连载-01 Verilog语法_Verilog_HDL语言简介
Verilog HDL是一种硬件描述语言,用于从算法级、门级电路到开关级电路的多种抽象设计层次的数字系统建模。被建模的数字系统的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。原创 2024-08-14 18:29:02 · 362 阅读 · 0 评论