FPGA
文章平均质量分 85
daijingxin
好好学习天天向上
展开
-
并行与并发
所谓"同时"进行我们现在使用的windows操作系统,是可以"同时"做很多件事儿的。比如我们可以一边看电影,一边聊QQ;一边听歌,一边打游戏。但是,这所谓的"同时",在操作系统底层可能并不是真正的意义上的"同时"。实际上,对于单CPU的计算机来说,在CPU中,同一时间是只能干一件事儿的。为了看起来像是“同时干多件事”,Windows这种操作系统是把CPU的时间划分成长短基本相同的时间区间,即”时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个应用使用。这样,给用户的感觉是他在同时的进行听转载 2021-07-18 22:11:07 · 332 阅读 · 0 评论 -
FIFO的基本原理
FIFO( First Input First Output)是指先进先出。通常实现跨时钟域的处理有使用异步FIFO(结合格雷码)、锁存+握手信号和使用DMUX电路这几种方法在系统设计中,以增加数据传输率、处理大量数据流、匹配具有不同传输率的系统为目的而广泛使用FIFO存储器,从而提高了系统性能。FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个是存储器的输入口,另一个口是存储器的输出口。对于单片FIFO来说,主要有两种结构:触发导向结构和零导向传输结构。触发导向传输结构原创 2020-09-15 15:29:34 · 19908 阅读 · 2 评论 -
Verilog的一些简单语法
一、变量 Verilog HDL有线网型和寄存器型两种类型的变量,每种类型都有在电路中的实际意义。 1.线网型变量: 它相当于硬件电路中的各种物理连接,其特点是输出的值紧跟随输入值进行变化。 wire型变量最经常被用到,对于wire型变量有两种赋值方式:(1).直接将变量连接到模块的输出端。(2).第二种方式是使用assign持续赋值语句进行赋值。 ...原创 2019-10-18 12:53:43 · 1471 阅读 · 0 评论 -
Quartus报错及原因
简单记一下自己在使用quartus过程中遇到的不容易发现原因的报错。(持续补充)1.Error: Can't elaborate user hierarchy "shift_reg_SIPO1:inst1"一个进程中不能有两个相同的时钟驱动,删除掉always中两个时钟驱动中的一个即可。2.Error (10028): Can't resolve multiple constant d...原创 2019-09-24 20:59:07 · 10246 阅读 · 1 评论 -
FPGA实验三
实验一:项目创建、编译和下载1.使用一个拨码开关控制所有的LED灯亮灭。实验效果:bdf图:引脚对应关系图;实验二:译码器实验1.放置2个2-4译码器模块,则总共有2组SW, 每组2个,2组LED,每组4个,每组SW分别控 制其对应的LED组。bdf图:实验效果:引脚配置:2.参考代码,设计一个3-8译码器,完成类似的拨码开关实验。注...原创 2019-09-25 19:18:27 · 1505 阅读 · 0 评论 -
FPGA实验二
实验一:四选一选择器// module test3, 选择器(mux)的代码,module test3( IN0 , // input 1 IN1 , // input 2 IN2 , // input 3 IN3 , // input 4 SEL1 , // select SEL2 ...原创 2019-09-19 12:45:09 · 603 阅读 · 0 评论 -
modelsim的安装过程
文章末尾会附上modelsim的安装包:按照正常的安装方式进行安装后,通常默认的路径为C:\modeltech64_10.5。之后将下载好的MentorKG.exe和patch_dll.bat文件复制到C:\modeltech64_10.4\win64目录下。并以管理员的方式运行C:\modeltech64_10.4\win64\patch_dll.bat,生成LICENSE.TXT,并复制到C:\modeltech64_10.5目录下。注意要把这个文件的只读属性去掉,不然有可能生成不了LICENSE文件原创 2020-09-11 15:48:03 · 13697 阅读 · 10 评论 -
基于FPGA的TDM/I2S模块设计
TDM就是时分复用模式(Time-Division Multiplexing,TDM)。时分复用是指一种通过不同信道或时隙中的交叉位脉冲,同时在同一个通信媒体上传输多个数字化数据、语音和视频信号等的技术。TDM是一种多用在数字的的多路复用技术(模拟应用非常罕见)。使用这种技术,可以使两个以上的信号或数据流同时在一条通信线路上传输,其表现是在同一通信信道内的子信道。但在物理上来看,信号是轮流使用同一个物理通道的。时间域被分成周期循环的一些小段, 每段时间长度都是固定的,每个时段用来传输一个子信道。例如子信道1原创 2020-08-29 11:11:41 · 6440 阅读 · 2 评论 -
Verilog语法--生成块语句
目录#什么是生成块生成块能够动态的生成Verilog的代码,可以用于对矢量中的多个位进行重复操作、多个模块的实例引用并根据程序中的参数确定程序中是否包含哪段代码。生成语句可以控制变量的声明、任务和函数的调用。在编程时,可以使用关键字generate_endgenerate来表明生成块语句的范围。#生成块语句生成块语句根据功能可以分为三种形式,它们分别是条件、case和循环。##if语句...原创 2019-10-24 20:03:19 · 1328 阅读 · 3 评论 -
FPGA实验一
实验一:4-16译码器内容:用两片74138芯片拼成4-16译码器。为了达到四位二进制输入的目的,将两片74138芯片进行级联,并添加IN_D引脚,具体原理图如下:最终产生的波形图如下:实验二:十二进制计数器74161芯片的真值表与时序图如上图所示。从时序图中可以看出,单片74161芯片最多能进行16进制计数,当输出为1100原理图如下:波形图:...原创 2019-09-17 19:42:02 · 2313 阅读 · 1 评论 -
C语言与Verilog HDL语言的区别与不同
C语言与Verilog HDL语言同为计算机语言,语法相近,但本质的不同是什么?数字电路设计工程师一般都学习过编程语言、数字逻辑基础、各种EDA软件工具的使用。就编程语言而言,国内外大多数学校都以C语言为标准,只有少部分学校使用Pascal 和Fortran。算法的描述和验证常用C语言来做。例如要设计Reed-Solomen编码/解码器,可以分为下面几个步骤。先深入了解Re...转载 2018-10-16 17:12:52 · 18218 阅读 · 2 评论