
笔记
文章平均质量分 79
TC_zyq
抬头的一片天,是男儿的一片天。
展开
-
Vivado2017.4上实现FFT,使用FFT IP核
Vivado2017.4上实现FFT,使用FFT IP核 在进行FFT实现前,当然需要提前了解一下快速傅里叶变换(FFT)的基本概念和基础知识啦!一、快速傅里叶变换(FFT) FFT是一种DFT的高效算法,称为快速傅立叶变换(fast Fourier transform)。傅里叶变换是时域一频域变换分析中最基本的方法之一。在数字处理领域应用的离散傅里叶变换(DFT:Discrete Fourier Transform)是许多数字信号处理方法的基础 [1] 。 FFT基本上可分为时间抽取法和频率原创 2022-01-20 18:33:48 · 8157 阅读 · 6 评论 -
Simulink中如何向运算模块输入可控变量
Simulink中如何向运算模块输入可控变量 我们知道Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。所以更好的利用好Simulink这个强大的工具非常重要。作为初学者,学习和运用的过程中会遇到很多问题,通过此记录的方式能够很好的加深自己的印象,也可以给有需要的初学者提供帮助。 比如:当我们在封装子模块时,子模块原创 2022-01-20 18:33:28 · 9188 阅读 · 0 评论 -
FPGA学习——HDBLBits网站刷题笔记整理(8)
算术运算电路(Arithmetic Circuits)半加器(Half adder)半加器是实现两个一位二进制数加法运算的器件。它具有两个输入端(被加数A和加数B)及输出端。是数据输入被加数A、加数B,数据输出S和数(半加和)、进位C。A和B是相加的两个数,S是半加和数,C是进位数。所谓半加就是不考虑进位的加法。真值表如下:题目:创建一个半加器。半加器将两位相加(不带进位),并产生一个求和和进位。答案:module top_module( input a, b, output原创 2021-07-29 18:30:55 · 624 阅读 · 0 评论 -
FPGA学习——HDBLBits网站刷题笔记整理(7)
多路选择器多路选择器是数据选择器的别称。在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关。题目1:创建一个1bit的2-1多路选择器。当sel=0时,选择a。当sel=1时,选择b。答案:module top_module( input a, b, sel, output out ); assign out = sel?b:a;endmodule题目2:创建一个100位宽的2-1多路选择器。当sel=0时,选原创 2021-07-28 16:26:44 · 542 阅读 · 0 评论 -
FPGA学习——HDLBits网站刷题笔记整理(6)
组合逻辑:基本逻辑门Wirewire线型的基本描述已在笔记整理(1)中给出了。题目:实现输入与输出的连接。答案:module top_module ( input in, output out); assign out = in;endmoduleGND(接地)题目:实现将输出接地。答案:module top_module ( input in, output out); assign out = in;endmoduleNO原创 2021-07-27 18:39:16 · 1391 阅读 · 0 评论 -
FPGA学习——HDLBits网站刷题笔记整理(5)
Verilog的更多功能三元条件运算符对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。Verilog中有一个三元条件运算符很像C语言,这可以用于在一行中根据条件选择两个值中的一个,而不用在组合always块中使用if-then。题目:给定四个无符号数,求最小值。无符号数可以与标准比较运算符(a <b)进行比较。答案:module top_module原创 2021-07-23 08:25:18 · 761 阅读 · 0 评论 -
FPGA学习——HDLBits网站刷题笔记整理(4)
程序组合逻辑always模块always模块有两种:组合:always@(*)时序:always@(posedge clk)组合逻辑always模块和assign模块赋值是等价的,使用哪一种完全看哪一种更为方便。always模块内可有更丰富的状态,如if-then,case等,但是不能有连续赋值语句assign。assign赋值语句的左边一般为wire型,always赋值语句的左边一般为reg型。always是一个过程块,后面通常接@再接敏感列表。时序逻辑,一般写作always@(posedg原创 2021-07-21 10:24:44 · 740 阅读 · 0 评论 -
FPGA学习——HDLBits网站刷题笔记整理(3)
模块:层次结构1、模块模块是Verilog中基本单元的定义形式,是与外界交互的接口。模块的定义必须是以module开始,endmodule结束的。module与endmodule中间,即模块内部一般有5个部分,分别是变量声明、数据流语句、行为级语句、低层模块例化及任务和函数。这几部分在模块内部都是任意出现的,但在使用变量之前必须先声明。2、端口伴随模块的还有端口,端口是模块与外界交互的接口,必不可少。对模块进行调用只能通过端口连接进行。端口列表和声明可以合在一起使用,也可以分开使用,见下代码,两原创 2021-07-17 17:51:33 · 635 阅读 · 2 评论 -
FPGA学习——HDLBits网站刷题笔记整理(2)
Verilog 继承了C语言的多种操作符和结构,与硬件描述语言VHDL相比,代码更简洁,更易上手。二、向量部分当位宽大于1时,wire型或reg型便可声明为向量的形式。例如:wire [99:0] my_vector; //声明100bit位宽的线型变量my_vectorreg [3:0] x; //声明4bit位宽的寄存器x1、向量声明type [upper:lower] vector_name;type是指向量的数据类型,通常为wire型或reg型。如果声明的是输原创 2021-07-16 17:18:13 · 594 阅读 · 0 评论 -
FPGA学习——HDLBits网站刷题笔记整理(1)
Verilog HDL是目前应用最广泛的硬件描述语言,它可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合、仿真和分析等。一、基础部分1、模块(module)module是Verilog HDL中的基本单元,它代表一个基本的功能块,用于描述某个设计的功能或结构,类似于C语言中的函数。在编写Verilog代码时,module和endmodule是时刻绑在一起的,即是一段代码以module开始,以endmodule结束。wire 线型reg 寄存器型2、wire主要用以构成信号间的原创 2021-07-15 19:22:57 · 2030 阅读 · 3 评论