- 博客(12)
- 收藏
- 关注
原创 基于AHB Slave设计及验证平台搭建
基于AHB Slave设计及验证平台搭建1、模块描述1、模块描述 完成一个AHB上的Slave模块,该模块主要完成逻辑运算功能,包括使能寄存器、计算模式寄存器...
2019-11-26 16:52:23
2429
3
原创 序列检测器(实例代码)
题目:用Moore型状态机实现序列“1101”从右到左的不重叠检测。1、请画出状态转移图,其中状态用S1,S2,....来标识。2、针对这个具体设计,如何衡量验证的完备性?从右到左检测即检测的顺序为1、0、1、1,不重叠检测即1011011这种情况只检测到一次,10111011才是检测到两次。在写代码前,一定要画出状态转换图,状态转换图画对了,代码才能写对。另外也给出了重叠检测...
2019-11-16 20:43:50
2902
原创 1-8分频任意切换电路(附代码)
1-8分频任意切换电路从之前的博客(时钟分频)知道了任意偶数分频与任意奇数分频的实现方法,但是,如果要求设计一个1-8分频任意切换的电路,要怎么做呢?我们知道,偶数分频与奇数分频的实现方式不同,偶数分频只需每隔N/2,时钟上升沿信号翻转一次即可。而奇数分频则需要在2N个周期内翻转四次,并且需要结合时钟下降沿。个人认为,1-8分频分频切换,必须结合两种分频模式来设计。下面给出设计代码:`...
2019-11-15 21:20:29
2289
原创 状态机编写实例(三段式以及index one-hot+reverse case + synopsys FSM写法)
应用场景:编写一个自动售货机,功能如下:共有三种纸币入口,分别支持10元,20元,50元。货物售价为80元。需要支持找钱功能。分析:状态转换图如下所示,使用三段式状态机将如下状态图描述出来标题代码如下://三段式moore状态机(输出只与当前状态有关)module aotu_vending( input clk, input rst_n, ...
2019-11-14 15:24:13
964
原创 四级流水电路(实例代码)
29.一个四级流水线电路要求如下:设计这个分块电路的模块图,显示控制单元,数据通道单元,输入和输出信号以及在控制和数据通道单元之间的接口信号: 设计一个描述该电路操作的完全ASMD图; 设计并验证该电路的Verilog模型(1)(2)(3)代码描述:module Controller( input clk, input rst_n, ...
2019-11-12 22:18:49
2199
原创 时钟分频
时钟分频器偶数分频 奇数分频(占空比50%) 非整数分频(占空比也非50%)本文参考《硬件架构的艺术》,主要介绍偶数分频时钟,计数分频(3,5分频),以及非整数分频(4.5分频)1、偶数分频偶数分频比较容易实现。实现一个N分频(N为偶数),每隔N/2个源时钟,分频时钟信号翻转一次。比如N=6时,在计数器等于2时,源时钟上升沿使信号翻转。module even_clk_...
2019-11-09 19:10:10
5341
原创 跨时钟域设计四之异步FIFO(附代码)
异步FIFO二进制实现指针的问题 同步指针的影响 格雷码实现指针 空满标志的产生 代码实现1.二进制实现指针的问题由于空满标志的产生,需要比较写指针与读指针是否相等。而写指针在写时钟域下,读指针在读时钟域下,两者比较需要通过同步器进行。时钟二进制计数器实现指针,可能会导致取样错误。比如,计数器从FF跳转到00,其中每一位都发生了翻转,虽然能通过同步计数器避免亚稳态,但是仍然能...
2019-10-30 21:22:10
2926
原创 跨时钟域设计二
1、跨时钟域问题的类型同频恒定相位差时钟 非同频可变相位差时钟 整数倍频率时钟 非整数倍频率时钟 1.1同频恒定相位差时钟图1、相位移动时钟时钟clk1与clk2的频率相同,但clk1相较于clk2前移了3T/4个时间周期。这样建立时间与保持时间的裕量变小,组合逻辑的延迟约束会更紧。但是这种情况只要满足建立时间和保持时间就可以了,即STA通过,不需要使用同步器。...
2019-10-29 20:00:01
457
原创 IC设计多时钟域处理
1.多时钟域设计面临的困难违背建立时间与保持时间 引起的亚稳态问题1、违背建立时间和保持时间建立时间:在时钟上升沿来临之前数据需要保持一段时间不变,具体的时间长度与寄存器工艺有关保持时间:在时钟上升沿采样后,数据数据也需要保持一段时间稳定不变对于单时钟域来说,满足上述条件很容易。但多时钟情况下,一个时钟域的输出在另一个时钟域时钟上升沿发生改变很常见。此时会引起...
2019-10-28 20:53:46
491
原创 vivado与modelsim的联合仿真
目的:在学习Xilinx的FPGA的时候,我花了很大功夫才搞定了vivado和modelsim的破解以及他们的联合仿真。为了不使大家花太多时间,我写了这篇文章。一、vivado的破解首先安装好Xilinx_Vivado_SDK_2018.1_0405_1,安装包可以从网上下载。只是要注意,它也是需要破解的,不过很简单,在网上下载对应版本的license即可。百度云链接:http...
2018-09-23 19:58:11
50702
27
原创 跨时钟域设计三之握手机制
握手机制如图1所示,xclk的上升沿将数据1发送到总线上,同时发送一个数据有效信号xreq。yclk上升沿采集xreq信号,经过两级寄存器同步信号,避免亚稳态。检测到yreq2为高时,说明可以采集总线上的数据。这是,发送一个yack确认收到数据信号。经过两级同步器,xclk上升沿采集xack2确认信号,在下一时钟上升沿将数据2发送到总线上。注意,如果数据是从快时钟向满时钟传递,那么xreq...
2018-09-21 19:45:40
8417
8
原创 卷积神经网络模型压缩方法介绍
1.矩阵分解法矩阵分解法被广泛地应用于线性模型的加速以及参数的压缩上,具体方法是使用奇异值分解的方式对参数矩阵进行分解。奇异值分解有很明显的物理意义,即它可以将一个复杂矩阵用几个小矩阵相乘来表示,这些小的矩阵描述的是复杂矩阵的重要特征。例如,给定一个参数矩阵,可以将其分解为。这里、里面的向量称为左奇异向量和右奇异向量,而且向量是两两正交的。通过方阵可以求得特征值,这里的为右奇异向量。再通过公式...
2018-09-15 14:00:05
4214
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人