刷新
学习tinyriscv(1):安装tinyriscv的工具链

博主头像 因为毕设是CPU的低功耗设计,所以开始看cpu,打算还是先从这个tinyriscv学起,昨天把环境下好了,第一步是用git去clone代码,这个首先要下载git,然后在目标文件夹鼠标右键,选择“open git bush here”,再输入项目的url,就可以了。方法不难。b站有详细教程 接下来是安 ...

基于FPGA 的SDRAM控制器

博主头像 SDRAM基本信息 储存能力计算 4X16X4=256(Mbit),注意不是MByte SDRAM控制 sdram包含两个部分:sdram_ctrl、fifo_ctrl。 sdram_ctrl:其顶层为SDRAM的控制模块内部实例化了5个模块,有初始化、自刷新、写和读模块,还有一个仲裁模块对这四个不 ...

MIPS寄存器堆

博主头像 # 实验目的 - 熟悉并掌握 MIPS 计算机中寄存器堆的原理和设计方法 - 理解源操作数/目的操作数的概念 # 实验环境 * Vivado 集成开发环境 # MIPS寄存器 ![](https://pic.imgdb.cn/item/64f40fab661c6c8e5400bf9a.jpg) * ...

FPGA按键消抖

博主头像 # 简介 ### 按键 按键是输入设备,一般来说,按键在没有按下的时候是高电平;当按键按下的时候,为低电平。 在***DE2-70 User Manual***中 > Each switch provides a high logic level (3.3 volts) when it is not ...

同步电路与异步电路

博主头像 # 同步电路与异步电路 - ## 同步电路 - 电路中所有触发器均连接同一个时钟脉冲源,触发器的状态变化均与时钟脉冲信号同步; - 电路中所有时钟同源同相; - 同相位时钟:始终频率不同,但是时钟边沿对齐; - ![](https://img2023.cnblogs.com/blog/1964011 ...

CoaXpress downlink数据解析方法

博主头像 ## 什么是downlink数据 downlink指的是相机传输到host采集卡的高速链路,其中包含了如下类型的数据: 1、Stream Data 2、Trigger Ack, Trigger; 3、Ack (reply data); 4、Event, Heartbeat ![](https://i ...

序列检测器(两种设计方法和四种检测模式|verilog代码|Testbench|仿真结果)

博主头像 数字IC经典电路设计 经典电路设计是数字IC设计里基础中的基础,盖大房子的第一部是打造结实可靠的地基,每一篇笔者都会分门别类给出设计原理、设计方法、verilog代码、Testbench、仿真波形。然而实际的数字IC设计过程中考虑的问题远多于此,通过本系列希望大家对数字IC中一些经典电路的设计有初步 ...

数字分频器设计(偶数分频、奇数分频、小数分频、半整数分频、状态机分频|verilog代码|Testbench|仿真结果)

博主头像 偶数分频:无论是通过D触发器还是计数器实现,这类分频都是最容易得到的,并且占空比容易控制在50%。对于D触发器实现偶数分频来说,分频数只能得2^n,其余分频数只能由计数器法等其他方法实现。除此以外,随着分频的数目不断增大,通过D触发器实现触发器数目会增多,在电路设计的过程中应当考虑面积因素。对于计数... ...

记一次基于FPGA的VGA显示四操作数计算器工程的开发流程——(1)从顶层设计说起

博主头像 首先值得说明的是,在这个项目几乎完成之际,笔者才愈发体会到了硬件思维和软件思维的云泥之别。不幸的是,在此项目的实现过程中,绝大部分代码的思维仍然是软件思维,因此该项目主要模块的设计部分可能并不能体现硬件操作的独到之处,不符合硬件工程师的基本设计思维,所以此主题文章仅用于学习交流以及记录一次FPGA项 ...

推排序 Verilog实现原理

博主头像 引言 推排序常常应用在操作系统的任务调度中,尝试使用硬件对堆排序进行实现,在实现的过程中不使用function和tasks语法,即真·硬件实现 参考的博客 也就这一个博客有介绍 堆排序的Verilog实现 原理 ~~堆排序还需要复习一遍吗?~~ 我肯定是要的 菜鸟-堆排序 图解排序算法(三)之堆排序 ...

基于ZYNQ的OV5640摄像头的sobel算子边缘检测

博主头像 1、sobel算子 Sobel 算法是像素图像边缘检测中最重要的算子之一,在机器学习、数字媒体、计算机 视觉等信息科技领域起着举足轻重的作用。在技术上,它是一个离散的一阶差分算子,用来 计算图像亮度函数的一阶梯度之近似值。在图像的任何一点使用此算子,将会产生该点对应 的梯度矢量或是其法矢。 Sobe ...

「FPGA项目」—— 基于AMBA总线的流水灯控制系统

博主头像 本文将介绍一个完全用Verilog HDL手写的AMBA片上系统,项目的主题是设计一个基于AMBA总线的流水灯控制系统。项目中所有数字逻辑电路部分RTL设计通过Verilog实现,然后利用Vivado平台对RTL模型进行仿真、综合与布线并在在FPGA开发板上进行板级验证。 ...

ZYNQ基于DMA的串口传图

博主头像 小梅哥的这个ZYNQ开发板上的DDR3位于PS侧,PL侧想要使用DDR3作为缓存的话,得通过HP接口来与PS侧的DDR3控制进行通信。 本次实验在小梅哥OV5640工程的基础上,通过修改VDMA的S2MM端的模块而来的。 将VMDA的帧缓存区设为1,关闭帧同步的功能后,其实和DMA差不多。 一、需要 ...

【牛客】8 企业真题

博主头像 VL59 根据RTL图编写Verilog程序 这题比较简单,照着写就好了。 `timescale 1ns/1ns module RTL( input clk, input rst_n, input data_in, output reg data_out ); reg data_in_reg; al ...

【牛客】6 跨时钟域传输

博主头像 VL45 异步FIFO 很经典的手撕题,这道题要求产生的格雷码要在本时钟域中打一拍,其实不打也没关系。 主要要记住 1、bin2gray的方法:右移一位与移位前异或; 2、格雷码比较方法:空:读指针格雷码和写指针同步过来的格雷码相同;满:写指针格雷码高两位与读指针同步过来的格雷码正好相反,低位相同。 ...

基于FPGA的RGB灯WS2812B的控制器设计

博主头像 这次设计一个RGB灯的控制器,该控制器具有如下特点: 每个灯的颜色可调,亮灭可控 可以设置参数来修改RGB的数目 WS2812B的数据时序如下图所示: (图片来源自网络、侵权删) 为了方便设计我把T1H和T0L的时间值设为0.8us,为了稳定将RES设置为60us。 设计的思路是,设置一个400ns ...

【牛客】5 时序逻辑

博主头像 VL33 非整数倍数据位宽转换8to12 和上一题一样的,注意valid_out输出时加一个valid_in(其实32题也要加,不过不加仿真也能过)。 `timescale 1ns/1ns module width_8to12( input clk , input rst_n , input val ...