- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 ISE14.7手把手使用教程:建立工程、仿真、下载bit流、程序固化、以及一些常见的坑
本文主要记录下ISE14.7软件的使用,怎样从头开始建立工程,写代码,仿真,到下载bit流到板子上,还有程序的固化,用示波器看波形。最后还会记录下中间遇到的一些坑的解决办法:ISE14.7在win10下闪退的问题;下载bit流时,电脑和FPGA连接,但是电脑识别不到FPGA。
2022-03-17 15:31:56
45358
9
原创 【Verilog】串行接收器设计(Serial Receiver),HDLbits题目
这是博主在刷HDLbits卡住很久的一道题,在这里记录下来,自己总结下思路,同时也希望能给大家提供参考。题目主要是用状态机实现一个串行数据接收器。
2022-03-11 09:47:12
1309
原创 【Verilog】移位寄存器总结:移位寄存器、算数移位寄存器、线性反馈移位寄存器(LFSR)
在练习HDLbits的时候,最常见的几种移位寄存器进行了总结,供大家参考,希望可以帮助到大家。
2022-03-07 15:18:21
8512
2
原创 【Verilog】HDLBits练习:模块的实例化,数据选择器的设计
一、设计要求根据下边的RTL,实例化三个D触发器,然后自己编写一个数据选择器。二、设计代码module top_module( input clk; input [7:0] d, input [1:0] sel, output [7:0]q );wire clk_1,clk_2,clk_3;wire [7:0] d_1,d_2,d_3;wire [7:0] q_1,q_2,q_3;//实例化三个D触发器my_dff8 my_dff8_1(.clk(clk_1),.d(d_1),
2022-01-20 09:08:49
580
原创 C++多线程笔记(二):线程的开始,结束
一、主线程和子线程主线程从main函数开始执行;我们的自己创建的线程从一个函数开始执行(初始函数),这个函数执行完成,则这个线程执行完毕。主线程执行完毕,则这个进程执行完毕。一般情况下,主线程执行完毕,子线程还未执行完毕,则会强行结束子线程。想要让子线程一直执行,则要主线程一直执行。二、自己创建子线程步骤:1.添加头文件thread;2.写初始函数;3.main函数中写代码(创建...
2021-07-26 20:08:30
1822
原创 I2C总线
1.简介1. I2C 属于同步通信。 SCL 时钟线负责收发双方的时钟节拍, SDA 数据线负责传输数据。I2C 的发送方和接收方都以 SCL 这个时钟节拍为基准进行数据的发送和接收。2.一般应用于板内通信。2.和uart的异同a.数据格式UART: 每个字节中,都有一个起始位、 8 个数据位、 1 位停止位。I2C:分为起始信号、数据传输部分、停止信号。其中数据传输部分,可以一次通信过程传输很多个字节,字节数是不受限制的。而每个字节的数据最后也跟了一位,这一...
2021-04-07 18:38:03
305
原创 C语言中的指针
1.定义和初始化a.直接初始化unsigned char a;unsigned char *p = &a;直接定义并初始化,p表示a的地址,*p表示ab.初始化后再赋值unsigned char a;unsigned char *p; //定义指针变量,p = &a;&表示取地址,p为a的地址;p指向的变量 类型为unsigned char,而不是p类型为unsigned char2.*的使用a.乘法运算b.定义指针变量..
2021-04-06 18:23:38
1116
原创 C语言中的预处理命令 #define和constant
const unsigned int BAUD = 9600; //有分号#define BAUD 9600 //没有分号两种方式来定义常量。常用转义字符
2021-04-06 18:22:56
321
原创 C语言中的static关键字
一、局部变量:在任何一个函数内部定义的变量不加static编译器一般不对普通局部变量进行初始化,它的值在初始时是不确定的,除非对其显式赋值。普通局部变量存储于进程栈空间,使用完毕会立即释放。static修饰静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化为0。变量在全局数据区分配内存空间,编译器自动对其初始化。作用域为局部作用域,当定义它的函数结束时,其作用域随之结束。第二次调用静态变量时。变量保持上一次 的值。二、全局变量...
2021-04-05 16:42:59
194
2
原创 【FPGA学习笔记】VHDL程序包:work、std_logic_1164、std_logic_arith、std_logic_unsigned 、std_logic_signed
主要介绍vhdl中常用的几个程序包:work、std_logic_1164、std_logic_arith、std_logic_unsigned 、std_logic_signed
2020-04-05 21:05:07
8290
原创 【FPGA学习笔记】VHDL深入:含高阻态的电路设计,资源优化,速度优化,仿真延时
VHDL深入:含高阻态的电路设计,资源优化,速度优化,仿真延时
2020-04-05 17:54:34
2683
原创 【FPGA 学习笔记】sof文件和jic文件的区别,程序固化(将sof文件装换位jic文件)
介绍QuartusII三种下载文件sof、pof、jic的区别,以及将sof文件转化为jic文件。
2020-03-29 10:07:26
4777
1
原创 【FPGA学习笔记】Modelsim使用教程、modelsim常用快捷键、FPGA的仿真流程
简单介绍modelsim的使用和常用快捷键,主要是手动仿真和联合仿真。
2020-03-28 12:06:30
9071
原创 【FPGA学习笔记】Quartus II软件的使用:新建工程、设计输入、设计综合、编译下载以及usb-blaster驱动的安装
以一个简单的流水灯的例子,简单介绍怎么新建一个工程,怎样设计输入,怎样编译下载,以及usb-blaster的安装。
2020-03-27 11:27:53
3056
原创 【FPGA学习笔记】VHDL:GENERATE语句
generate 是一种可以**建立重复结构**或者是**在多个模块的表示形式之间进行选择**的语句。由于生成语句**可以用来产生多个相同的结构**,因此使用生成语句就可以**避免多段相同结构的VHDL程序的重复书写。**
2020-03-23 18:12:06
7616
1
原创 【FPGA学习笔记】VHDL学习(六)用VHDL描述基本逻辑电路(时序逻辑电路:触发器,寄存器,计数器)
用VHDL语言简单描述了几个时序逻辑电路:触发器、寄存器(寄存器,计数器,移位寄存器),计数器
2020-03-23 17:57:49
2752
原创 【FPGA学习笔记】VHDL学习(六)用VHDL描述基本逻辑电路
用VHDL 语言简单描述了几个组合逻辑电路:组合逻辑电路包括门电路,三态门电路,总线缓冲器,编码器,译码器,多路数据选择器,多路数据分配器。
2020-03-23 10:06:20
4466
1
原创 【FPGA学习笔记】VHDL语言(五)语言风格描述:行为描述,数据流描述,结构化描述
vhdl的描述风格通常有三种:行为描述,数据交流描述和结构化描述。这个帖子简单介绍下各个描述风格,配有一写小例子。
2020-03-21 23:33:01
5992
原创 【FPGA学习笔记】VHDL语言学习笔记(四)并行语句:并行赋值、process、子程序(procedure、function)
一、并行赋值语句包括并发信号赋值、条件信号赋值、选择信号赋值。1、并发信号赋值:q <= tmp3;tmp3类似于敏感信号,每当tmp3信号变化一次,就执行一次。2、条件信号赋值条件赋值语句的赋值具有优先级,第一句优先级最高。eg:四选一多路选择器--条件赋值(四选一多路选择器)ENTITY mux4_1 ISPORT(i0,i1,i2,i3,a,b : IN STD_...
2020-03-21 20:11:27
9065
1
原创 【FPGA学习笔记】VHDL学习笔记(三)顺序语句
一、顺序语句赋值语句1、变量赋值:用“ := ”a := 2;b := 3.0;2、信号赋值用“<=”,信号赋值和信号值的更新之间有一定的延时a<=b;IF 语句IF语句简单例子:四选一数据选择器。--if 语句LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 IS PORT (d0 : IN ST...
2020-03-20 21:12:28
1658
原创 【FPGA学习笔记】VHDL语言(二):VHDL的数字表示,数据对象,数据类型
VHDL 的语法规则一、数字表示整数:5,34,123_789_456实数:44.66E-2(44.66*0.01)以数制基数表示的数:2#1111_1110#254表示二进制数,11111110,转换为十进制是254,254可以省略(2#1111_1110#)。字符、字符串:字符放在单引号中,字符串放在双引号中数位字符串(位矢量):代表的是二进制,8进制,16进制的数组,长度为等值的...
2020-03-20 16:41:47
20643
6
原创 【FPGA学习笔记】VHDL语言(一)
一、简介一个VHDL语言通常包括实体(entity),结构体(architecture),配置(configuration),包(package),库(library)。VHDL核心代码包括两部分:1、实体描述部分;2、结构体描述部分一个·设计单元必须包括实体部分和结构体部分。LIBRARY library_name ; --调用库USE _library_name.package...
2020-03-20 10:28:51
3130
原创 【FPGA学习笔记】实践项目1-用FPGA实现动态数码管显示
一、任务要求:使用FPGA开发板上的6位数码管以动态方式从0开始计数,每100ms计数值增加1,当计数值从0增加到999999后重新从0开始计数。二、背景简介1、 动态数码管的是意思是,依次轮流让六个数码管显示数字,只要这个轮流的时间合适,就可以在六个数码管上同时显示数字。这个轮流的时间就很关键,时间太长出现只显示一个数字的情况,时间太短会显示不清楚而且亮度低。通过查阅资料,我们知道**数码...
2020-03-09 23:21:54
6259
原创 【FPGA学习笔记】Verilog语言中的或(|和||)
最近在学习过程中遇到if语句判断位宽不同的数相或的情况,就很迷惑,在询问同学后得到以下结论。一、|和||的区别|是按位或:将 a 的每个位与 b 相同的位进行相或||是逻辑或:a 或上 b,如果a或者b有一个为1,a||b结果为1,表示真。二、位宽为1的数和多位宽的数相或(||逻辑或)1、输出为1位的话(out为1位),只要有一个数的一位为1,结果就是1eg:result:可以看...
2020-03-09 11:25:43
45721
2
原创 [FPGA学习笔记] verilog语言中always和initial的区别
**1、每个程序块中可以有多个initial和always块;2、仿真时,initial和always同时开始执行,但是initial只执行一次,而always一直执行,只到仿真结束。3、一段程序中,initial和always使用次数不受限制,他们同时开始运行;4、 一个模块中可以有多个initial块,他们并行执行;5、initial常用语测试文件中的初始化;**...
2020-03-06 15:08:35
6760
1
原创 【FPGA学习笔记】Verilog语言的模块化设计
在进行模块化设计中,对于复杂的数字系统,我们一般采用自顶向下的设计方式。可以把系统划分成几个功能模块,每个功能模块再划分成下一层的子模块;每个模块的设计对应一个module,一个module设计成一个Verilog程序文件。因此,对一个系统的顶层模块,我们采用结构化的设计,即顶层模块分别调用了各个功能模块。一、以下以静态数码管显示实验为例简单介绍。1、底层模块1(计时模块)module ti...
2020-03-05 11:36:24
3787
小梅哥FPGA自学笔记pdf+源码.zip
2022-08-24
FPGA实验项目:基于Spartan-3E starter board开发板的流水灯完整工程项目(ISE14.7软件平台)
2022-03-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人