5 吉大秦少游

学生身份

我要认证

吉大车辆工程硕士,研究兴趣为模拟仿真与建模技术

等级
TA的排名 1k+

二进制和格雷码转换方法及程序

进制转格雷码:简单来说就是把二进制码右移一位再与二进制异或。assign wr_poi_gray = wr_poi ^ (wr_poi>>1); //produce wr pointer gray code;格雷码转二进制:格雷码转二进制是从左边第二位起,将每位与左边一位二进制码的值异或,作为该位二进制码的值。比如四位的码:bin[3] = gray[3];bin[2] = gray[2]^bin[3];bin[1] = gray[1]^bin[2];bin[0] = gray

2020-10-26 12:50:11

FPGA之FIFO篇

我想大家都知道,队列是计算机系统中一种比较基本的数据结构。作为队列中的一种,先进先出的FIFO是一种比较常用的存储器单元。FIFO通常有读允许端口、写允许端口、数据输入端口、数据输出端口、FIFO状态端口等信号端口。其中,FIFO状态端口输出当前FIFO的状态——满、未满或空。16*16位FIFO的功能框图如下。其中,clock为系统时钟信号输入,reset为系统复位信号,read为读数据信号允许信号,write为写入FIFO允许信号,fifo_in[15:0]为数据输入,fifo_out[15:0]为数

2020-10-26 12:31:59

python 程序员进阶之路:从新手到高手的100个模块

本文所列举的这100个模块,是我在工作和学习中用过的或者正在学习的,算是对自己过去12年的学习总结。希望对处在迷茫中的程序员有所帮助。英汉小词典pythoneer - 指所有用python语言开发程序的人pythonista - 意为资深的、追求质量和品味的python开发者在这个列表中,我把模块分成11大类:1. 基础类2. 数据库接口类3. 网络通讯类4. 音像游戏类5. GUI类6. web框架类7. 科学计算类8. 2D/3D类9. 数据处理类10. 机器学习类1

2020-10-21 23:51:08

经典解析:《一行Python代码能实现什么》及其解析

逛博客时偶然看到这篇文章,也见识了Python代码简洁、高效的魅力。对几个经典案例产生了兴趣,解读了一下,如下:背景背景是作者在处理头部CT的断层扫描图片时,需要将109张图片数据读出来,组织成一个三维的数据结构,如下:作者在引入numpy和PIL之后的代码如下:data = np.stack([np.array(Image.open('head%d.png'%i)) for i in range(109)], axis=0)其实,可以写成这样:data = list()for i in r

2020-10-20 00:07:55

python中yield的用法详解——最简单,最清晰的解释

首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂的,我就想问没有有考虑过读者的感受。接下来是正题:首先,如果你还没有对yield有个初步分认识,那么你先把yield看做“return”,这个是直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了。看做return之后再把它看做一个是生成器(ge

2020-10-19 19:38:28

Python十大技巧语法

Python十大装B语法1. for - else2. 一颗星(*)和两颗星(**)3. 三元表达式4. with - as5. 列表推导式6. 列表索引的各种骚操作7. lambda函数8. yield 以及生成器和迭代器9. 装饰器10. 巧用断言assertPython 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活

2020-10-19 19:29:41

FPGA设计基础交流【汇总贴】

【问题1.1】如何知道ddr3里不空,可以读取了?答:DDR3和RAM一样,是一个存储器件,它的每个内部单元都存储了当前的数据状态值。但DDR3和RAM本身,是没有“空”、“存有数据”,“数据满”等概念的。只要给地址,它就会把当前地址的数据给到总线上,而且这个地址可以读很多次。在设计的时候,是由设计师用自己写逻辑来判断DDR3是否为空。【问题2】SPI多字节发送是多个字节连在一起发还是分成单字节来进行发送?答:每款芯片的数据手册,都会有时序图的介绍,需要按照芯片数据手册的要求进行通信。每款芯片的要

2020-10-19 18:05:20

LVDS 显示屏的两种接口标准:VESA 和 JEIDA;单/双路 LVDS 信号

文章目录一、什么是LVDS?二、LVDS 两种接口标准比较三、单路和双路 LVDS 信号一、什么是LVDS?LVDS,Low Voltage Differential Signaling,低压差分信号,传输速率可达几百Mbps(下文会用到)。二、LVDS 两种接口标准比较这两种接口标准的区别在于:每对低压差分信号上传输的 R、G、B 三色的位数和 HS 、VS、DE 位置不同。8bit 液晶屏需要 4 对差分对传输 R、G、B 三色和 HS 、VS、DE控制信号(1)对应到 VESA 接

2020-10-13 12:22:10

最强Verilog例化说明

文章目录Verilog例化说明1.什么是模块例化?为什么要例化?2.实例说明例化方法Verilog例化说明1.什么是模块例化?为什么要例化?模块例化可以理解成模块调用。对于一个FPGA工程,通常是由一个顶层模块与多个功能子模块组成,为了实现顶层模块与子模块的连接,需要进行模块间的例化(或说是调用)。在一个FPGA项目工程中,其输入、输出端口命名通常在设计前期就已确定下来,但会存在一些中间变量,一个工程可能会让不同的工程师在不同的时间段内共同完成,不同的人对于这些变量的命名会有所不同,故例化很有必要。

2020-10-12 10:54:17

FPGA内部结构、配置模式

1 FPGA的内部结构主要包括以下5个方面:可编程逻辑门阵列:由最小的逻辑单元LE组成;可编程输入输出单元 IOE:input output element;嵌入式SRAM块:为M4K块,每个SRAM大小为4k,掉电丢失;布线网络;PLL锁相环:最大可倍频至250Mhz基于查找表的FPGA逻辑单元是FPGA的重要组成部分。一个逻辑单元(LE,Logic Element )包含一个4输入的查找表,同时加上一个寄存器。那么它们是如何工作的呢?基于LUT(Look Up Table)和SR

2020-10-09 20:24:20

VHDL移位操作的两种方式,及乘除运算中小数倍的解法

VHDL移位操作的两种方式,及乘除运算中小数倍的解法1 移位操作符2 拼接实现移位3 HDL乘除运算中小数倍的解法3.1 任意小数的二进制表示方法3.1.1 十进制小数转二进制3.1.2 二进制换为十进制3.2 HDL乘除运算中小数倍的解法HDL编程中,数据的左移和右移是实现数据乘除运算的常用方法。根据项目经验,总结了VHDL移位操作的两种常见方式。1 移位操作符通过SLL实现五比特数的移动,另外常见的还有 SRL 逻辑右移 ---- 实现数据右移,左端补0; SLA 算术左移 ----实现数据左

2020-09-28 00:21:25

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

根据Verilog代码画电路图

根据Verilog代码画电路图一、门级逻辑二、运算逻辑三、根据代码画原理图3.1 D触发器3.2 选择器FPGA的设计本质是硬件设计,而Verilog是用来描述电路的,所以在学习FPGA的过程中,我们要学会建立电路和Verilog的对应关系,学会看到电路图,就能写出相应的Verilog代码;看到Verilog代码,就能画出相应的电路图。一、门级逻辑FPGA中常用到的门级逻辑有“与门”、“或门”、“反相器(非门)”等。以下是1位逻辑“与(&& )”、“或( || )”、“非( ~ )”

2020-09-23 12:50:18

在设计文件中,如何确定信号是reg型还是wire型?

当我们使用Verilog时,对于信号定义为reg型还是wire型比较混乱,那么今天我们就来讲一讲如何快速的进行信号定义。在Verilog中,wire永远是wire,就是相当于一条连线,用来连接电路,不能存储数据,无驱动能力,是组合逻辑;并且只能在assign左侧赋值,不能在always @ 中赋值。reg可以综合成register,latch,甚至是wire(当其只是中间变量的时候),能存储数据,有驱动能力,可以用于组合逻辑或者时序逻辑;在always @模块表达式左侧被赋值。掌握了基本原理,并不代表

2020-09-23 08:58:02

Verilog中数组的表示

FPGA中的二维数组其实不是真正意义上的数组,而是由多个寄存器组成的ROM或RAM。具体来说,就是可以将内存宣称为一个reg类型的数组,这个数组中的任何一个单元都可以通过一个下标去访问。这样的数组定义方式如下:reg [wordsize : 0] memory_name [0 : memorysize];其中[wordsize : 0]是内存的宽度,而 [0 : memorysize]则是内存的深度(也就是有多少存储单元)。如果要存储一个值到某个单元中去,可以这样做:memory_name [

2020-09-22 22:28:19

Verilog常用的数据选择语句vect[a +: b]或vect [a -: b]

Verilog语法中有一个常用的选择语句,其语法形式为:vect[a +: b]或vect [a -: b];vect为变量名字,a为起始位置,加号或者减号代表着升序或者降序,b是进行升序或者降序的宽度。vect[a +: b]等同于vect[a : a+b-1],vect的区间从a开始,往比a大的方向数b个数;vect [a -: b]等同于vect[a : a-b+1],vect的区间从a开始,往比a小的方向数b个数。a可以是一个常数也可以是一个可变的数,但b必须是一个常数。例1:vect[7

2020-09-22 22:15:09

按键原理及FPGA实现

按键原理及FPGA实现1.1 硬件电路1.2 按键原理1.3 按键捕捉1.4 按键消抖的实现1.5 按键采集实现1.1 硬件电路在开发板中按键的实际位置如下图所示:明德扬MP801开发板采用4个独立按键加一个复位按键,其中最左边为复位按键,并且采用上拉的连接方法,默认为1,当按键按下时,按键的电平被拉低。按键的电路原理图如下所示:1.2 按键原理MP801开发板上的按键为机械式开关结构,此机械式开关的是具有弹性的,因为其核心部件为弹性金属簧片,那么在开启或者闭合的瞬间会在接触点出现来回弹跳的现象

2020-09-22 20:05:50

FPGA中正负数和定点小数的表示方法

在日常生活中,我们常常需要到正数与负数,比如南北两级气温常年为零度以下,这个时候我们就需要负数来表示温度。那么在FPGA工程里面也是这样,我们如果想要做温度监测工程,自然而然的就会需要到负数来表达零下的温度。当然FPGA中除了数字正负的表达,还需要用到小数。在加减乘除的运算中,小数的出现是不可避免的。作为FPGA工程师,我们无法保证所有设计都不出现负数或者小数的情况,不能避免我们就克服,今天就为大家分享一下FPGA中负数与小数的表达。一、负数的表达关于负数,大家都知道在任何正数前加上负号便成了负数,比如

2020-09-22 12:21:13

FPGA设计之门控时钟

FPGA设计之门控时钟一、什么是门控时钟二、门控时钟降低功耗的原理1. FPGA功耗分类2. 为什么门控时钟可以降低功耗三、不合理的门控时钟设计1.伪门控时钟2.直接门控时钟四、推荐的门控时钟设计1.基于锁存器的门控时钟2.基于寄存器的门控时钟五、讨论门控时钟的设计初衷是实现FPGA的低功耗设计,本文从什么是门控时钟、门控时钟实现低功耗的原理、推荐的FPGA门控时钟实现这三个角度来分析门控时钟。一、什么是门控时钟门控时钟技术(gating clock) 是通过在时钟路径上增加逻辑门对时钟进行控制,使电

2020-09-21 19:28:29

verilog与system verilog的关系

从上图可以看出,Verilog适合系统级(system)、算法级(alogrithum)、寄存器传输机(RTL)、逻辑级(logic)、门级(gate)、电路开关级(switch)的设计,而System Verilog是Verilog语言的扩展和延伸,更适合于可重用的可综合IP和可重用的验证用IP设计,以及特大型(千万门级以上)基于IP的系统级设计和验证。与传统的电路原理图输入法相比,Verilog的最大优点是其实现与工艺无关。Verilog以及它的扩展System Verilog是设计可重用IP,即.

2020-09-19 13:53:45

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取