自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 浮点数计算方式

0~22位表示小数23~30位表示指数部分31位表示符号(0正1负)0~51位表示小数部分52~62位表示指数部分63位表示符号(0正1负)

2025-04-01 09:33:29 274

原创 5、无线通信基站的FPGA实现架构

基站(Base Station,BS),也称为公用移动通信基站,是无线电台站的一种形式,具体则指在一定的无线电覆盖区中,通过移动通信交换中心,与移动电话终端之间的信息传递的无线电收发信电台。

2025-04-01 08:57:53 777

原创 4、FPGA特征简介

FPGA是由存放在片内的RAM来设置其工作状态的,因此工作时需要对片内RAM进行编程。用户可根据不同的配置模式,采用不同的编程方式。FPGA有如下几种配置模式。1)并行模式:一片EPROM配置一片FPGA。2)主从模式:一片EPROM配置多片FPGA。3)串行模式:串行PROM配置FPGA。4)外设模式:将FPGA作为微处理器的外设,由微处理器对其编程。目前,FPGA市场占有率最高的两大公司Xilinx和Altera生产的FPGA都是基于并行模式的,需要在使用时外接一个EPROM保存程序。

2024-09-22 02:15:37 1155

原创 3、无线通信系统的组成

在发送端,第一个变换是输入变换器,它把要传输的信号变为电信号,该信号一般是低频的,而且包括零频附近的分量,通常把该信号称为基带信号。第二种变换是把基带信号变为适合在信道中传输的信号形式,并送入信道,改变换一般称为调制。但是为了有效的将信号能量辐射到空间,天线的长度至少是信号波长的1/10.那么如果直接辐射话音信号,则需要300km的天线 ,这在实际中是不可能的。只有将不同移动系统的信号混频到不同的频率的载波上,变成中心频率不同的频带信号,接收机才能任意地选择所需要的信号而抑制无用信号的干扰。

2024-09-21 05:22:09 646

原创 2、无线通信的主要特点

与有线信道相比,移动电波的传输特性一般都很差,而且不同用户在传输中还会相互干扰,因此建立无线通信系统比有线系统复杂。另一方面,无线通信经常在快速移动中进行,这不仅会引起多普勒效应(Doppler)频移,产生随机调频,而且还会使得电波的传输特性发生快熟的随机起伏,严重影响通信的质量。其次,无线通信是在复杂的干扰环境中进行的。其代价是牺牲了全封闭的优质人造通道,来换取无须采用固定介质专用线路的开放式传输的灵活性,但是信道的开放性必然引起信道的时变性和随机性,从而大大降低通信容量以及质量。

2024-09-20 21:05:26 379

原创 1、无线通信的发展概况

其中最具代表性的蜂窝有北美的cdma2000,欧洲与日本的WCDMA以及我国的TD-SCDMA系统,都以码分多址(CDMA)实现对用户的动态寻址功能,以2G为基础,以业务多媒体化为目标。20世纪70年代末,随着半导体技术的发展和微处理器的出现,使得蜂窝系统实现的复杂度大大降低,从而进一步推动了蜂窝无线通信技术的发展。随着无线通信的范围的扩大,无线通信系统也有越来越多的类型,可以分为微波通信系统、移动电寻呼系统、蜂窝无线系统、无绳电话系统、集群无线通信系统、卫星通信系统、分组移动网等典型的通信系统。

2024-09-20 06:46:02 472

原创 MATLAB矩阵下标引用

在MATLAB中,普通的二维数组元素的数字索引分为双下标索引和单下标索引。双下标索引是通过一个二元数组对来对应元素在矩阵中的行列位置,例如A(2,3)表示矩阵A中第2行第3列的元素。单下标索引的方式是采用列元素优先的原则,对m行n列的矩阵按列排序进行重组,成为一维数组,再取新的一维数组中元素优先位置对应的值作为元素在原矩阵中单下标,例如对于4✖4的矩阵,A(7)表示矩阵A中第3行第2列的元素,而A(13)表示矩阵A中第1行第4列的元素。

2024-09-20 05:48:15 636

原创 MATLAB矩阵大小及结构的改变

根据运算时不同情况和需要,矩阵大小和结构的改变,主要的方式有旋转矩阵、改变矩阵维度、删除矩阵元素等。MATLAB种提供的具体此类函数如表所示。IX为排序后备元素在原矩阵中的行位置或列位置的索引。根据向量order来改变矩阵A中的维数顺序。

2024-08-27 11:34:06 447

原创 基本卫星介绍

世界主流卫星按照用途以及领域分类,世界主流的卫星可以按照不同的用途和领域分类,如通信卫星、气象卫星、导航卫星等。

2024-08-13 13:42:08 511

原创 MATLAB矩阵的构造

矩阵的构建方式有两种,一种与单元数组相似,可以直接对变量进行赋值;另一种是MATLAB中提供构建特殊矩阵的指令,如下所示。构建一个m✖n✖p的矩阵,其元素为零均值、单位方差的正态分布随机数构建一个(n+|k|)✖(n+|k|)维的矩阵,该矩阵的第k条对角线元素取自向量x,其余元素都为0,(关于参数k,参考上个命令)

2024-08-13 08:25:19 878

原创 MATLAB矩阵和数组的概念及其区别

而数组运算是MATLAB软件定义的规则,其目的是为了数据管理方便,操作简单,命令形式自然,执行计算有效。二者间联系主要体现在:在MATLAB中,矩阵是以数组的形式存在的,因此,一维数组相当于向量,二维数组相当于矩阵,所以矩阵是数组的子集。数组是在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式。对矩阵的基本操作,主要有矩阵的构建、矩阵维度与矩阵大小的改变、矩阵的索引、矩阵属性信息的获取7矩阵结构的改变等。1)矩阵是数学上的概念,而数组是计算机程序设计领域的概念。

2024-08-12 22:37:22 324 2

原创 MATLAB MAP容器类型

map本意为映射,就是可以将一个量映射到另一个量。比如将一个字符串映射为一个数值,那这个字符串就是map的键(key),那这个值就是map的数据(value)。由此,可以将map容器理解为一种快速查找数据结构的键。对一个map元素进行寻访的索引称为“键”。一个“键”可以是以下任何一种数据类型:1)1✖N字符串。2)单精度或双精度实数标量。3)有符号或无符号标量整数。这些键和其对应的数据储存在map中。一个map的每一个条目都包括唯一的键和相对应的数据。

2024-08-12 10:17:38 892

原创 使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器

当L[3]为1时,他表示高8位有数据为1,此时输出值记为Y1,此时不用管低8位,则输出L的构成为{1,Y1},当L[3]为0时,此时不管高8为,输出记为Y2,此时L构成为{0,Y2}.首先对于A[15:8],在他全为0时,开始进行后面的判断,即:1、他的优先级高于低8位;2、他如果不为0,只需要判断高8位即可,为0,判断低8位。因为要使用8位去处理16位的工作,因此要先将16位分为两个8位的,分别为A[15:8]与A[7:0]。即L[3]表示他是低8位还是高8位,L[2:0]表示他的数值。

2024-07-01 05:26:23 1161

原创 优先编码器Ⅰ

注意:如果他不是连续的,例如Y[1],他是在I[7]、I[6]、I[3]、I[2]为1时,Y[1]为1,但是不能只判断这几位:例如:47转化为二进制为00101111,如果只判断上述几位,则为1,但是按照功能表来说应该为0.但是对于I[0]来说,却没有上述的问题。2、对于EO,在EI等于0时等于0,在EI不等于0时,于GS值相反。1、首先对于GS,在EI等于0或EI不等于0且I等于0时,他为0。3、Y[2]在I[7:4]任意一位为1时,他为1,否则为0.4、Y[1]与Y[0]与Y[2]类似。

2024-06-30 00:56:28 690

原创 用优先编码器实现键盘编码电路

10个按键分别对应十进制数0-9,按键9的优先级别最高;按键悬空时,按键输出高电平,按键按下时,按键输出低电平;那么只要有一个被摁下,结果就是0,但是使能需要用1去表示被摁下,所以要对使能进行取反。摁键悬空时,为1,摁下时为0.且使用8421BCD码,为高电平有效。请使用优先编码器实现键盘编码电路,可添加并例化题目中已给出的优先编码器代码。要求:键盘编码电路要有工作状态标志,以区分没有按键按下和按键0按下两种情况。首先10个摁键0-9,9的优先级最高,所以取高9位进行判断。因此,需要对结果进行取反。

2024-06-25 07:34:13 405

原创 优先编码器电路①

不过由于在判断时只判断部分位,所以要区分case、casex、casez的区别。只需要采用case语句将每种情况进行描述,根据输入选择不同的输出。①请用System Verilog实现此优先编码器。case:进行全等匹配,只有全部相等才进行下一步。casez:不处理高阻值的位,视为正常z状态。casex:高阻值与不定值都忽略,不关心。下表是某优先编码器的真值表。

2024-06-23 07:47:43 370

原创 4bit超前进位加法器电路

和:𝑆𝑖=𝑃𝑖⊕𝐶𝑖−1Si​=Pi​⊕Ci−1​,进位:𝐶𝑖=𝐺𝑖+𝑃𝑖𝐶𝑖−1Ci​=Gi​+Pi​Ci−1​。按照逻辑表达式进行编写即可。

2024-06-22 21:49:58 438

原创 4位数值比较器电路

本题目为简单的判断大小问题,A>B,Y2为1,其余为0;A=B,Y1为1,其余为0;请用system Verilog语言采用门级描述方式,实现此4位数值比较器。某4位数值比较器的功能表如下。

2024-06-21 08:07:04 386 1

原创 使用函数实现数据大小端转换

在数字芯片设计中,经常把实现特定功能的模块编写成函数,在需要的时候再在主模块中调用,以提高代码的复用性和提高设计的层次,分别后续的修改。请用函数实现一个4bit数据大小端转换的功能。实现对两个不同的输入分别转换并输出。这个模块实现两个数据的大小端转换,使用generate函数刚好解决这个问题。使用Verilog HDL实现以上功能并编写testbench验证。rst_n:异步复位信号,低电平有效。a,b:4bit位宽的无符号数。c,d:8bit位宽的无符号数。

2024-06-21 07:44:41 375

原创 使用子模块实现三输入数的大小比较

使用子模块进行比较大小,子模块为两个数比较大小,因此需要先写子模块为两个数比较大小,输出较小值,将较小值与第三个数进行比较输出最小值,因此需要进行两次两个数比较大小。在数字芯片设计中,通常把完成特定功能且相对独立的代码编写成子模块,在需要的时候再在主模块中例化使用,以提高代码的可复用性和设计的层次性,方便后续的修改。在第一次比较时,因为使用时序逻辑,再使用第一次后,会有一拍的延迟,因此需要将第三个数打一拍,否则,你就是用上一刻的两个值与这一刻的第三个值进行比较。a,b,c:8bit位宽的无符号数。

2024-06-21 07:04:04 218

原创 使用generate…for语句简化代码

在某个module中包含了很多相似的连续赋值语句,请使用generata…for语句编写代码,替代该语句,要求不能改变原module的功能。本题目就是简单的使用generate...for语句将多个句子进行整合。data_out:8bit位宽的无符号数。data_in:8bit位宽的无符号数。

2024-06-20 20:30:58 310

原创 求两个数的差值

根据输入信号a,b的大小关系,求解两个数的差值:输入信号a,b为8bit位宽的无符号数。如果a>b,则输出a-b,如果a≤b,则输出b-a。对a与b进行比较,然后判断输出哪一个。rst_n:复位信号,低电平有效。a,b:8bit位宽的无符号数。c:8bit位宽的无符号数。

2024-06-20 08:24:22 251

原创 多功能数据处理器

根据指示信号select的不同,对输入信号a,b实现不同的运算。输入信号a,b为8bit有符号数,当select信号为0,输出a;当select信号为1,输出b;当select信号为2,输出a+b;当select信号为3,输出a-b.根据不同的select选择不同的处理结果。需要注意加减是有符号的,需要注意符号。因此将运算的数据全部定义为signed即可避免这个问题。select:2bit位宽的无符号数。rst_n:复位信号,低电平有效。a,b:8bit位宽的有符号数。c:9bit位宽的有符号数。

2024-06-20 07:57:58 255

原创 位拆分与运算

现在输入了一个压缩的16位数据,其实际上包含了四个数据[3:0][7:4][11:8][15:12],根据不同的选择进行不同位相加即可;但是只有选择为0时才更新输入值,否则不更新。现在请按照sel选择输出四个数据的相加结果,并输出valid_out信号(在不输出时候拉低)输出信号 validout out。0: 不输出且只有此时的输入有效。3:输出[3:0]+[15:12]2:输出[3:0]+[11:8]1:输出[3:0]+[7:4]

2024-06-19 07:15:40 313

原创 移位运算与乘法

然后再看波形示意图,143到7这块,说明他已经有新的数据输入了,但是他还是之前的数据继续计算,直到乘以8结束。8位数,乘以1,3,7,8;是对每一个输入的8位数都要进行的,所以是一个死循环,对输入的数据分别乘以1,3,7,8然后输出;已知d为一个8位数,请在每个时钟周期分别输出该数乘1/3/7/8,并输出一个信号通知此时刻输入的d有效(d给出的信号的上升沿表示写入有效)在每一个状态乘以1,3,7,8然后输出,然后回到初始状态。对于使能信号,他只在乘以1的时候进行输出为1,所以只在状态机第一态将他拉高即可。

2024-06-19 06:54:08 239

原创 FPGA奇偶校验

因此此题目为对32位数据进行按位异或输出为奇校验,因为异或为不同为1,即奇数个1为1;所以异或结果为奇校验,取反则为偶校验;奇偶结果根据sel值进行选择。但是对32位进行相加,需要使用for函数,浪费时间,因此只需要满足相加一个数据按位相加即可,即按位异或。现在需要对输入的32位数据进行奇偶校验,根据sel输出校验结果(1输出奇校验,0输出偶校验)对32位数据进行奇偶校验,则,32位相加为1为奇,反之为偶;输出信号 check。输入信号 bus sel。

2024-06-18 07:47:35 285

原创 异步复位的串联T触发器

根据T触发器的原理,相当于将此刻输入值与上一个时钟的输入值进行异或。同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。输入为1时,输出进行反转,输入为0时,输出保持。

2024-06-08 05:01:39 389

原创 MATLAB单元数组类型

单元(cell)数组是一种无所不包的广义矩阵。组成单元数组的每一个元素称为一个单元。每一个单元可以包括一个任意数组,如数值数组、字符串数组、结构体数组或另外一个单元数组,因此每一个单元可以具有不同的尺寸和内存占用空间。注:和一般的数值数组一样,单元数组的维数不受限制,可以是一维的、二维或多维。MATLAB中使用单元数组的目的在于,它可以把不同类型的数据归并到一个数组中。注:单元数组的创建有两种方法:使用幅值语句创建单元数组和利用cell函数创建数组。1)使用赋值语句创建单元数组。

2024-06-06 18:34:03 353

原创 MATLAB数组类型

在MATLAB中进行运算的所有数据类型,都是按照数组及矩阵的形式进行存储和运算的,而二者在MATLAB中的基本运算性质不同,阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式。数组的属性及数组之间的逻辑关系,是编写程序时非常重要的两个方面。利用数组的构建方法可以直接对变量进行赋值。

2024-06-04 21:19:39 354

原创 四选一多路器

根据波形图:已知,d1=0;且sel=0,mux_out=2;制作一个四选一的多路选择器,要求输出定义上为线网类型。输入信号 d1,d2,d3,d4 sel。因为他输出与输出对齐的,所以为组合逻辑;输出信号 mux_out。

2024-06-02 22:13:48 564

原创 MATLAB结构体类型

MATLAB中的结构体类型与与C语言中的结构体类型类似,一个结构体可以通过字段存储多个不同类型的数据,因此,结构体相当于一个数据容器,把多个相关联的不同类型的数据封装在一个结构体对象中。1.使用字段幅值创建结构体。在对结构体的字段进行赋值时,赋值表达式的变量名使用“结构体名称.字段名称”的形式书写,对同一结构体可以进行多个字段的赋值。2.使用struct函数创建结构体。

2024-06-02 21:50:45 382

原创 MATLAB函数句柄

函数句柄实际上提供了一种间接调用函数的方法。对MATLAB库函数中提供的各种M文件的函数和使用者自主编写的程序中的内部函数,都可以创建句柄.

2024-03-15 06:00:13 406 1

原创 MATLAB字符和字符串

在MATLAB里,文本当作特征字符串或简单地当作字符串

2024-03-14 04:32:28 276

原创 MATLAB 逻辑类型

逻辑类型是指布尔类型的数据与数据之间的逻辑关系。

2024-03-13 16:48:27 250 1

原创 MATLAB数值类型

对于MATLAB,因为MATLAB是对数据进行处理的工具,所以首先要明白数据的类型。

2024-03-10 20:00:37 741 1

原创 搭配modelsim使用的程序编译软件vscode

VScode使用教程

2023-12-24 20:21:46 680 1

原创 3、Modelsim编辑与运行

3、Modelsim编辑与运行

2022-07-18 23:49:42 3221

原创 2、Modelsim使用教程

modelsim编程使用教程,步解,超详细

2022-07-13 23:43:48 6649

原创 1、安装FPGA软件modelsim-win-10.4-se

安装FPGA软件modelsim-win-10.4-se

2022-07-12 23:20:36 4315

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除