FPGA学习笔记
修行进行时
这个作者很懒,什么都没留下…
展开
-
使用Vivado将包含Xilinx IP的用户模块封装成网表文件(也适用不包含Xilinx IP的用户模块)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声...转载 2019-11-21 09:10:24 · 827 阅读 · 0 评论 -
RGB转Gray算法实现
主要介绍3种方法:方法1:求平均法原则上的灰度,就是让R=G=B,那顾名思义,可以直接求平均,如下:gray = (R+G+B)/3这里有除法,这里将3改为256,这里公式变为gray =((R+G+B)*85)>>8。图像显示时用(gray,gray,gray)替代(R,G,B)即可。(注:为什么将256替换3?在FPGA实现中,除法一般使用移位进行替换,适用于2...原创 2019-11-19 15:23:42 · 1484 阅读 · 0 评论 -
Vivado中vio的使用
参考教程:https://www.cnblogs.com/kingstacker/p/9810704.html前言使用场景:在使用In system debug时需要使用按键触发查看相关信号,但不想用板子上的按键。VIO:Virtual input output,即虚拟IO。主要用作虚拟IO使用;VIO的输出可以控制模块的输入,VIO的输入可以显示模块的输出值。连接如下图:...转载 2019-11-19 09:59:59 · 20175 阅读 · 1 评论 -
将verilog编写的工程封装BlackBox
目前使用verilog实现了某个算法,想要在别的工程中调用。如何实现?还没有具体实现,后期可能会做这一步工作。http://bbs.21ic.com/icview-276543-1-1.htmlhttps://www.cnblogs.com/adamite/p/ise_ngc.htmlhttps://zhidao.baidu.com/question/170363799724919...原创 2019-07-10 22:05:38 · 1287 阅读 · 0 评论 -
二进制相关知识
1、二进制和其它进制的简单介绍(1)十进制不同位的数字代表10的不同次幂,小数点左侧的数字为0次,向左一次增加,向右依次减小。例如:(2)二进制例子:其中括号右下角的“2”表示括号内是二进制数,与十进制做区分。(3)十六进制可以使用阿拉伯数字0-9和拉丁字母的a-f表达十六进制。例如:注意:1、三者都可以有负数,原则和非负数一样,只是前面有负数符号“...原创 2019-03-27 16:35:00 · 2087 阅读 · 3 评论 -
FPGA学习笔记(五)——状态机设计
第一段:同步时序的always模块,格式化描述次态迁移到现态寄存器。always@(posedge clk or negedge rst_t) beginif(!rst_n) begin state_c <= IDLE;endelse begin state_c <= state_n;endend第二段:组合逻辑的always模块,描述状态转移条件。...原创 2019-02-23 15:29:40 · 883 阅读 · 0 评论 -
FPGA学习笔记(四)——计数器设计与验证
此实验在FPGA学习笔记(三)中记录一遍了,此文再加入相应的电路图。实验内容:LED在计数器的控制下,每500ms,状态翻转一次。系统时钟为50M,对应的时钟周期是20ns。500ms = 500 000us = 500 000 000 ns则500ms翻转一次,对应25 000 000个时钟周期之后翻转一次,则需要一个计数器寄存器对时钟周期进行计数统计。500 000 0...原创 2019-02-15 20:50:09 · 1504 阅读 · 0 评论 -
FPGA学习笔记(四)——状态机设计思路
1、状态机工作原理状态机是一种能够描述具有逻辑顺序和时序顺序的事件的方法,特别适合描述那些存在先后顺序以及其它规律性事件。状态机是组合逻辑和寄存器逻辑的特殊组合,一般包括两个部分:组合逻辑部分和寄存器逻辑部分;寄存器用于存储状态,组合电路用于状态译码和产生输出信号。状态机的下一个状态及输出不仅与输入信号有关,还与寄存器当前状态有关,其基本要素有三个:状态、输出和输入。(1)状态状态也叫...原创 2019-03-21 15:43:07 · 1548 阅读 · 0 评论 -
FPGA学习笔记(三)——Verilog时序逻辑设计与验证
主要讲解了同步清零和异步清零以及如何编写程序及仿真? //时序逻辑module counter( clk, en, clr, cnt_value); input clk;//时钟信号 input en;//复位信号 input clr;//清零信号 output [3:0] cnt_value; reg [3:0] cnt;//计数器 //异步清零 always...原创 2019-01-08 22:25:15 · 1937 阅读 · 0 评论 -
FPGA学习笔记(二)——verilog 语法讲解
Verilog语法介绍:数字电路中主要有组合逻辑和时序逻辑两种电路。组合逻辑:多路选择器、译码器、加法器、乘法器等;时序逻辑:最基本的是计数器。Verilog文件的基本结构:一个文件中可以包含多个模块。////方法1//模块声明 模块名 端口列表module mux2 (a,b,sel,out,io);//端口属性定义 input [7:0] a; input [7:0] ...原创 2019-01-08 20:13:32 · 1886 阅读 · 0 评论 -
FPGA学习笔记(一)——FPGA学习入门
之前一直都是自己看书学习FPGA,例如:云创工作室《Verilog HDL 硬件描述语言程序设计与实践教程》,该书主要讲了如何使用ISE和Modelsim进行编程,很详细,初学者可以对整个FPGA开发流程有个大概了解。夏宇闻《Verilog 数字系统设计教程》,该书主要讲解了Verilog HDL语法知识,可以作为Verilog HDL语言入门。但是,我做项目时,还是以c++的思路编程,没有...原创 2019-01-04 11:05:13 · 4504 阅读 · 0 评论