verilog
文章平均质量分 60
_三三_
这个作者很懒,什么都没留下…
展开
-
跨时钟域设计总结
单bit跨时钟域设计方案推荐:两级寄存或多级寄存(因电路速度而定,比如一些高速电路可能需要三级或者更多级寄存)。多bit跨时钟域设计方案推荐:(1)多周期路径(MCP)公式:分为带反馈和不带反馈的MCP公式。推荐使用带反馈的MCP公式(2)异步FIFO以上方案前面博客都有详细的讲解,具体的使用还要因电路而选择最优的方案。...原创 2020-03-18 18:24:28 · 475 阅读 · 0 评论 -
【Verilog】跨时钟域设计Clock Domain Crossing Design(Multi cycle path formulation with feedback acknowledge)
上次写了跨时钟域设计MCP公式不带反馈的实现【Verilog】跨时钟域设计Clock Domain Crossing (CDC) Design(MCP formulation without feedback )这次是写MCP公式带确认反馈的跨时钟域设计。...原创 2020-03-16 17:41:30 · 1046 阅读 · 2 评论 -
【Verilog】跨时钟域设计Clock Domain Crossing (CDC) Design(MCP formulation without feedback )
跨时钟域设计MCP formulationMCP公式是指将不同步的数据发送到与同步控制信号配对的接收时钟域。数据和控制信号同时发送,允许数据在目标寄存器的输入端进行设置,同时控制信号在到达目标寄存器的负载输入端之前同步两个接收时钟周期。示例代码://两级寄存module sync2FF#( parameter DATAWIDTH = 8)( input CLK...原创 2020-01-02 17:13:49 · 4321 阅读 · 1 评论 -
【Verilog&vivado】彩色图像转灰度的硬件实现
verilog&vivado实现彩色图像转灰度的一、算法简述:转灰度的算法还是比较简单的,最后的结果就是加权和:Gray = 0.2989*R+0.5870*G+0.1140*B这就是MATLAB中rgb2gray函数的算法原理;本示例输入的是8bits的三通道彩色图像数据,输出的也是8bits的数据,为了不涉及到小数,我们将数据整体左移16位即乘以65536,然后在右移16b...原创 2019-10-14 10:59:21 · 2814 阅读 · 1 评论 -
Booth算法乘法器-流水线建模
module operate#( parameter DATAWIDTH = 8)( input CLK, input RSTn, input [ DATAWIDTH * 2 : 0 ] P, input [ DATAWIDTH * 2 - 1 : 0 ] M, ...原创 2019-09-12 17:38:45 · 988 阅读 · 1 评论 -
Booth算法乘法器-时钟优化
前面写过Booth算法的乘法器,只是简单的实现了逻辑功能,计算结果用了16个时钟。https://blog.csdn.net/weixin_42183170/article/details/100743362Booth算法是先判断P[1:0],然后操作P空间,最后P空间移位,最高位补0 or 补1。可以将消耗的8个时钟的移位操作压缩在同一步骤下:module Boost_multiplier...原创 2019-09-12 11:08:37 · 739 阅读 · 3 评论 -
verilog-"10101"状态机序列检测器的设计
首先,画出状态转移图代码:module xulie10101 (in,out,clk,reset);//两段法 parameter S0 = 3'b000;//状态定义 parameter S1 = 3'b001; parameter S2 = 3'b010; parameter S3 = 3'b011; parameter S4 = 3'b100; input clk,...原创 2019-03-27 11:43:06 · 11017 阅读 · 5 评论 -
Matlab&Vivado生成ROM IP核
王志君老师布置的作业卷积的硬件实现和陈云霁老师的softmax函数的加速。在完成卷积时参考了博主鹅要长大 的文章,和王志君老师,陈云霁老师课堂所讲,王老师是集技术经验与美貌于一身的好老师,陈老师是大牛级别。这里一并感谢。做一开头,因为要用ROM IP核。**主要的步骤:用matlab将灰度图像生成txt文件生成coe文件用vivado创建IP核Generator例化后会生成一个.mi...原创 2019-04-03 15:54:09 · 3765 阅读 · 2 评论 -
【verilog】同步FIFO与异步FIFO
一、同步FIFOFIFO表示先进先出的意思。是基于RAM的存储模块,一般多是用于缓冲数据,令模块独立,调用方便、随性。学习FIFO最重要的如何建立先进先出的机制。图1:先用一个简单的示意图说明:图1左边有写入使能Write,然后写入数据 Data_Write,还有写满标志位full。右边则有读使能Read,读出数据Data_Read,还有读空标志位empty。Write必须拉高Data_...原创 2019-08-22 19:34:37 · 3327 阅读 · 4 评论 -
【Verilog】简单二维卷积硬件verilog实现
基本知识:https://blog.csdn.net/appleyuchi/article/details/78597516https://blog.csdn.net/carson2005/article/details/43702241代码实现:本文只是简单的实现,没有做任何加速,可能是没什么用,但可以说明卷积的原理,比如ROM,可以改成用函数$readmemh("conv_2d.h...原创 2019-08-31 13:07:17 · 9044 阅读 · 7 评论