LEEE@FPGA
这个作者很懒,什么都没留下…
展开
-
FPGA task语法示例
【代码】FPGA task语法示例。原创 2024-05-17 14:35:27 · 29 阅读 · 0 评论 -
FPGA 实现CRC-8/ROHC(已验证)
CRC结果为0x94。原创 2024-03-21 16:55:27 · 117 阅读 · 0 评论 -
VHDL快速语法入门
1 概述HDL(VHSIC Hardware Description Language)是一种硬件描述语言,主要用于描述数字电路和系统的结构、行为和功能。它是一种用于硬件设计的标准化语言,能够帮助工程师们更好地描述和设计数字电路,并且广泛应用于FPGA和ASIC设计中。在VHDL中,一个设计被描述为一个实体(entity),它包含了输入输出端口的描述。实体也包含了该设计的行为(behavior)...原创 2024-03-03 09:30:52 · 381 阅读 · 0 评论 -
VHDL语法入门
HDL(VHSIC Hardware Description Language)是一种硬件描述语言,主要用于描述数字电路和系统的结构、行为和功能。它是一种用于硬件设计的标准化语言,能够帮助工程师们更好地描述和设计数字电路,并且广泛应用于FPGA和ASIC设计中。在VHDL中,一个设计被描述为一个实体(entity),它包含了输入输出端口的描述。实体也包含了该设计的行为(behavior)的描述。原创 2024-02-22 15:42:46 · 60 阅读 · 0 评论 -
FPGA LCD1602驱动代码 (已验证)
它由若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一。1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵。个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义 CGRAM,显示效果也不好)。在液晶屏第一行显示“HELLO FPGA 1234!原创 2023-12-30 10:34:16 · 818 阅读 · 0 评论 -
xilinx reset,data同步
用于从一个时钟域跨越到另一个时钟域的信号,这是一个多触发器流水线,所有触发器一起放入同一个slice中。因此,两者之间的路由延迟最小,以防止亚稳态问题。用于从一个时钟域跨越到另一个时钟域的信号,这是一个多触发器流水线,所有触发器一起放入同一个切片中。因此,两者之间的路由延迟最小,以防止亚稳态问题。原创 2023-10-27 09:53:45 · 92 阅读 · 0 评论 -
特权同学FPGA官方全资料包括电子书下载
链接:http://pan.baidu.com/s/1bptgnKF。链接:http://pan.baidu.com/s/1dFNXvrV。链接:http://pan.baidu.com/s/1c24bVZa。链接:http://pan.baidu.com/s/1o6xCa4i。链接:http://pan.baidu.com/s/1c0nf6Qc。链接:http://pan.baidu.com/s/1gdf8CTl。链接:http://pan.baidu.com/s/1eQ8a4Gq。原创 2023-10-26 15:55:01 · 395 阅读 · 0 评论 -
通讯之CAN总线入门
1前言前面已经介绍了几种总线协议,那现在如果在汽车上实际应用一种总线协议来通讯的话,你会选择哪一种呢?答案是 都不行因为在汽车中许多系统都需要实时控制,而且数据必须可靠,即使面对面对恶劣环境也要正常运行如何解决这个问题呢?就要看CAN总线了ECU如何传输数据?现在将车上的每个设备用一条总线连接起来要想CAN通讯,就必须要专门的CAN收发器,经过CAN收发器,普通信号就会转化成差分信号(差分信号由...转载 2023-10-07 11:50:58 · 53 阅读 · 0 评论 -
Xilinx FPGA 程序固化重新上电程序不运行的问题
电源断电,重新上电,FALSH里面的程序没有启动,FPGA程序没有跑起来。–FLASH启动不正常。FPGA擦除FLASH,烧写FLASH,正常。FPGA直接下载bit文件,功能正常。原创 2023-09-19 16:31:55 · 2406 阅读 · 0 评论 -
matlab自动生成FPGA rom源码
【代码】matlab自动生成FPGA rom源码。原创 2023-09-18 14:09:01 · 502 阅读 · 0 评论 -
Vivado 添加FPGA开发板的Boards file的添加
vivado 添加boards file原创 2023-09-03 17:35:27 · 1512 阅读 · 0 评论 -
基于FPGA的PID算法理论详解(1)
控制设计过程从定义性能需求开始。控制系统的性能一般通过应用一个阶跃函数作为设定值命令变量,然后测量过程变量的响应。一般来说,我们通过测量定义的波形特征来量化响应。上升时间是系统从稳定状态(或最终值)的10%上升到90%所需的时间。过冲百分比是过程变量超过最终值的百分比数,并以最终值的百分比表示。稳定时间是过程变量值稳定在最终值(通常是5%)范围内所需的时间。稳定状态误差是过程变量和设定值之间的最终差值。请注意,这些值的确切定义在学术和工业上的定义不尽相同。图2:典型PID闭环系统的响应。原创 2023-08-09 15:32:14 · 827 阅读 · 0 评论 -
基于FPGA MIPS CPU设计(2)
本章介绍MIPS的汇编及运行软件。原创 2022-11-23 14:44:38 · 301 阅读 · 0 评论 -
MIPS架构与指令简介
MIPS架构与指令简介1 什么是MIPS? MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor witho...原创 2021-06-24 11:30:00 · 3075 阅读 · 0 评论 -
基于FPGA MIPS CPU设计学习(1)
fp) GNU MIPS C编译器使用了帧指针(frame pointer), 而SGI的C编译器没有使用,ra)存放返回地址,MIPS的jal(jump-and-link)指令跳转到某个过程时,会把下一条。at,该寄存器为汇编保留,由于I型指令的立即数字段只有16位,在加载一个32位立。但是,指令 li $t1,-4000000 因为数字太大,需要拆开,则会被转换成。s0-$s7)保存寄存器,被调用者需要保存和恢复使用的保存寄存器,目的是减少。t0-$t7)临时寄存器,子程序可以使用它们而不用保留。原创 2022-11-23 14:18:37 · 631 阅读 · 0 评论 -
基于FPGA的uart设计 --verilog源码--TX篇
代码已验证错误已修改:module uart_tx2( Clk, //50M时钟输入 Rst_n, //模块复位 data_byte, //待传输8bit数据 send_en, //发送使能 baud_set, //波特率设置 Rs232_Tx, //Rs232输出信号 Tx_Done, //一次发送数据完成标志 uart_state //发送数据状态); input Clk; input Rst_n; input [7:0]data_byt原创 2022-01-12 20:53:42 · 477 阅读 · 0 评论 -
verilog 按键消抖(下板已测)
verilog 按键消抖://Button debounce 按键消抖`timescale 1ns / 1ps`define TIMEBNT 1_999_999module Button_debounce( input clock, //100MHz input reset, input BNT, output reg bnt_valid //1 clock ); localparam IDLE = 2'b00,原创 2021-12-17 11:39:07 · 449 阅读 · 0 评论 -
xilinx fifo读写仿真验证
当fifo写入200个数停止写入,连续读出300个数,当大于200时,读出fifo最后写入的一个数。`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2021/12/15 14:58:57// Design Name: // Module Name: t原创 2021-12-15 15:47:54 · 329 阅读 · 0 评论 -
verilog计数器分频
直接上源码://计数器分频module clk_gen( input clk,//50MHZ input rst_n,//清零 output reg clk_1khz );reg [31:0] cnt;always @(posedge clk or negedge rst_n)begin if(!rst_n) begin cnt<=32'd0; clk_1khz<=1'b0; end else begin i.原创 2021-12-14 15:24:53 · 1575 阅读 · 0 评论 -
verilog 数码管驱动(下板已测)
1,带位选数码管驱动`timescale 1ns / 1psmodule seg7_hex( input [15:0] x, input clk, input clr, output reg [6:0] a_to_g, output reg [3:0] an, output wire dp ); wire [1:0] s; wire [3:0] a原创 2021-12-14 15:06:30 · 364 阅读 · 0 评论 -
verilog 四位二进制全加器和半加器
1 全加器module add4(input[3:0] a,b,output[3:0] sum,output cout,input cin);assign{cout,sum} = a+b+cin;endmodule2半加器module add4(input[3:0] a,b,output[3:0] sum,output cout);assign{cout,sum} = a+b;endmodule原创 2021-12-13 15:01:38 · 2489 阅读 · 0 评论 -
Verilog bin2bcd
1 Bin2bcd// 二进制码转BCD码module binTobcd( input [7:0] bin, output [3:0] bcdH, output [3:0] bcdL);assign bcdH = bin/10;assign bcdL = bin%10;endmodule2 数码管驱动`timescale 1ns / 1psmodule seg7_hex( input [15:0] x, input cl原创 2021-12-02 10:31:05 · 806 阅读 · 0 评论 -
xilinx zynq7020通过ps uart实现简单计算器
/******************************************************************************** Copyright (C) 2009 - 2014 Xilinx, Inc. All rights reserved.** Permission is hereby granted, free of charge, to any person obtaining a copy* of this software and associa原创 2021-11-03 11:54:31 · 452 阅读 · 0 评论 -
FPGA上电后IO的默认状态
关注、星标公众号,直达精彩内容来源:FPGA之家1概述在进行FPGA硬件设计时,引脚分配是非常重要的一个环节,特别是在硬件电路上需要与其他芯片通行的引脚。Xilinx FPGA从上电之后...转载 2021-10-12 11:30:00 · 2335 阅读 · 0 评论 -
FPGA的时钟资源
本文将回顾常见的 FPGA 资源,这些资源使我们能够在整个系统中有效地生成和分配时钟信号。在许多情况下,我们需要生成新的时钟信号并在整个系统中有效地分配它们。 现代 FPGA 具有专用的时钟管理模块,使我们能够执行这两项任务。在本文中,我们将首先简要回顾有效时钟分配和新时钟生成的问题。 然后,我们将看到现代 FPGA 的时钟管理模块可以轻松满足这两个设计要求。1 高效的时钟分配即使在小型数字设计中,时钟信号也可能分布到整个系统的数百个时钟元件。 这些高扇出时钟信号负责同步系统的不同子系统或组件。 这原创 2021-09-06 11:07:07 · 519 阅读 · 0 评论 -
Modesim 常用仿真小技巧
Modesim 常用仿真小技巧1 信号归类选中需要归类的信号,右击选择group,然后命名取消group,右击group名,然后选择Ungroup2 信号测量有时我们需要测量modelsim仿真出来的某一段波形的仿真时长,直接使用鼠标拖拽标线不容易准确到达信号的上升沿或者下降沿。首先选中所要测量的信号,在点击到上升沿位置,这时位置不是很准确。然后再点击Find Next Transition, 这时可以找到准确的信号变化边沿。然后再增加下一条标线,点击Insert Cursor3 将原创 2021-07-21 18:40:06 · 733 阅读 · 1 评论 -
modelsim使用技巧-波形白底黑线
Modelsim使用技巧—波形白底黑线设置在发表期刊或者论文时,我们需要夹带modelsim的仿真波形在我们的论文里,在modelsim默认模式下的波形一般是黑底绿线白字,如图1所示。打印...原创 2021-07-19 10:52:00 · 699 阅读 · 0 评论 -
verilog 实现PWM DAC
PWM 采用任意宽度的输入值,并创建只有一位宽度的输出。使用自由运行计数器的 PWM,这是能做的最简单的 PWM。module PWM( input clk, input rs...原创 2021-07-01 11:35:00 · 1411 阅读 · 1 评论 -
Verilog实现一阶sigma_delta DAC
一阶 sigma-delta 调制器类似于 PWM,但如果需要对其进行滤波,则具有更好的频率响应,因为它具有更高的频率输出内容。创建一阶 sigma-delta 调制器的最简单方法是使用硬...转载 2021-07-06 11:30:00 · 2295 阅读 · 0 评论 -
Modelsim仿真--波形状态机名称显示
在通常的modelsim波形仿真中,状态机的显示为16进制,如 3‘h1。如下图所示str_cur为状态跳变信号。为了更加直观的以文本形式显示状态机的跳变,如自己定义的IDLE等,我们可以使用virtual typevirtual function状态机源文件://vending-machine// 2 yuan for a bottle of drink// only 2 coins supported: 5 jiao and 1 yuan// finish the function o原创 2021-07-07 16:33:17 · 925 阅读 · 0 评论 -
一阶 sigma_delta DAC
一阶 sigma-delta 调制器类似于 PWM,但如果需要对其进行滤波,则具有更好的频率响应,因为它具有更高的频率输出内容。创建一阶 sigma-delta 调制器的最简单方法是使用硬件累加器……每次累加器溢出时,输出“1”。 否则输出’0’。 这在 FPGA 中很容易完成。module PWM(clk, PWM_in, PWM_out);input clk;input [7:0] PWM_in;output PWM_out;reg [8:0] PWM_accumulator;alway原创 2021-06-28 17:23:21 · 1731 阅读 · 0 评论 -
Verilog系统函数—随机数产生
Verilog系统函数—随机数产生1 $randomrandom用于产生随机数,函数调用时返回一个32位的随机数,它是一个带符号的整形数。random用于产生随机数,函数调用时返回一个32位的随机数,它是一个带符号的整形数。random用于产生随机数,函数调用时返回一个32位的随机数,它是一个带符号的整形数。random%b b是一个正数,返回的数在[(-b+1):(b-1);以下例子用于产生一个-99~99和0-99的两个随机数。`timescale 1ns / 1psmodule Proba原创 2021-06-01 17:52:50 · 3579 阅读 · 0 评论 -
【源码】手把手教你用Python实现Vivado和ModelSim仿真自动化
芯片设计从RTL代码一直到最后流片的GDSII文件,都是文本文件,因此,掌握文本分析处理语言是集成电路设计的一项重要的基本功。本公众号一直致力于推广采用文本分析工具来提升仿真和综合效率的方...转载 2021-04-14 17:30:00 · 1154 阅读 · 0 评论 -
基于FPGA的CRC校验码生成器设计
今天给大侠带来基于FPGA 的CRC校验码生成器设计,话不多说,上货。一、概述CRC,即Cyclic Redundancy Check,循环冗余校验,是一种数字通信中的常用信道编码技术。其...转载 2021-04-06 12:56:24 · 1085 阅读 · 1 评论 -
Verilog task学习
1 task任务task被一段封装在“task-endtask”之间的程序。task通过调用来执行,而且只有在调用时才会被执行,如果定义了task,但是在整个过程中都没有调用它,那么这个task是不会执行的。调用某个task时可能需要它处理某些数据并返回操作结果,所以task应当有接收数据的输入端和返回数据的输出端。另外,task可以彼此调用,而且task内还可以调用函数。2task声明task语法如下://Verilog-2001 Task Declarationtask [automatic原创 2021-03-23 17:48:05 · 330 阅读 · 0 评论 -
FPGA DS18B20温度传感器的开发
verilog代码:module DS18B20(Clk,nRst,En,Data,DQ); input Clk; //输入时钟50MHz input nRst; //输入复位 input En; // 启动温度转换 output [15:0] Data; //输出的温度数捿 inout DQ; //数据管脚 /* 定义与声昿 */原创 2021-03-18 16:48:16 · 1058 阅读 · 1 评论 -
Xilinx UltraScale FPGA产品选型
原创 2021-03-08 16:29:55 · 1081 阅读 · 1 评论 -
Xilinx UltraScale
Xilinx UltraScaleXilinx 全新 16 纳米及 20 纳米 UltraScale™ 系列基于首款架构,不仅覆盖从平面到 FinFET 技术乃至更高技术的多个节点,同时还可从单片 IC 扩展至 3D IC。在 20 纳米技术领域,Xilinx 率先推出了首款 ASIC-Class 架构,不仅支持数百 Gb 级的系统性能,在全线路速度下支持智能处理,而且还可扩展至 Tb 和 Tf 级别。在 16 纳米工艺方面,UltraScale+ 系列将全新存储器、3D-on-3D 和多处理 SoC (原创 2021-03-08 16:22:53 · 840 阅读 · 0 评论 -
Verilog代码设计之时分复用
新年快乐!开工大吉!做芯片第一要追求的是功能,在保证功能都满足的情况下追求性能,在性能满足的情况下追求成本,也就是面积。当然功耗也十分重要。提高速度和降低面积属于两个矛盾的目标,各自努力的...转载 2021-02-23 17:30:00 · 4620 阅读 · 1 评论 -
Aurora IP建立仿真及测试
电脑系统 开发工具 设计工程 作者win10 Vivado201...原创 2018-11-27 10:04:54 · 1452 阅读 · 0 评论