草庐IT

ARM+FPGA

全部标签

基于FPGA视频接口之HDMI2.0编/解码

简介    为什么要特别说明HDMI的版本,是因为HDMI的版本众多,代表的HDMI速度同样不同,当前版本在HDMI2.1速度达到48Gbps,可以传输4K及以上图像,但我们当前还停留在1080P@60部分,且使用的芯片和硬件结构有很大差别,故将HDMI分为两个部分说明1080@60以下分辨率和4K以上分辨率(HDMI2.0).HDMI硬件连接    HDMI的硬件连接,大家估计都知道,电视后面那个,我们用的是HDMI母座,线上一版是公座    此外当前还有MiniHDMI座,有兴趣的同学可以自己查一查HDMI编码方式1:芯片    在此就不对HDMI芯片方式做过多的讲解,只要按照芯片手册来配

【FPGA/verilog -入门学习10】verilog 查表法实现正弦波形发生器

0,需求用查找表设计实现一个正弦波形发生器寻址的位宽是10位,数据量是1024个,输出的数据是16位1,需求分析数据量是1024个:x=linspace(0,2*pi,1024)输出数据是16位:y范围:0~2^16-1=0~65535y=(sin(x)+1)*65535/2寻址的位宽是10位输入是0~10231023占用10位操作步骤1,使用matlab生成数据,制作sin_rom.coe文件x=linspace(0,2*pi,1024);y=floor((sin(x)+1)*(65535/2));plot(x,y);formatlonggfilesize=size(y,2);fileID=

【FPGA】Verilog 实践:MUX 多路复用器 | Multiplexer | 实现 4 到 1 线路多路复用器

0x00MUX多路复用器(Multiplexer)多路复用器(Multiplexer,简称MUX)是一种电路,用于从多个输入中选择一个特定输入。它为 个输入提供一个输出,并有 个selectsingle,作用是从多个输入中选择一个。多路复用器有两个主要部分:选择器和数据线。选择器用于选择输入信号中的一个或多个,并将其传输到输出线路上。数据线则负责传输被选择的输入信号。多路复用器的输入数量和输出数量可以根据需要而变化,常见的有 , , 等比例的多路复用器。多路复用器的工作原理很简单。例如,

FPGA实现 TCP/IP 协议栈 客户端 纯VHDL代码编写 提供4套vivado工程源码和技术支持

目录1、前言版本更新说明免责声明2、相关方案推荐我这里已有的以太网方案1G千兆网TCP-->服务器方案10G万兆网TCP-->服务器+客户端方案常规性能支持多节点FPGA资源占用少数据吞吐率高低延时性能4、TCP/IP协议栈代码详解代码架构用户接口代码模块级细讲顶层模块PACKET_PARSING模块ARP模块IGMP_REPORT和IGMP_QUERY模块PING和WHOIS2模块ARP_CACHE2模块UDP_TX模块UDP_RX模块TCP_SERVER模块TCP_TX模块TCP_TXBUF模块TCP_RXBUFNDEMUX模块IP、MAC地址定义修改5、详细设计方案PHYTriModeE

FPGA 课程综合实验——倒计时(简易计时器闹钟)基于STEP MAX10 FPGA

FPGA课程综合实验之倒计时实验要求:组合使用STEPMAX10FPGA核心板和STEPBaseBoard扩展底板,编写程序,完成一个倒计时定时器的设计。功能要求:使用扩展底板上相邻的4位数码管显示计时时间,显示数值单位为“秒”。(2分)定时器最大定时时间为99秒,时间显示分辨力为1/100秒。(2分)倒计时结束时,扩展底板上的蜂鸣器发出一组“滴答”声(先后发出2种频率的声音,各持续约0.5秒)作为提示。(2分)时间设置步进间隔1秒,同时支持以下2种操作方式:完全使用扩展底板上的旋转编码器进行操作:旋转旋钮设定定时时间。(2分)-短按旋钮启动/暂停计时,长按清零。(2分)完全使用扩展底板上的矩

FPGA基础设计(八):串口访问ROM

串口收发之ROM存储前言整体设计模块划分ROMIP核创建单端口ROMIP核前言将ROM中的数据读取出来,通过串口发送到上位机。整体设计模块划分1、按键消抖模块2、ROM控制器模块3、创建ROMIP核模块4、串口发送模块前面已经设计好了串口发送模块和按键消抖模块,还剩ROMIP的创建和控制ROM模块的设计。读ROM控制模块设计:1、address:读地址端口2、q:读数据端口3、设置单时钟模式clock来控制所有寄存器如何读ROM?只要当前时刻给出写地址rdaddress,ROM输出端q就是对应地址的存储单元中的数据。在什么时刻发送数据?一开始rdaddress为0,q是地址为0的存储单元中的数

解决方法:编译IMX6ULL裸机中断程序提示错误selected processor does not support `cpsid i‘ in ARM mode

一、问题编译IMX6ULL野火裸机中断程序出现错误:arm-none-eabi-gcc-g-cstart.Sstart.S:Assemblermessages:start.S:45:Error:selectedprocessordoesnotsupport`cpsidi'inARMmodestart.S:57:Error:selectedprocessordoesnotsupport`cps#0x12'inARMmodestart.S:61:Error:selectedprocessordoesnotsupport`cps#0x1F'inARMmodestart.S:65:Error:sele

FPGA的数字钟带校时闹钟报时功能VHDL

名称:基于FPGA的数字钟具有校时闹钟报时功能软件:Quartus语言:VHDL要求: 1、计时功能:这是数字钟设计的基本功能,每秒钟更新一次,并且能在显示屏上显示当前的时间。  2、闹钟功能:如果当前的时间与闹钟设置的时间相同,则扬声器发出闹音。  3、校时设置:用户可以通过功能键重新进行时间设置.精确校时时还可以对秒进行清零 4、整点报功能:如果当前时间为整点,则扬声器发出特定频率的整点报音。  5、闹铃设置:用户可以通过功能键完成任意时间的闹铃设置。  6、显示功能:正常计时状态6位数码管分别显示时、分、秒;校时状态显示时、分、闹钟设置状态显示当前闹钟的时分设置值。  本课题要达到的目标

快速入门系列--FPGA中的时序分析与约束

一、前言         时序分析,是所有的FPGA工程师在成长过程中都绕不开的技术,由于在一开始我们学FPGA的时候设计的系统都是低速简单的,所以就使得时序分析看起来好像并没有卵用,我不学我的系统照样可以跑起来啊,于是慢慢忽视了这一部分的学习。但是随着我们的技术的不断提升,我们需要设计一些高频复杂的系统了,结果傻眼了,明明我的代码逻辑没错,我的波形验证也没错,怎么一上板子他就有问题呢?这时就轮到我们的时序分析开始发挥作用了。       很可惜的是,现在网络上大部分关于时序分析和约束的文章都是枯燥且无聊的,几乎每篇文章一上来就是枯燥的概念,什么建立时间、保持时间、余量等等。中文写起来都如此枯

FPGA实战-----点灯大师(1)led灯闪烁流水跑马+按键

【FPGA工程(1)-------点灯大师(1)led灯闪烁流水跑马+按键】FPGA实战文章目录【FPGA工程(1)-------点灯大师(1)led灯闪烁流水跑马+按键】前言一、认识led灯珠二、工程模块设计1.系统架构图2.led闪烁3.流水灯实现-----计数器4.跑马灯实现------case语句总体代码总结前言用verliog语言点亮FPGA开发板上的led灯是最最最最最基础的操作。这里用的EP4CE6F17C8开发板,上边一共有四个led灯珠,可以实现简单的例如4个全亮,流水灯,跑马灯以及相比之下难了一点的呼吸灯等等等等效果。本文最终目的就是实现用按键切换led灯的运动模式。做一个