自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 门控时钟的写法

原则:不动clk, 因为会导致时钟信号的抖动,导致触发器的时序违例。写法:module clock_gating_FF (output Q, input D, clk, rst, gate_signal);always@(posedge clk)beginif(rst) Q <= 0; else if (gate_signal) Q <= D; // 缺省条件下,值会被保存;endendmodule...

2021-04-23 23:20:55 556

原创 序列检测器

序列检测器目标检测连续的三个1;(6.6.4章节)第一种方法是采用状态机;第二种方法是用移位寄存器来存储输入值,并检测寄存器的值是否和预设的序列相匹配。

2021-04-23 22:46:11 174

原创 第六章 组合逻辑和时序逻辑的综合

6.1三种模型与三种描述三种模型:架构级模型,逻辑级模型,物理模型;三种描述:行为描述,结构描述,物理描述;ASM 图是逻辑级的行为描述;逻辑综合是将行为描述转换成结构描述;6.2 组合逻辑的综合UDP 用户自定义原语大多数厂商不可综合;当原语可以用单元库中的门替代时,得到的电路是比原电路更为有效的门级实践;for 语句是可综合的,综合时将其展平;case 和 if 语句的综合,如果条件都是互斥的,综合工具会认为他们具有相等的优先级,并综合成一个多路选择器;若条件不互斥,则第一个语句分支

2021-04-23 21:29:33 886 1

原创 写testbench的基本套路

要有verification strategy包括硬件的基本描述,典型功能,整体的验证目标,输入信号的来源和特性,一些其他的特殊考虑(如工具);testbench 的基本组成timescale; Top module + internal signals; UUT; stimulus generation; response monitoring and comparing; $finish;进阶要求读入,写出数据;dump 波形;...

2021-04-23 16:42:27 141

原创 第五章 行为级建模

第五章 行为级建模5.1 行为建模verilog 支持结构级建模和行为级建模。结构级建模就是把基本与/或门的功能单元进行连接,产生某一特定的功能器件。随着芯片逻辑门的指数增长,不能直接完成门级实现。可以用一个能表示其功能的行为级模型来描述每一个单元。行为级描述是工业上采用的一种非常重要的描述方式。它描述的是逻辑电路的输入-输出模型。5.8 行为级建模方式的比较1)连续赋值;2)数据流/寄存器传输级逻辑(RTL);3)行为算法的建模方式;用电路输入-输出算法关系描述的行为模型要比RTL 描述

2021-04-23 11:03:43 2219

原创 第四章 Verilog 逻辑设计介绍

第四章 Verilog 逻辑设计介绍4.1 组合逻辑的结构化模型介绍了verilog 原语,即一些基本的逻辑门,例化时不必写例华名;介绍了verilog module 的结构;4.2 逻辑系统的验证和测试方法四值逻辑:0/1/x/z,x: 例如当一个wire 的变量被两个相反的信号驱动时,仿真器就无法判断是0/1,就出现不定态。z: 高阻态,输入悬空就会出现这种状态。testbench: 激励发生器;UUT;响应监测;...

2021-04-20 23:31:07 270

原创 第三章 时序逻辑设计基础

第三章 时序逻辑设计基础状态转移图 STGMealy 状态机的顶点用状态进行标记,有向边用输入信号和输出信号来标记;Moore 状态机的顶点用状态和输出来标记,有向边用输入信号来标记。BCD 码到余3码的转换如何画出状态图:1)状态就是对输入及当前状态响应产生的不同行为;所以先确定初始状态,然后根据输入来状态转换。2)对于BCD 这个例子,每个状态下的响应就是是否进位,进位是一个状态,不进位就是一个新状态。...

2021-04-20 23:02:00 796

原创 第二章 组合逻辑设计

第二章 组合逻辑设计1. 卡诺图化简1.1 必须是偶数项化简因为卡诺图只有相邻格可以消除一个项;1.2 积之和形式的化简消除相邻的1项,得到f;1.3 和之积形式的化简消除相邻的0项,得到f’ 的积之和形式,然后再通过狄摩根定律转换成和之积的形式。2. 毛刺与冒险毛刺是指输出信号出现短暂的不期望的脉冲。冒险指的是会产生毛刺输出的电路。静态1冒险:输出应为1,却出现0脉冲跳变;静态0冒险:输出应为0,却出现1脉冲跳变;2.1 两级静态冒险的消除(两级:逻辑表达式中只有积之和或和之积,逻

2021-04-20 15:14:45 991

原创 第一章设计方法概述

第一章设计方法概述1. 设计规格非常详尽的技术文档,包括功能、时序、硅片面积等。时序电路包括状态转移图、时序图和算法状态机(ASM)等的描述。2. 设计划分3. 设计输入4. 仿真和功能验证拟定测试方案,建立testbench(测试向量发生器,UUT,响应检测器), 测试执行和模型验证5. 设计整合和验证6.综合7.后综合功能验证+ 时序验证时序收敛指的是,当前所有的信号都满足由接口,时序单元及系统时钟所产生的时序约束条件时,即达到时序收敛。通过STA 来分析最长路径是否违反时序约束。

2021-04-20 11:52:52 144

原创 Moore 序列检测器

分类若只是单独检测连续的0或者连续1,相对更简单,不涉及到复位的问题,可使用标准状态机来实现;若是检测连续的采样值,即出现连续的0和1时都检测,就涉及到复位初始状态的问题。什么意思呢?例如,我现在检测两个连续信号,当reset 有效时,我将第一个信号置为0,reset 无效后,在第一个时钟时,第一个信号接收新的值,若为0;而第二个信号接收第一个信号传过来的值,也是0,意味着此时第二个信号和第...

2020-04-21 23:27:40 736

原创 Grayhill 072 16进制键盘扫描器的Verilog实现

实现功能及具体结构一个4*4的键盘输入信号,Grayhill 模块输出对应的码字。整体示意图结构如下:当某一个按键按下时,会将相应的行列连通,相应的行输出一个高信号给Grayhill 模块。根据此示意图描述出更具体的电路模块图如下:用一个信号发生器来模拟键盘的输入,一个行信号模块根据key 和 Col 的值来产生row[3:0]。因为键盘的输入是一个异步信号,因此需要引入一个同步模块,将...

2020-04-21 22:27:49 1566 2

原创 异步信号的去抖电路及同步电路

异步输入的问题如果电路有异步信号,就可能使电路进入亚稳态,即是输出不确定的状态。去抖电路异步信号如果是外部的机械输入,比如键盘等,输入信号就会产生机械性地振荡,因此首先需要对此类异步信号加一个去抖电路。可采用如下的基于NAND锁存器的开关去抖电路:假设开关从上拨到下,当开关拨动时,开关臂立即与上方电路连接中断,上面的输入也就稳定,开关臂与下方电路接触后,电路就会完成状态转换。即使现在开关...

2020-04-18 19:16:59 1193

原创 使用ASMD 来描述硬件电路并辅助verilog 代码的编写

@[TOC] 使用ASMD 来描述硬件电路并辅助verilog 代码的编写ASMD 的定义ASM (算法状态机)图是描述时序状态机的一种抽象。类似于软件流程图,描述状态机的动作。但是ASM 图只显示控制信号和行为动作(控制状态),不显示存储元件所存储的内容。ASMD 图是在ASM图的基础上标注数据通道所发生的并发寄存器操作。简而言之,ASM 是用来描述控制器的,而ASMD可以描述控制器+数据通...

2020-04-18 15:54:12 3865

原创 时序分析中的亚稳态、setup and hold time、skew and jitter

1. 亚稳态简单来说,就是一种不确定的状态,无法预测输出,尽管经过一段时间的不确定之后会有一个确定的输出状态(0或者1),但是是随机的,与输入没有什么关系。同步电路不满足setup 和 hold time 就会产生亚稳态。2. setup 和 hold time都是对register 来说的,setup time 是为了保证数据被正确采样所需要的最小时间;hold time 是为了保证...

2019-12-29 22:55:51 2443

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除