
FPGA
文章平均质量分 82
FPGA技巧
Simuworld
仿真世界。专业从事MATLAB,simulink,FPGA等仿真工作。擅长通信信号处理,无线基带,深度学习,智能优化,图像处理等
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【FPGA】xilinx的开发软件vitis使用简介
同时,Vitis还支持各种不同的编程语言和开发环境,例如C++、OpenCL、Python等,以及Xilinx的Vivado、SDSoC和SDAccel等开发工具,这使得开发者可以根据自己的需要和喜好选择适合自己的开发工具和编程语言,从而提高开发效率。总之,Vitis是一款功能强大、灵活性高、适应性强的开发工具套件,它支持多种编程语言和开发环境,具有丰富的功能和高级特性,可以帮助开发者更加轻松地进行复杂的系统和应用程序开发任务。与Vivado相比,Vitis的界面更加现代化,更适合现代开发者使用。原创 2023-09-27 13:24:23 · 3070 阅读 · 0 评论 -
【FPGA】FPGA中FIFO的应用
FPGA(现场可编程门阵列)是一种灵活的硬件设备,可以根据用户的需要重新配置以实现特定的数字电路功能。FIFO(先进先出)是FPGA开发中常用的数据缓存元件,主要用于在数据传输过程中临时存储数据,并确保数据的顺序和及时性。在数据传输过程中,由于不同的设备或处理器的时钟频率可能不同,因此需要进行同步处理。FIFO作为一种缓冲元件,可以将异步数据进行存储,并在同步时按照先进先出的顺序输出,确保数据的正确传输。原创 2023-09-25 17:26:01 · 375 阅读 · 0 评论 -
如何使用verilog开发一个通信系统
目录1.开发步骤2.Verilog实现案例概述案例1: QPSK调制解调器案例2: RS编码与解码器案例3: OFDM调制解调器3.参考文献 Verilog是一种硬件描述语言(HDL),用于设计和仿真数字电路。使用Verilog开发通信系统可以实现各种通信协议和功能,如调制解调、信道编码、解码、误码纠正等。下面将详细介绍如何使用Verilog开发一个通信系统,并给出三个案例以及相关参考文献。1. 系统设计: 定义通信系统的功能和架构,包括发送端和接收端的模块设计、通信协议、信道编码等。2. Ver原创 2023-08-07 16:55:12 · 377 阅读 · 0 评论 -
基于FPGA的常用数字电路设计与实现
总结而言,通过Verilog语言在FPGA中实现各种应用数字电路的步骤包括准备工作、创建项目、创建模块、连接模块、生成比特流文件、配置FPGA以及测试和调试。实现这些步骤需要掌握Verilog语言的语法和概念,理解电路的功能和行为,处理时序和时钟控制,以及合理利用FPGA资源。在上述示例中,TopModule模块通过实例化Adder模块,并将输入A和B连接到Adder模块的输入。Verilog语言的掌握:需要熟悉Verilog语言的基本语法和概念,包括模块、端口、数据类型、运算符和语句等。原创 2023-07-17 22:59:49 · 547 阅读 · 0 评论 -
FPGA人工智能网络模型设计简介
人工智能(Artificial Intelligence, AI)是近年来广受关注的技术领域之一。随着深度学习算法的发展,卷积神经网络(Convolutional Neural Networks, CNN)和循环神经网络(Recurrent Neural Networks, RNN)等模型在计算机视觉、自然语言处理等领域得到广泛应用。FPGA(Field-Programmable Gate Array)作为一种可编程逻辑器件,具有并行性强、功耗低、时延小等优点,在实现人工智能方面具有一定的优势。原创 2023-07-02 20:36:14 · 1147 阅读 · 0 评论 -
vivado中IP核调用方法简介
本文介绍了基于Vivado的IP核的使用方法,针对常用的IP核给出了5个以上的调用方法案例以及对应的testbench。这些IP核覆盖了常见的功能模块,可以用于快速实现各种应用。在实际设计中,可以根据具体需求选择合适的IP核,并结合自己的设计进行连接和配置,从而快速实现所需功能。原创 2023-06-26 15:14:39 · 9433 阅读 · 0 评论 -
Verilog Testbench开发教程
当测试激励或期望结果较大时,可以将其存储在文件中,并在测试平台中使用 $fopen、$fread 和 $fwrite 等系统函数读写文件。测试激励是一组输入信号的序列,用于在设计单元上产生特定行为。任务和函数:将输出信号检查封装为任务 (task) 或函数 (function),在 initial 语句块中调用。任务和函数:将测试激励封装为任务 (task) 或函数 (function),在 initial 语句块中调用。双向信号:既可以从测试平台驱动到设计单元,也可以从设计单元驱动到测试平台的信号。原创 2023-06-21 00:02:03 · 2357 阅读 · 0 评论 -
【FPGA】Verilog设计简介
Verilog语言是1983年由GDA(Gateway Design Automation)公司的Phil Moorby首创的,之后Moorby又设计了Verilog-XL仿真器,Verilog-XL仿真器大获成功,也使得Verilog语言得到推广使用。1989年,Cadence收购了GDA1990年,Cadence公开发表了Verilog HDL,并成立了OVI组织(Open Verilog International)专门负责Verilog HDL的发展。原创 2023-04-16 17:59:16 · 495 阅读 · 0 评论 -
【FPGA】FPGA中建立时间和保持时间的应用
建立时间(Setup Time)是指输入信号在时钟上升沿到来之前,必须保持稳定的最小时间。也就是说,如果输入信号的建立时间小于时钟上升沿的到达时间,那么FPGA将无法正确地读取输入信号,导致设计失败。保持时间(Hold Time)是指输入信号在时钟上升沿到来之后,必须维持稳定的最小时间。也就是说,如果输入信号的保持时间小于时钟上升沿的到达时间,那么FPGA将无法正确地读取输入信号,导致设计失败。建立时间和保持时间是FPGA设计中的重要时序参数,用于描述输入信号在时序上的特性。原创 2023-04-05 01:10:28 · 1433 阅读 · 0 评论 -
【FPGA】FPGA时序约束简介和应用技巧
FPGA(Field-Programmable Gate Array)是一种可编程逻辑门阵列,可以通过编程实现不同的逻辑功能。在FPGA设计中,时序约束是至关重要的一步。时序约束是指在FPGA设计中,对信号传输时间、时钟周期、时序路径等进行限制的过程。通过时序约束,可以保证FPGA设计的时序性能满足设计要求,提高系统的稳定性和可靠性。FPGA时序约束的主要目的是避免时序冲突和时序违反。时序冲突是指在同一时间内,多个信号需要访问同一资源,导致资源竞争的情况。原创 2023-04-05 00:58:24 · 1300 阅读 · 0 评论 -
【FPGA】基于FPGA的RS码模块设计
GF(256)中的所有数字都可以用2的幂来表示,具体来说,GF(256)中的所有数字都可以用2**n来表示,其中0原创 2023-03-31 03:33:06 · 1504 阅读 · 0 评论 -
【FPGA】基于verilog复杂逻辑电路设计——FIFO存储器设计
FIFO是英文的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。FIFO的一些重要参数FIFO的宽度:也就是英文资料里常看到的THE WIDTH,它指的是FIFO一次读写操作的数据位,就像MCU有8位和16位,ARM 32位等等。原创 2023-03-28 21:41:55 · 640 阅读 · 0 评论 -
【FPGA】Verilog仿真与验证
这两个函数被调用时,都返回当前时刻距离仿真开始时刻的时间量值,所不同的是,$time 函数以64位整数值的形式返回模拟时间,$realtime 函数则以实数型数据返回模拟时间。◆在激励信号的定义中,可使用如下一些控制语句:if-else,for,forever,case,while,begin-end,fork-join等,这些控制语句一般只用在always、initial、function、task等过程块中。其中,起始地址和结束地址均可以缺省,如果缺省起始地址,表示从存储器的首地址开始存储;原创 2023-03-02 04:26:04 · 1282 阅读 · 0 评论 -
【FPGA】Verilog设计入门——时序模块及其Verilog表述
1)如果将信号定义为边沿敏感信号,则必须在敏感信号表中用negedge或posedge给出表述, 但在always@过程结构中不能再出现该信号了,例如,时钟触发器时钟CLK。4)敏感信号分为两种类型:电平敏感信号和边沿敏感信号,在同一过程的敏感信号表中,只能放置一种敏感信号,不能混放。当CLK=1,Q随着D的变化而更新,当CLK=0时, Q值保持,属于电平触发,敏感信号表列电平信号。RST=1时,CLK=1时,Q随D的变化而变化,CLK=0时,Q保持CLK=1时的值。原创 2023-02-18 21:25:52 · 2273 阅读 · 0 评论