草庐IT

FPGA-VHDL

全部标签

快速入门系列--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灯的运动模式。做一个

数字IC/FPGA面试题目合集解析(一)

数字IC/FPGA面试题目合集解析(一)题目概述题目1,计算题2,计算题3,选择题答案与解析1,计算题2,计算题3,选择题题目概述1,计算题:计算该触发器等效的建立保持时间(西安某Fabless面试笔试题)2,计算题:计算组合逻辑的延时时间范围3,选择题:Whichoffollowingwayscannotbeusedtoimprovetimingofaholdviolationpath题目1,计算题问题:原触发器,即对于D点的建立时间,保持时间均为2ns,先由于存在线延时,对应延时信息如图所示,请问从D1,CLK1看,该触发器的建立时间和保持时间是多少?2,计算题问题:CLK1=20M,CL

FPGA课设:拔河游戏

 一、实验要求用设计一拔河游戏机,要求如下:电路使用15个发光二极管表示拔河的“电子绳”,开机后只有中间一个发亮,此即拔河的中心点。游戏双方各持一个按钮,迅速地、不断地按动产生脉冲,谁按的快,亮点就向谁的一方移动,每按一次,亮点移动一次。亮点一到任一方的终端发光二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后亮点才恢复到中心。由裁判下达比赛命令后,双方才能输入信号,否则,输入无效。 二、实验代码源代码moduletug_of_war(inputclk,reset_n,p1_btn,p2_btn,referee_cmd,outputreg[14:0]leds);paramete

基于FPGA的DDS信号发生器(vivado版本)

一、设计目标根据DDS技术原理,在vavido上编写DDS信号源硬件逻辑语言,实现频率、幅度、波形可调的信号源发生器。频率调节分为11个档位,分别是:1Hz、10Hz、100Hz、500Hz、1kHz、5kHz、10kHz、50kHz、100kHz、200kHz、500kHz;波形调节有四种波形:正弦波、三角波、锯齿波、方波;幅度调节有五种档位:分别是1倍、1/2倍、1/4倍、1/8倍、1/16倍;以上设计指标在遇到实际需求时,都可以根据设计在响应的添加或者减少。二、设计软件及工具Vivado 2019.01Vivado包含的功能:编辑器、RTL分析、仿真、综合、生成比特流等。使用FPGA开发

FPGA学习日记——verilog实现分频器

主要思想是利用计数器实现分频器功能,其中按原理不同可分为分频和降频一、先说分频。1、第一种实现方式输入信号为系统时钟50MHz,本例子先以偶数倍六分频为例实现分频的第一种方式:计数器对系统时钟的上升沿进行计数,最大计数M=5,即count取值范围为0~5,当计数器值在0~2时,clk_out输出为0;当计数器值在3~5时,clk_out输出为1。这样即可完成对于sys-clk的六分频,且占空比为50%。以下为模块实现代码:moduledivider_six(inputwiresys_clk,inputwiresys_rst_n,outputregclk_out);reg[2:0]count;a

FPGA | Verilog基础语法

这里写自定义目录标题Case语句系统任务$dumpfile|为所要创建的VCD文件指定文件名。$dumpvar|指定需要记录到VCD文件中的信号$fscanf$fread菜鸟教程连接Case语句case(case_expr)condition1:true_statement1;condition2:true_statement2;……default:default_statement;endcase系统任务$dumpfile|为所要创建的VCD文件指定文件名。举例("//"符号后的内容为注释文字):initial$dumpfile(“myfile.dump”);//指定VCD文件的名字为myf

VHDL交通灯

交通灯控制电路设计要求:(1)使用开发板自带的50MHz晶振作为时钟源;(2)电路具有6个LED输出,分别代表东西向红、黄、绿指示灯和南北向红、黄、绿指示灯;电路具有4个数码管输出,分别代表东西向倒计时和南北向倒计时信息;(3)电路对十字路口的两组交通灯的状态实现自动循环控制;(4)实现东西车道和南北车道上的车辆交替运行,每次通行绿灯时间为20秒;绿灯结束后,黄灯亮3秒,然后才能转为红灯,黄灯亮时要每秒闪亮一次;(4)东西车道和南北车道每次通行的时间不同且可调;(选作)//顶层文件LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_

[FPGA]用Verilog写一个简单三位二进制加法器和减法器

一、介绍加法器和减法器是数字电路中的基本组件,它们可以对二进制数进行算术运算。加法器可以将两个或多个二进制数相加,得到一个和和一个进位。减法器可以将两个二进制数相减,得到一个差和一个借位。加法器和减法器可以用来实现更高级的运算,例如乘法、除法、移位等。本报告的目的是使用Verilog语言编写一个位加法器(bit_add)和一个位减法器(bit_sub),并将它们组合成一个三位加法器(bit3_add)和一个三位减法器(bit3_sub)。本报告将介绍这些模块的设计和实现,以及它们的原理和功能。本报告还将分析这些模块的输入和输出,以及它们的优缺点。二、设计和实现1.位加法器(bit_add)位加

【FPGA】电梯楼层显示(简易)

前言    这是作者室友的项目,本来不管作者事儿的,但是后来听到说是室友去网上找人花了80块买了个劣质的,不仅是从CSDN上抄的,而且使用的板子还不符合室友的要求。可叹作者心软啊,顺便给室友做了。        在代码实现部分会给出设计理念和分析,整体资源可以直接下载压缩包(手机端依然看不到,还是不知道为什么)。题目需求及分析需求基于双向计数器设计一个电梯楼层显示电路说明:    设计多层电梯楼层显示电路。电梯每经过一层,“楼层信号”输入一个可逆计数脉冲电梯上升时“上升”为高电平,“下降”为低电平,下降时相反。要求:        1、电梯楼层数为2(至少2层)        2、楼层数需使用