📝 Verilog教程
50篇技术文档📅  最后修改于: 2021-01-11 15:00:32        🧑  作者: Mango
Verilog仿真基础Verilog是一种硬件描述语言,不需要设计人员模拟其RTL设计以将其转换为逻辑门。仿真是一种在不同时间将不同的输入刺激应用于设计以检查RTL代码是否以预期方式运行的技术。仿真是一种验证设计稳健性的熟知技术。这类似于在现实世界中将如何使用预制芯片以及其如何对不同的输入做出反应。例如,以上设计代表了一个具有输入时钟和信号的上升沿检测器,它们会定期进行评估以确定输出。仿真使我们可...
📅  最后修改于: 2021-01-11 15:01:40        🧑  作者: Mango
Verilog时标Verilog仿真取决于如何定义时间,因为仿真器需要知道时间上#1的含义。 timescale编译器指令指定了跟随其的模块的时间单位和精度。句法time_unit是延迟和模拟时间的度量,而time_precision指定在模拟中使用延迟值之前如何取整。使用以下时标构造可在同一设计中使用不同的时间单位。设计中的延迟规范无法综合,因此无法转换为硬件逻辑。'时标为基本计量单位和时间精度...
📅  最后修改于: 2021-01-11 15:02:37        🧑  作者: Mango
Verilog时间格式Verilog timescale指令指定仿真的时间单位和精度。Verilog$ timeformat系统函数在$ display和$ strobe等显示语句中指定%t格式说明符报告样式。句法unit_number是源代码中使用的所有`timescale指令中最小的时间精度。precision表示当前时间范围的小数位数。suffix_string是用于在实时值旁边显示比例的选...
📅  最后修改于: 2021-01-11 15:03:32        🧑  作者: Mango
Verilog调度语义Verilog设计和测试平台通常具有许多代码行,这些代码行包含始终或初始块,连续赋值以及其他过程语句,这些过程语句在模拟过程中的不同时间处于活动状态。Verilog模型中信号值的每次更改都被视为更新事件。并且,对这些更新事件敏感的诸如Always和Assign块之类的过程将以任意顺序进行评估,称为评估事件。由于这些事件可以在不同的时间发生,因此可以通过将它们安排在由模拟时间安...
📅  最后修改于: 2021-01-11 15:04:34        🧑  作者: Mango
Verilog显示任务显示系统任务主要用于显示信息和调试消息,以跟踪日志文件中的模拟流。显示任务和格式可以使用不同的组来打印值。通常,显示系统任务分为三类,例如:显示和编写任务Verilog频闪持续监控任务当调用这些任务之一时,它仅打印其参数。打印参数的顺序与x在参数列表中出现的顺序相同。如果未指定任何参数,则可以将其声明为空参数,并且在调用显示任务时,它仅打印单个空格字符。参数可以是返回值和带引...
📅  最后修改于: 2021-01-11 15:05:30        🧑  作者: Mango
JK人字拖JK触发器是最基本的触发器。时钟时序逻辑电路中使用JK触发器来存储一位数据。它在函数上的SR触发器几乎相同。唯一的区别是消除了S和R均为1的不确定状态。由于有了这个额外的时钟输入,JK触发器具有四个可能的输入组合,例如“逻辑1”,“逻辑0”,“不变”。和“切换”。硬件原理图例我们将在Verilog中编写JK触发器,并为相同的代码编写一个测试平台。试验台边沿触发JK触发器此处描述的JK触发...
📅  最后修改于: 2021-01-11 15:07:24        🧑  作者: Mango
D触发器<em>D</em>触发器是在时钟给定边沿跟随输入引脚<em>d的顺序元件。</em> D触发器是数字逻辑电路中的基本组件。实现了两种类型的D型触发器:上升沿D型触发器和下降沿D型触发器。D触发器是一个边沿触发的存储设备,当其时钟输入发生有效边沿跳变时,会将其D输入上的信号值传输到Q输出。然后,输出值一直保持到下一个有效时钟周期为止。使用边沿触发的always语句来推断触发器。通过在事件列...
📅  最后修改于: 2021-01-11 15:08:19        🧑  作者: Mango
T字拖鞋T代表(“ toggle”)触发器,以避免SR触发器处于中间状态。我们应该仅向触发器提供一个输入,称为触发输入切换输入,以避免发生中间状态。然后,触发器充当Toggle开关。下一个输出状态通过当前状态输出的补码来更改。此过程称为“切换”。我们可以通过更改JK触发器来构造T触发器。 T型触发器只有一个输入,它是通过连接JK触发器的输入构成的。此单个输入称为T。T触发器的框图如下所示,其中T定...
📅  最后修改于: 2021-01-11 15:09:14        🧑  作者: Mango
Verilog D闩锁触发器在时钟的负或正沿捕获其输入处的数据。重要的是,在时钟沿之后直到下一个时钟沿的任何数据变化都不会反映在输出中。锁存器不会在时钟的边缘捕获;相反,只要声明输出,输出就会跟随输入。D锁存器用于存储一位数据。 D锁存器本质上是门控SR锁存器的修改。下图显示了Verilog中D锁存器的参数。输入D是要存储的数据。输入G用于控制存储。输出Q和Qn分别是存储的数据和存储的数据的补码。...
📅  最后修改于: 2021-01-11 15:10:08        🧑  作者: Mango
Verilog波纹计数器纹波计数器是一个异步计数器,其中前一个触发器的输出为除第一个触发器之外的所有触发器提供时钟。异步意味着电路的所有元件都没有公共时钟。例如,一个4位计数器的计数从0000到1111。设计我们将向第一个T型触发器提供1Khz时钟信号,其余三个触发器的时钟将来自前一个触发器的输出(Q)。请参见下面的示意图:上面的电路包含4个T触发器,因为我们需要4位纹波计数器。 T1的时钟由1K...
📅  最后修改于: 2021-01-11 15:11:03        🧑  作者: Mango
Verilog环形计数器环形计数器是一种数字电路,具有以反馈方式连接的一系列触发器。环形计数器由移位寄存器组成。只要施加了时钟脉冲,数据模式就会重新循环。该电路是一种特殊类型的移位寄存器,其中最后一个触发器的输出被反馈到第一个触发器的输入。当电路复位时,除了其中一个触发器输出外,所有其他输出均设为零。对于n触发器环形计数器,我们有一个MOD-n计数器。这意味着计数器具有n个不同的状态。例如,如果我...
📅  最后修改于: 2021-01-11 15:11:59        🧑  作者: Mango
4位计数器4位计数器从4'b0000开始递增到4'h1111,然后又回到4'b0000。只要提供运行时钟,它就会一直计数,并且复位保持高电平。当最终加法的最高有效位被丢弃时,将发生翻转。当计数器的最大值为4'h1111并收到另一个计数请求时,该计数器尝试达到5'b10000,但由于它只能支持4位,因此MSB将被丢弃,结果为0。该设计包含两个输入,一个用于时钟,第二个用于低电平有效复位。低电平有效复...
📅  最后修改于: 2021-01-11 15:12:55        🧑  作者: Mango
Verilog Mod-N计数器计数器是顺序逻辑设备,它们遵循由外部时钟(CLK)信号触发的预定计数状态序列。特定计数器在返回其原始第一状态之前通过其前进的状态或计数序列的数量称为模数(MOD)。换句话说,模数(或模)是计数器计数的状态数,并且是计数器的除数。模数计数器或MOD计数器是根据计数器在返回其原始值之前将要排序的状态数定义的。例如,一个2位计数器的二进制数从00 2到112,十进制从0到...
📅  最后修改于: 2021-01-11 15:13:50        🧑  作者: Mango
Verilog Johnson柜台约翰逊计数器是一种数字电路,具有以反馈方式连接的一系列触发器。如果位数为N,则Verilog Johnson计数器是对2N个状态进行计数的计数器。该电路是一种特殊类型的移位寄存器,其中最后一个触发器的补码输出反馈到第一个触发器的输入。这几乎类似于环形计数器,但有一些额外的优点。约翰逊计数器的主要优点是,与标准环形计数器相比,它仅需要触发器数量的一半,然后其模数减半...
📅  最后修改于: 2021-01-11 15:14:53        🧑  作者: Mango
双向移位寄存器触发器可用于存储二进制数据的单个位(1或0)。但是,要存储多个数据位,我们需要多个触发器。将连接N个触发器以存储n位数据。寄存器是用于存储此类信息的设备。它是一组串联连接的触发器,用于存储多个数据位。这些寄存器中存储的信息可以使用移位寄存器进行传输。移位寄存器是级联的触发器,其中一个触发器的输出引脚q连接到下一个数据输入引脚(d)。因为所有触发器都在同一时钟上工作,所以存储在移位寄存...