自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 gvim报错E576问题

经过,查询发现是 .viminfo的问题,该文件保存了各种有用但非关键状态信息的元数据,如果该文件出现问题或损害,就会出现以上的问题。在Linux系统中,使用gvim。2)同时,还会报错提示:E576: viminfo: Missing ‘>‘ in line。注:删除该文件不会对gvim造成损害,在gvim运行时,会自动重新生成.viminfo。1)gvim打开文件,会提示:press enter or type command;删除该文件:rm ~/.viminfo。只有键盘输入后,才打开文件;

2023-05-11 14:24:16 292

原创 asic设计:位宽不匹配

1. 对于长位宽赋值给短位宽的情况,无论左操作数、右操作数是有符号数还是无符号数,都是直接截断高位,而左操作数二进制所表示的实际十进制数据要看左操作数是无符号数还是有符号数,如果左操作数是无符号数,直接转换成十进制即可,如果是有符号数,则看成2的补码解释成十进制数,这也是实际计算机系统中有符号数的表示方法2. 对于短位宽赋值给长位宽的情况,需要对高位进行位扩展,具体是扩展1还是扩展0,记住:完全依据右操作数!,具体如下:1)右操作数是无符号数,则无论左操作数是什么类型,高位都扩展成0;2)右操作数是

2022-05-20 11:01:02 1665

原创 2020-10-18

`timescale 1ns / 1psmodule bin_dec(clk,bin,rst_n,one,ten,hun,count,shift_reg );input [7:0] bin;input clk,rst_n;output [3:0] one,ten;output [3:0] count;output [1:0] hun;output [17:0]shift_reg;reg [3:0] one,ten;reg [1:0] hun;reg .

2022-05-16 11:15:15 132

原创 assign 组合逻辑和always@(*)组合逻辑的区别

verilog描述组合逻辑一般常用的有两种:assign赋值语句和always@(*)语句。两者之间的差别有:1. 被assign赋值的信号定义为wire型,被always@(*)结构块下的信号定义为reg型,值得注意的是,这里的reg并不是一个真正的触发器,只有敏感列表为上升沿触发的写法才会综合为触发器,在仿真时才具有触发器的特性。2. 另外一个区别则是更细微的差别:举个例子,wire a;reg b;assign a = 1'b0;...

2022-05-11 09:44:25 2491

原创 2021-07-27

因为FFT算法是认为你采样的信号是无限长的周期的信号,也就是你32k的数据会被认为是不断重复的,32k最后一个点之后又连到第一个点,这样不断重复,这样就有可能出现波形突然不连续的情况,这个不连续会导致FFT结果出现频谱泄漏现象,但是你的实际信号是连续的,所以加窗的目的就是让不太连续的地方(最后一个点和第一个的连接处)看上去平滑了,没有原来那么明显的突变了,2、加窗以后数据变样了就是加窗的目的,如果你关心的频率范围与窗函数本身的频率范围没有交集,那么加窗FFT后的频谱是有参考价值的,不过你要自己加入幅值修

2021-07-27 23:51:35 73

原创 Vivado仿真卡在Executing analysis and compilation step

Vivado仿真卡在Executing analysis and compilation step循环不出去,检查是否有vivado报不出来的低级语法错误,还是不行,把sim文件里的sim_1文件删了,重新跑就好了

2021-01-27 16:09:15 3081 3

原创 2020-11-08

FFT 设计设计说明为了利用仿真简单的说明 FFT 的变换过程,数据点数取较小的值 8。如果数据是串行输入,需要先进行缓存,所以设计时数据输入方式为并行。数据输入分为实部和虚部共 2 部分,所以计算结果也分为实部和虚部。设计采用流水结构,暂不考虑资源消耗的问题。为了使设计结构更加简单,这里做一步妥协,乘法计算直接使用乘号。如果 FFT 设计应用于实际,一定要将乘法结构换成可以流水的乘法器,或使用官方提供的效率较高的乘法器 IP。蝶形单元设计蝶形单元为定点运算,需要对旋转...

2020-11-08 23:10:48 727 1

转载 2020-10-18 FIR滤波器

FIR(Finite Impulse Response)Filter:有限冲激响应滤波器,又称为非递归线性滤波器。FIR滤波器的冲击响应是一个值为滤波器抽头系数的采样序列,其脉冲响应由有限个采样值构成。长度(抽头数)为N+1、阶数为N的FIR系统的转移函数。FIR滤波器是如何滤波的?信号通过一个FIR滤波器其实就是信号与FIR滤波器的系数进行卷积(即移位相乘再累加)的过程。但是很多书上却喜欢用很复杂的文字和公式来描述这个本来很简单的概念,唯恐读者感受不到他们的书的高大上!简单信号模型低频信号:

2020-10-18 23:03:13 682

原创 C语言—文件操作

文件使用方式“r” (只读)为输入打开一个文本文件“w” (只写)为输出打开一个文本文件“a” (追加)向文本文件尾增加数据“rb” (只读)为输入打开一个二进制文件“wb” (只写)为输出打开一个二进制文件"ab“ (追加)向二进制文件尾增加数据"r+“ (读写)为读/写打开一个文本文件"w+” (读写)为读/写建...

2020-04-20 22:29:15 299

原创 C语言—位运算

题目:编写一个小程序,将输入的大写字母转换为小写字母,输入的小写字母转换为大写字母,要求用位操作完成转换过程。#include <stdio.h>#include <conio.h>void main(){ char ch,temp; printf("请输入一个字母:\n"); ch=getchar(); temp=getchar(); while(...

2020-04-20 22:28:58 279

原创 C语言-结构体与共用体

int 4字节;char 1字节;short 2字节;float 4字节;1字节bytes=8位bits(2^8);struct date{ int month; int day; int year;}struct{ int num; char name[20]; char sex; struct date birthday; float score;}boy1...

2020-04-20 15:33:55 1042

原创 C语言特有的功能-预处理

(一)无参数的宏定义:#define PI 3.14159 (无;),终止宏定义作用域使用#undef,习惯用大写字母表示,可以嵌套如,可用宏定义表示数据类型,使书写方便,#define PI 3.14159#define S PI*r*r宏定义与typedef定义的区别:宏定义只是简单的字符串代换,是预处理,typedef是条语句(;),在编译时处理,不是简单代换而是对类型说明...

2020-04-14 12:24:32 282

原创 C语言-指针

取值操作符*;取址操作符&;int i=2000;int *pointer;//定义指针pointer=&i;//取址printf("%d\n",*pointer);//取值变量的指针:是变量的地址;用于存放变量地址的变量是:*指针变量;指针变量只能存放地址,地址运算符&表示变量的地址;/*通过指针变量访问整型变量*/#include<stdi...

2020-04-13 21:38:18 390

原创 Linux基础-第三周

实验五 环境变量与文件查找5.1环境变量变量类型有三种:当前 Shell 进程私有用户自定义变量 如上面我们创建的 tmp 变量,只在当前 Shell 中有效 Shell 本身内建的变量 从自定义变量导出的环境变量 set 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。 env 显示与当前用户相关的环境...

2020-04-10 20:54:58 350

原创 C语言—函数

1个C语言程序放在若干个源文件(程序编译单位),一个源文件有若干个函数;函数间相互调用,主函数不能被调用;无参函数/有参函数(主函数通过参数向其传递数据);空函数 dummy();return(函数返回值);#include<stdio.h>int main(){ void printstar();//声明函数 void print_message();...

2020-04-08 22:30:21 826

原创 C语言-数组、二维数组

#include <stdio.h>void main(){ int i,a[5]={3,4,5},b[5]; printf("\n array a is: "); for(i=0;i<5;i++) printf("%6d",a[i]); printf("\n array b is: "); for(i=0;i<5;i++) printf("%6d",b[i...

2020-04-07 10:28:40 232

原创 C语言基础-顺序、分支、循环结构

#include <stdio.h>#include <conio.h>void main(){ int i=0; char c; while(1)//死循环 { c='\0';//字符串结束符,赋初值 while(c!=13&&c!=27)//c不是回车\r不是换行\n { c=getch();//从键盘获取一个字符 ...

2020-04-05 23:06:44 311

原创 reg型和memory型数据

reg型寄存器是数据储存单元的抽象。寄存器数据类型的关键字是reg.通过赋值语句可以改变寄存器储存的值,其作用与改变触发器储存的值相当。Verilog HDL语言提供了功能强大的结构语句使设计者能有效地控制是否执行这些赋值语句。这些控制结构用来描述硬件触发条件,例如时钟的上升沿和多路器的选通信号。在行为模块介绍这一节中我们还要详细地介绍这些控制结构。reg类型数据的缺省初始值为不定值,x。...

2019-09-12 08:55:21 9268 1

原创 高级Bash脚本编程指南

二、什么是Bash1.简介Bash(GNU Bourne-Again Shell)是一个为GNU计划编写的Unix shell,它是许多Linux平台默认使用的shell。shell是一个命令解释器,是介于操作系统内核与用户之间的一个绝缘层。准确地说,它也是能力很强的计算机语言,被称为解释性语言或脚本语言。它可以通过将系统调用、公共程序、工具和编译过的二进制程序”粘合“在一起来建立应用,这是...

2019-06-12 15:38:27 790

原创 作业

Windows/dos 与 Linux/UNIX 文本文件一些特殊字符不一致如断行符 Windows 为 CR+LF(\r\n),Linux/UNIX 为 LF(\n)。使用cat -A 文本可以看到文本中包含的不可见特殊字符。Linux 的\n表现出来就是一个$,而 Windows/dos的表现为^M$,可以直接使用dos2unix和unix2dos工具在两种格式之间进行转换,使用file...

2019-06-05 18:57:20 271

原创 linux中~和/的区别

2019-06-05 09:24:16 109

转载 备份日志-Linux中的定时任务crontab || rm+cp+mv三基详解(解释\cp)|| Vim编辑器

在Linux中,可以使用crontbab指定定时任务。1、如何写crontabcrontab中每一行代表一个任务,每个任务由周期和任务名组成。如下形式59 23 10 5 2014 /home/root/tesh.sh#分 时 日 月 年 |<-------命令串------->|表示2014年5月10日23点59分,执...

2019-06-03 15:30:23 1434

原创 Linux基础-第二周

实验二 用户管理2.1 用户who用法 -a |打印能打印的全部 -d |打印死掉的进程 -m |同am i,mom likes -q |打印当前登录用户数及用户名 -u |打印当前登录用户登录信息 -r |打印运行等级 查看用户 who am i2.2 创建用户su,su- 与 sudosudo 创建用户需要 root 权限,这里就要用到 sudo 这个命令...

2019-05-20 10:49:02 112

原创 VerilogHDL(1)

VerilogHDL功能总述是一种行为描述和结构描述语言,是对实际电路不同级别的抽象。系统级:实现设计模块外部性能。算法级:实现设计算法。寄存器传输级(RTL-register transfer level):描述数据在寄存器之间流动,处理流动数据。(明确对应逻辑电路)逻辑、门级和电路开关级的设计。对于特大型(千万门级)的系统级设计,则VHDL更优。概念软核:Verilog代码...

2019-05-15 09:42:17 314

空空如也

空空如也

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

TA关注的人

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