Verilog
文章平均质量分 96
Mr. Qu
学习FPGA的某人
展开
-
数字系统的测试与可测试设计(DFT)
数字系统的测试与可测试设计(DFT)背景介绍1 Defects1.1 名词解释1.2 缺陷种类1.2.1 Physical Defects物理缺陷1.2.2 Shorting Defects1.2.2.1 Gate-Oxide-Shorts1.2.2.2 Bridge1.2.2.1 Open1.2.2.1 Post-fabrication failures2 Fault Modelling(故障模型)2.1 Behavioural level fault model2.2 Functional level原创 2020-11-07 20:22:05 · 7705 阅读 · 2 评论 -
CRC校验学习文档
CRC校验1.简介2.原理2.1 生成多项式g(x)2.2校验码计算3.CRC校验分类4.串行CRC校验码计算4.1 L FSR的伪随机数4.2 串行计算CRC verilog实现5.并行CRC校验码计算5.1 并行verilog实现1.简介在数字通信的传输过程中, 由于信道存在的噪声、线路间的串扰等各种因素的影响, 造成所传输的信号失真。为了提高通信的可靠性和减少误码率, 通常采用信道编码...原创 2020-03-19 13:52:57 · 1135 阅读 · 0 评论 -
按键消抖原理实现
按键消抖原理模块顶层模块按键消抖模块LED显示模块testbench原理按键做为基本的人机输入接口,在很多电子设计中都能见到,由于机械特性,在按键按下或松开的时候,按键输入值是有抖动的,无论按下去是多平稳,都难以消除抖动,按键消抖方式有很多,本实验主要是通过FPGA计时来消抖。实验中设计了一个计数器,当按键输入有变化时,计时器清零,否则就累加,直到加到一个预定值(例如10ms),就认为按键稳定...原创 2020-03-17 15:15:42 · 2349 阅读 · 2 评论 -
uart原理与verilog实现
串口UART1. UART介绍1.1 波特率2.RISCV-UART 特性1. UART介绍UART全称为通用异步接收-发送器,嵌入式中说的串口,一般是指UART口。在传输的过程中,UART传输端将字节数据以串行的方式逐个比特的发送出去,UART接收端诸葛比特地接收数据,然后将其重新组合为字节数据。常见的传输数据格式如图所示:在空闲时,UART输出保持高电平(在早期的发展历史中,电信...原创 2020-03-16 17:34:35 · 778 阅读 · 0 评论 -
多异步时钟设计(2)
重要的设计考虑要求在时钟域交叉(CDC)边界上仔细构建多时钟设计。 本文详细介绍了一些最新策略和最有名的方法,以解决跨CDC边界传递一个和多个信号的问题。 本文包括与CDC验证相关的技术和用于在时钟域之间传递多个控制信号的有趣的2深度FIFO设计。 虽然本文中描述的设计方法通常可以使用任何HDL来实现,但是使用有效的SystemVerilog技术示出了示例。原创 2019-07-08 10:56:16 · 1082 阅读 · 0 评论 -
可综合的有限状态机(2)
本文详细介绍了经验证的RTL编码风格,用于使用符合IEEE标准的Verilog仿真器进行高效和可综合的有限状态机(FSM)设计。 与一个和两个总是块样式相关的重要技术用于编码具有组合输出的FSM,以说明为什么使用两个始终块样式是首选。原创 2019-06-24 17:10:05 · 1319 阅读 · 0 评论 -
关于常量和参数的定义
文将详细介绍编码正确参数化模型的技术,详细说明参数和宏定义之间的差异,提供使用宏的参数和参数定义的指导原则,不鼓励使用defparams,以及详细介绍Verilog-2001增强功能以增强编码和使用原创 2019-06-27 16:17:06 · 2546 阅读 · 0 评论 -
能够提高仿真效率的Verilog编码样式
本文详细介绍了不同的编码风格及其对Verilog-XL仿真效率的影响。翻译 2019-06-27 11:47:57 · 896 阅读 · 0 评论 -
Verilog-2001
Verilog-2001标准包括许多增强功能,旨在简化设计,改进设计并减少设计错误。本文详细介绍了Verilog-2001标准中增加的重要增强功能,旨在简化行为建模并提高综合准确性和效率。原创 2019-06-30 22:18:48 · 496 阅读 · 0 评论 -
电平标准详解
很多资料对于逻辑电平的介绍不太好,我其实没有看懂,自己鼓捣了一下,对逻辑电平的定义和常用逻辑电平进行了整理,后期继续更新。原创 2019-08-02 14:06:07 · 14173 阅读 · 0 评论 -
多异步时钟设计(3)
重要的设计考虑要求在时钟域交叉(CDC)边界上仔细构建多时钟设计。 本文详细介绍了一些最新策略和最有名的方法,以解决跨CDC边界传递一个和多个信号的问题。 本文包括与CDC验证相关的技术和用于在时钟域之间传递多个控制信号的有趣的2深度FIFO设计。 虽然本文中描述的设计方法通常可以使用任何HDL来实现,但是使用有效的SystemVerilog技术示出了示例。原创 2019-07-08 14:35:21 · 1276 阅读 · 0 评论 -
多异步时钟设计(1)
重要的设计考虑要求在时钟域交叉(CDC)边界上仔细构建多时钟设计。 本文详细介绍了一些最新策略和最有名的方法,以解决跨CDC边界传递一个和多个信号的问题。 本文包括与CDC验证相关的技术和用于在时钟域之间传递多个控制信号的有趣的2深度FIFO设计。 虽然本文中描述的设计方法通常可以使用任何HDL来实现,但是使用有效的SystemVerilog技术示出了示例。原创 2019-07-07 20:08:25 · 1035 阅读 · 0 评论 -
可综合的有限状态机(1)
本文对状态机的可综合编码样式进行论述并比较1个always模块和2个always模块的优缺点。参考Clifford的《State Machine Coding Styles for Synthesis》原创 2019-05-12 17:35:54 · 2213 阅读 · 0 评论 -
八分频FPGA设计
八分频FPGA Verilog设计顶层模块module siv(clk,pwm);input clk;output reg pwm;reg [2:0] c;always @(posedge clk )beginc<=c+1'b1;pwm = c[2];end endmoduleTestbench文档`timescale 1 ps/ 1 ps module ...原创 2019-05-12 17:43:15 · 2127 阅读 · 0 评论 -
多异步时钟设计的同步浅谈
设计纯粹的单时钟同步设计是一种奢侈品,很少有ASIC设计师知道。 大多数设计的ASIC都由多个异步时钟驱动,需要特殊的数据,控制信号和验证处理,以确保及时完成稳健的工作设计。原创 2019-06-13 14:22:30 · 4550 阅读 · 1 评论 -
FPGA----同步复位OR异步复位?
本文将研究同步和异步复位的优缺点。 然后,它将查看每种类型的复位的使用情况,然后提出正确使用每种类型的建议。原创 2019-06-14 17:09:36 · 2443 阅读 · 1 评论 -
FPGA----关于延迟的用法
数字设计工程师有时候需要创建具有延迟的模块,本文将对在阻塞赋值、非阻塞赋值连续赋值语句上添加RHS延迟和LHS延迟的设计进行比较。--参考《Correct Methods For Adding Delays To Verilog Behavioral Models》 Clifford E. Cummings原创 2019-06-20 17:04:51 · 18551 阅读 · 0 评论 -
可仿真與綜合的異步FIFO設計(1)
This paper will detail one method that is used to design, synthesize and analyze a safe FIFO between different clock domains using Gray code pointers that are synchronized into a different clock domain before testing for "FIFO full" or "FIFO empty" conditi原创 2019-06-11 12:32:59 · 938 阅读 · 0 评论 -
可仿真与综合的异步FIFO设计(2)
This FIFO design paper builds on information already presented in another FIFO design paper where the FIFO pointers are synchronized into the opposite clock domain before running "FIFO full" or "FIFO empty" tests. Thereader may benefit from first reviewin原创 2019-06-11 18:48:39 · 992 阅读 · 0 评论 -
非阻塞赋值与阻塞赋值
Verilog语言中最容易被误解的构造之一是非阻塞赋值。 即使是非常有经验的Verilog设计人员也不能完全理解在IEEE兼容的Verilog模拟器中如何安排非阻塞分配,并且不了解应该何时以及为何应该使用非阻塞赋值。 本文详细介绍了如何安排Verilog阻塞和非阻塞赋值,提供重要的编码指南来推断正确的可合成逻辑和详细编码样式,以避免Verilog模拟竞争条件。原创 2019-06-17 16:13:11 · 25937 阅读 · 5 评论 -
"//synopsys full_case parallel_case"综合指令的用法
本文详细介绍了“full_case parallel_case”指令的效果,并包含使用这些开关推断出的有缺陷和低效逻辑的示例。 本文还给出了指导方针正确使用这些指令。原创 2019-06-26 16:04:37 · 8207 阅读 · 1 评论