- 博客(678)
- 资源 (26)
- 问答 (20)
- 收藏
- 关注
原创 HDL与FPGA-目录
HDL与FPGA-目录1 软件安装及教程1.1 LiberoSoc2 FPGA知识2 Verilog基础知识3 VHDL基础知识4 Verilog编程技巧5 FPGA的核心设计思想6 基于MBD设计方法的HDL代码生成7 《深入浅出玩转FPGA》实践及总结1 软件安装及教程1.1 LiberoSoc1.1 LiberoSoCv11.8 安装教程MicroSemi LiberoSoc学习笔记——PLL使用ModelSim入门教程和两个典型例子2 FPGA知识建立时间和保持时间关系详解FPGA复
2020-09-25 16:07:11 758
原创 算法-目录
文章目录排序算法Hash算法蒙特卡洛算法模拟运动和计算双指针与快慢指针排序算法快排和归并排序的复杂度相同,为什么都用快排而不用归排?为什么要分稳定排序和非稳定排序排序算法之懒人排序排序算法之冒泡排序排序算法之插入排序快速排序算法C++实现[评注版]各种排序算法的时间复杂度时间复杂度Hash算法胡凡《算法笔记》总结2——Hash散列算法笔记——15个瓶子,4只老鼠,测试哪瓶有...
2019-10-05 16:34:59 489
原创 数据结构-目录
文章目录1 为什么学习数据结构2 链表3 栈4 队列5 递归6 树7 图1 为什么学习数据结构1.1 抽象数据类型ADT(Abstract data type),以及为什么要学习数据结构?1.2 数据结构基础知识梳理2 链表2.1 链表的使用形式2.2 环形链表的判断方法及实现2.3 数组和链表的实例讲解——以Facebook为例2.4 语言进阶-第四周:利用链表逆序输出(10分)...
2019-09-05 21:26:59 701
原创 Python学习目录
目录基础知识学习(MOOC:嵩天)1.1 Python MOOC练习31.2 Python MOOC练习41.3 python中的随机函数random的用法示例1.4 Python文本词频统计的编码问题-MOOC嵩天1.5 Python中的复数和误区1.6 Python计算圆周率的两种方法1.7 Python实现七段数码管显示效果1.8 Python实现科赫图形设计1.9 ...
2019-05-19 10:32:13 45182 44
原创 PAT乙级解题算法和代码目录
ID Title 备注1001 害死人不偿命的(3n+1)猜想(15) 模拟1002 写出这个数 (20) 字符串处理1003 我要通过!(20) ...
2018-12-01 13:38:10 1769
原创 PAT乙级题目对应知识点分类梳理
PAT乙级的90道题的知识点与对应的题号整理如下,便于做专项练习和巩固!1、字符串函数考察字符串相关知识,如逆转、字母与数字的判断与转化、字符串拼接、字符串比较题号:1002、1006、1009、1014、1021、1024、1031/1039、1042、1043、/1048/1052/1054/1058/1067/1079、1081/1084/1086、2、STL容器考察ST...
2018-11-29 21:53:25 5420 4
原创 如何在windows PowerShell中使用GVIM并增加常用alias
我的一台电脑是win10,在PowerShell中输入gvim可以直接识别,蛮好的。但是识别不了 g (习惯用g a.v来新建verilog文件),也识别不了 ll (linux下我习惯ll,ls用的不多),所以即使win10 PowerShell能识别gvim,也需要有一个能创建alias的文件。windows在win10和win11上都有PowerShell,区别是win10需要在搜索(就是那个放大镜)里输入powershell,而win11直接集成在了鼠标右键。下载gvim,安装使用即可。
2024-05-21 09:57:19 580
原创 Tcl Tutorial(3)-经典教程+代码示例
本文是Tcl Tutorial的第3篇新手教程,主要介绍使用proc command定义函数,proc中的变量和返回值,变量的生效范围以及字符串的模式匹配。有经典的实例,浅显易懂。
2023-06-26 08:54:58 661
原创 Tcl Tutorial(2)-经典教程+代码示例
本文是Tcl Tutorial的第二篇新手教程,主要总结了Tcl的数学运算符和数学函数,类型转换函数,if, switch, while/for循环结构。
2023-06-26 08:28:59 800
原创 Tcl Tutorial(1)-经典教程+代码示例
本文是Tcl Tutorial的第一篇新手教程,主要如何执行Tcl脚本,puts command,set command以及如何组织变量。有经典的实例,浅显易懂。
2023-06-26 08:18:19 1079
原创 mipi简介
MIPI协议提出之初,主要有两个应用,CSI(Camera Serial Interface,摄像头串行接口)和DSI(Display Serial Interface,显示串行接口),这两个协议共用一种物理层协议D-PHY。其中CSI协议目前使用较为广泛的是其第二个版本——CSI-2,其旨在为高清摄像头和应用处理器之间提供一个高速的串行接口,举例来说,在目前的智能手机中的摄像头和CPU之间采用的就是CSI协议。
2023-04-11 08:47:33 2363 1
原创 c语⾔的\r与\n在linux与windows下的区别
看c model,打印时遇到了\r的问题,整理如下:windows下\r表⽰光标会移动到开头然后覆盖输出,\b是会回退⼀格然后输出。\b和\r比较常用的作用是实现进度条的打印。实例1:#include<stdio.h>#include<stdlib.h>void main(){ int i,j; for(i=0;i<5;i++){ printf("abc\rde\n"); for(j=0;j<5;j++) printf("张无忌赵敏\r周芷
2022-05-25 21:47:18 453 1
原创 MicroSemi LiberoSoc启动太慢的问题
MicroSemi LiberoSoc在正常联网下有时启动太慢,甚至要1个小时。解决方法是先断网,再启动,后续用网再联网。这个软件简直是智障
2022-05-24 11:30:22 543 1
原创 C语言指针的总结
文章目录1 指针实例1.1 实例11.2 实例22 指针运算2.1 *p++的作用2.2 0地址2.3 指针的类型转换2.4 指针能做的事情2.5 动态内存分配2.6 函数间传递指针需要注意的3 指针的重要作用3.1 指针允许你以更简洁的方式引用大的数据结构3.2 指针使程序的不同部分能够共享数据3.3 利用指针,能在程序执行过程中预留新的内存空间3.4 指针可以用来记录数据项之间的关系1 指针实例1.1 实例1 #include <stdio.h> main()
2022-04-20 13:53:24 433
原创 SPI总线协议详细解读与Verilog实现
文章目录1 原理介绍2 SPI总线特点3 SPI总线传输的模式4 SPI代码实例1 原理介绍SPI(Serial Peripheral Interface,串行外围设备接口),是Motorola公司提出的一种同步串行接口技术,是一种高速、全双工、同步通信总线,在芯片中只占用四根管脚用来控制及数据传输,广泛用于EEPROM、Flash、RTC(实时时钟)、ADC(数模转换器)、DSP(数字信号处理器)以及数字信号解码器上。SPI通信的速度很容易达到好几兆bps,所以可以用SPI总线传输一些未压缩的音频以及
2022-04-18 00:10:35 916
转载 Matlab如何查看主函数(脚本)中调用的其他函数
Matlab的profile函数,类似于一个事件探查工具,能够查询主程序调用的所有函数,包括内置函数,以及各个函数所用的时间,包括自用时间和总时间等等。首先打开事件探查器profile on1运行主程序代码,举例如下,你应该替换成你自己的主程序代码plot(magic(35))1查看并保存结果profile viewerp = profile(‘info’);profsave(p,‘profile_results’)123结果一目了然,不贴图,不解释。自用时间
2022-04-12 22:55:22 2125
转载 Linux系统ppm图像格式及解析
PPM文件格式分三种:PPM灰度文件文件头由3行文本组成,可由fgets读出1)第一行为“P2",表示文件类型2)第二行为图像的宽度和高度3)第三行为最大的象素值255接下来是图像数据块。按行顺序存储。每个象素占4个字节,灰度通道为4字节ASCII码表示的整数,高字节在前。左上角为坐标原点。16位PPM文件(至少适用于读取由DCRAW生成的PPM文件)文件头由3行文本组成,可由fgets读出1)第一行为“P6",表示文件类型2)第二行为图像的宽度和高度3)第三行为最大的象素值
2022-04-07 19:08:26 1205
原创 Linux基础知识、常用命令和操作
文章目录1 Linux常用命令2 Linux的基本命令格式3 常用命令快捷键4 Linux文件与操作5 显示文件/字符串6 Linux网络7 Linux软件安装1 Linux常用命令Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;如果创建用户的时候,不指定组名,那么系统会自动创建一个和
2022-03-28 10:05:39 3852 1
原创 Vim快捷键总结
文章目录0 vim简介1 文档操作2 编辑操作0 vim简介Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。人类与电脑的交互方式真是有趣,最早只有键盘,后来1964年加州大学伯克利分校博士道格拉斯·恩格尔巴特发明了鼠标,提高了交互效率,而现在程序员使用vim/GVIM又宣称只需要用键盘就可以替代鼠标,能够提高效率。兜兜转转~其实不然,鼠标对于GUI丰富的window系统确实可以提高效
2022-03-24 23:29:35 443
原创 VL25 脉冲同步电路
文章目录题目分析代码题目nowcoder上有一道题目:VL25 脉冲同步电路描述从A时钟域提取一个单时钟周期宽度脉冲,然后在新的时钟域B建立另一个单时钟宽度的脉冲。A时钟域的频率是B时钟域的10倍;A时钟域脉冲之间的间隔很大,无需考虑脉冲间隔太小的问题。电路的接口如下图所示。data_in是脉冲输入信号,data_out是新的脉冲信号;clk_fast是A时钟域时钟信号,clk_slow是B时钟域时钟信号;rst_n是异步复位信号。分析题目的意思是快时钟域内有一个单周期脉冲信号,想把它
2022-03-20 11:02:18 311
原创 verilog代码复用总结
文章目录一、verilog中有关代码复用的语法二、代码复用示例一、verilog中有关代码复用的语法1、连接符“{}”{4{1'b1}} 或者 {5'd6, 5'd8} 2、参数(Parameter)型常量定义parameter 参数名=表达式; 或者 localparam 参数名=表达式;parameter DATA_WIDTH = 20; 3、function函数定义函数内部语句只能写组合逻辑。function [7:0] adder;input [6:0] a;input [
2022-03-16 10:58:36 966
原创 Verilog中function、generate的用法
文章目录function特点for和if的使用case的用法递归调用generategenerate-forgenerate-if和casefunctionverilog中的function类似于软件函数或者matlab中的函数,用于实现某一功能。但具体细节上有些微区别:特点1)不能有always块,也就是不考虑延时,一般都是使用for、case、if-else完成函数功能。2)至少有一个输入变量。3)只有一个返回值,且没有输出。5)函数可以调用其他函数,但是不能调用任务。用途:验证中可用于
2022-03-16 08:56:53 830
原创 如何对MATLAB函数的输入进行检查和解析?
文章目录为什么要对函数的输入进行检查validateattributes的基本使用validateattributes的额外提示信息validateattributes支持的检查类型和属性validatestringinputParser的基本使用inputParser的可选参数和默认参数值设置inputParser和validateattributes联合使用为什么要对函数的输入进行检查在工程计算中,如果一个函数的输入有错误,我们总是希望能够尽早的通过对输入的检查,捕捉到这些错误,并及时终止程序。这样
2022-02-15 15:42:12 661
转载 FPGA之道(11)FPGA芯片的供电系统
文章目录前言FPGA芯片的供电外部端口供电机制内部逻辑供电机制专有电路供电机制电源稳定性讨论前言对于使用FPGA进行项目开发的FPGA开发者来说,大多数是自己定制一整套系统,这样对于系统原理图的绘制必不可少。在涉及FPGA这一块,我们可以发现对于FPGA芯片的供电是一个有讲究的事情,下面内容摘自《FPGA之道》这本书,对于FPGA的供电系统进行学习。FPGA芯片的供电任何电路的工作都离不开电源的供给,FPGA芯片也一样。一般来说,FPGA芯片在正常工作的时候需要系统提供三套供电机制——外部端口供电机
2022-02-12 14:54:21 2606
转载 FPGA之道——布线资源与接口资源
文章目录布线资源接口资源布线资源FPGA中的布局布线资源主要包括三部分:CB、SB和行列连线。布线资源的目的是为了能够让位于不同位置的逻辑资源块、时钟处理单元、BLOCK RAM、DSP和接口模块等资源能够相互通信,从而协调合作,完成所需功能。FPGA中的布线资源,就好比绘制PCB板时的连线资源一样,虽然器件A和器件B的位置和连接关系没有任何改变,但很可能因为周边电路的布局、布线的一些变化,使得前后两次A、B之间的连线形态发生很大的变化。因此,与采用固定长度的金属线将所有宏单元连接在一起的CPLD不同,
2022-02-12 14:07:38 2181
转载 FPGA之道——BLOCK RAM以及DSP硬核
文章目录前言BLOCK RAMDSP前言BLOCK RAM以及DSP都是FPGA内部嵌入的硬核资源,也可以说很底层的资源了,二者为开阔FPGA的应用途径起到了很大的作用,BRAM的出现在很多种情况下节省了FPGA内部的寄存器资源,对于需要稍大容量存储的数据可以使用BRAM来实现,而DSP是进行信号处理的重要单元,很多种数学运算都可以通过DSP核来实现。下面通过摘自《FPGA之道》这本书的内容来更深刻地了解这两种硬核资源。另外,关于FPGA底层资源可以参考之前的 博文:FPGA底层资源介绍BLOCK
2022-02-12 11:33:02 2098
转载 FPGA之道——时钟处理单元
文章目录前言背景PLLXilinx公司的锁相环结构简介Altera公司的锁相环结构简介DCM前言这个时间的FPGA发展可以说已经很成熟了,Xilinx早已推出了ZYNQ系列,并推出了新工具VITIS 2019.2,当然Vivado并没有淘汰也几乎不可能淘汰,VITIS 2019.2自然也内含了Vivado 2019.2.对于FPGA中的时钟处理单元,或者说时钟管理单元,在7系列FPGA中,有我们最常见的MMCM以及PLL,这在FPGA工程中,建立时钟IP核时可以清晰的看到。至于更早期的时钟处理单元,
2022-02-12 10:10:42 1681
转载 FPGA之道——时钟网络资源
文章目录FPGA中的时钟网络资源全局时钟网络资源区域时钟网络资源IO时钟网路资源FPGA中的时钟网络资源时钟信号是时序逻辑的灵魂,也是整个FPGA设计的核心。在某些情况下,它几乎要作用于整个FPGA芯片上的所有寄存器和相关存储单元,而FPGA内部布线资源的时间不可确定性,会使得时钟信号到达各个寄存器的延迟时间有很大出入,因此极易造成时序问题,从而导致系统行为不符合预期。为了避免这种情况,使大规模、高性能、高速度的FPGA设计成为可能,各大厂商都在自己的FPGA芯片中引入了专门的时钟网络资源用于时钟信号的
2022-02-12 10:06:22 827
转载 FPGA总线实现形式
文章目录用选择器实现总线用三态门实现总线用选择器实现总线用选择器的思想来实现总线:总线从宏观上看是“多写多读”的,但是从微观上来看是“一写多读”,因为系统中的各个部件只能分时使用总线,而无法同时使用。也就是在某一固定时刻,总线是“一写多读”的,只不过通过一写控制电路,我们貌似可以在不同时刻为总线分配不同的驱动源,以达到宏观上的“多写多读”。下面用FPGA来简单地实现总线:利用多路选择器的选通特性,可以实现总线的功能,这也是FPGA芯片内部设计总线时最常用的方法,因为FPGA芯片内部有些非常丰富的MU
2022-02-12 09:33:11 2083
转载 FPGA的IP核之软核、硬核、固核
IP核(Intellectual Property core),即知识产权核。IP核是一段具有特定电路功能的硬件描述语言程序,该程序通常与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。由于IP核将一些在数字电路中常用,但比较复杂的功能块设计成可修改参数的模块,因此FPGA的设计人员可以通过调用相关IP核来完成所需逻辑功能,从而节省了大量的开发时间。调用IP核能避免重复劳动,大大减轻设计人员的负担,因此使用IP核必然成为将来FPGA设计的一个发展趋势。IP代表知识产权,从它的名字我们就
2022-02-11 20:51:15 3394
转载 FPGA之道——锁存器与寄存器
文章目录概念多位阵列普通移位寄存器环形移位寄存器。概念触发器与这两个称谓之间到底有着什么样的关系呢?事实上,在我们进行数字电路设计的时候,只需要关注于器件的功能和使用方式即可,而不需要对器件的实现原理和结构进行过多细节方面的了解,因此,通常将电平敏感型的触发器叫做锁存器,而将边沿敏感型的触发器叫做寄存器,并且,通常所说的锁存器,大多是指电平敏感型D触发器,而通常所说的寄存器,大多是指边沿敏感型D触发器。多位将多个锁存器或者寄存器并行使用,即可形成多位锁存器或者多位寄存器。这是考虑到现实世界中,需要
2022-02-11 11:11:25 1839 2
转载 FPGA之道——数字系统之间的接口电平标准
文章目录前言双阈值标准TTLLVTTLLVTTL3V3LVTTL2V5CMOSLVCOMSLVCOMS3V3LVCOMS2V5LVCOMS1V8LVCOMS1V5LVCOMS1V2LVDSRS232RS485不同标准之间能否混连?前言我们在对FPGA项目进行约束的时候,常常看到这样的电平标准,例如LVCOM18,LVCOS25,LVDS,LVDS25等等,其实这些都是一系列的电平标准,为了更加深刻地理解电平标准,下面摘选自《FPGA之道》这本书对于电平标准的讲解来理解。双阈值标准所谓的双阈值标准,是
2022-02-11 11:00:23 3406
转载 FPGA之道——FPGA开发流程之项目方案与FPGA设计方案
文章目录前言FPGA开发流程背景知识的分析与研究项目方案的设计与制定写清楚项目背景写清楚项目需求写清楚方案框架写清楚算法细节确保逻辑完备性确保实现无关性确保书面易懂性算法可行性仿真与验证Why?When?How?FPGA设计方案的制定编写FPGA设计方案的好处如何编写FPGA设计方案FPGA功能代码的编写FPGA设计的功能仿真一、仿真的分类。二、功能仿真的作用。三、正确的功能仿真时机。四、功能仿真的工具。五、注意仿真代码的备份。六、功能仿真的工作量。前言FPGA的开发遵循一定的流程,我们要学会站在巨人的
2022-02-11 10:11:34 4555
原创 Pycharm使用指南
文章目录第三方库的管理第三方库的管理在Files——Settings——Project——Python Interpreter下点击“+”可以运用Pycharm下载和管理第三方库。需要注意的事Pycharm的库和cmd环境下pip install安装的库是不可复用的,也就是Pycharm下如果缺少某个库,通过pip安装是不行的。...
2021-12-11 00:26:42 874
转载 多进程和多线程的概念
文章目录一、多线程是什么?概念为什么要使用多线程?多线程的缺点二、多进程是什么?三、多线程与多进程,选择谁?四、并行、并发、高并发等概念多线程与高并发的联系一、多线程是什么?说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程。概念进程可以简单的理解为一个可以独立运行的程序单位,它是线程的集合,进程就是有一个或多个线程构成的。而线程是进程中的实际运行单位,是操作系统进行运算调度的最小单位。可理解为线程是进程中的一个最小运行单元。那么多线程就很容易理解:多线程就是指一个进程中同时有
2021-12-01 21:01:24 218
原创 MATLAB在做图像处理时容易出现的一个误区:为提高运算速度使用预先声明的零矩阵存储图像数据
MATLAB在做图像处理时容易出现的一个误区:为提高运算速度使用预先声明的零矩阵存储图像数据。
2021-11-30 20:11:11 2544
原创 FPGA设计中RAM和ROM初始化的方法
文章目录RAM的初始化方法方法1:小型RAM复位时按地址写入初值方法2:大型RAM通过init和for循环来初始化方法3:大型RAM通过读文件形式初始化ROM的初始化方法方法1:小型ROM按地址写入初值方法2:大型ROM通过读文件形式初始化FPGA设计中RAM和ROM作为存储器用来存储可变或不可变类型的数据,根据使用场景不同有不同的初始化方法。ROM初始化一般是加载固定数据,RAM声明时默认为不定态数据,初始化时可以让数据为全1或者全0。RAM的初始化方法方法1:小型RAM复位时按地址写入初值针对小
2021-11-25 15:45:56 2997
原创 Pycharm下可以正常运行,Pyinstaller打包软件报出Fatal error
pyinstaller打包含有matplotlib的项目出错的解决方案之前做了个数据分析的程序,因为要画图所以用到了matplotlib可是在pyinstaller打包的时候出错了我敢说网上所有的错误解决方法都试过了我用pip安装的matplotlib试了一遍,在pycharm里没问题,打包时却有File “matplotlib_init_.py”, line 563, in _get_data_path NameError:错误之后调整了一下,却有各种error,各种import错误,五花八门
2021-11-24 10:11:02 1130
原创 .bmp图片的文件头解析
BMP文件完全解析一副平面图像,最终呈现的是一个彩色的二维矩阵,三基色的组合构成了几乎肉眼可见的所有色彩,为了显示彩色矩阵,使用高密度排列的RGB彩色像素组成的屏幕来显示,因此处理器需要知道每一个像素的色彩值,即构成色彩的RGB三原色亮度。不过初期没有彩色显示器,只有电子管做的黑白显示器,它依赖电子管的发射电子的强度定义黑白亮度信息。色彩空间RGB色彩空间RGB混色由于半导体制成的处理器只能处理二进制,所以描述构成图像的像素最终也是二进制形式,一般常用RGB888格式,也就是构成色彩的三基色有
2021-09-29 23:08:45 1093 1
plot_function.zip
2020-02-13
传递函数响应.zip
2020-02-13
EasyX2018春分版软件
2018-04-09
仅5M小巧好用的PDG文件阅读器
2017-09-25
simulink中如何把仿真中实时计算的像素点及对应坐标显示出来,最后应显示一张照片?
2020-08-11
C++字符串处理:为何不能去掉s3=s1;这一句代码
2018-11-29
1020 月饼 ,测试案例有三个不能通过,提示错误,求帮助!
2018-11-22
1013 数素数 测试点4通过不了,请教有何问题
2018-11-21
PAT乙级1079测试点2/3/4提示答案错误,有哪些情况未考虑到?
2018-11-18
1072 开学寄语,AC时三个测试都通不过,提示格式错误,答案错误,求助
2018-11-14
1066 图像过滤,AC时为什么提示超时?
2018-11-12
PAT乙级1059 C语言竞赛 测试点2通过不了,求助呀
2018-11-11
PAT1045运行超时我知道原因,还提示格式错误是哪里有问题
2018-11-04
1034 有理数四则运算 测试点2通过不了,求助
2018-10-31
1070 结绳 代码疑惑,代码意思是一样的呀
2018-10-28
1028 人口普查最后一个测试点通过不了
2018-10-28
1025 反转链表 ,提交没有AC,单独测试倒是可以
2018-10-26
PAT1005 继续(3n+1)猜想,提示Segmentation Fault
2018-10-25
PAT1024提交时出现问题,提示Segmentation Fault。请帮忙解决
2018-10-24
PAT1020月饼,为什么市场需求need每次还都是20 呢?
2018-10-23
PAT1019 数字黑洞 提交时Time Limit Exceeded
2018-10-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人