Wren

Sdram控制器(一)

狂风中的少年 提交于 2020-11-18 20:05:17
今天主要学习Sdram控制器框架设计 首先来看下整个控制器设计框图 如图1所示 (图1 FPGA内部程序框图) 接下来,分模块来看一下 1.1 时钟产生模块 1.11 实现方式 时钟的输入来源于外部晶振,时钟频率为25MHz,通过PLL产生数据源的时钟62.5MHz和sdram的工作时钟166MHz。另外还需要产生一个相移为180°的166MHz提供给下游芯片sdram,保证时钟在数据中间采 样。 1.12 参数设计 参数设计如图2所示 (图2 PLL参数设计) 1.13 接口设计 1.14 重点问题 Locked信号需要等锁相环锁定时钟后,输出的时钟才能有效,此PLL设计使用的是高有效的复位。 1.2 数据源产生模块 1.21 实现方式 数据源产生模块使用PLL倍频出来的 62.5MHz 时钟,产生数据格式如下: Addr[8:0] 0 1 2 … 2 53 2 54 2 55 Data[31:0] 0 1 2 … 2 53 2 54 s um 1.22 顶层设计 En表示什么时候产生数据,顶层结构如图3所示。 ( 图3 数据源产生模块顶层设计 ) 1.23 接口设计 1.24 重点问题 产生的数据是以256为一块,最后一个数是前面所有数据的累加和。 1.3 Rdm读写模块 该模块 XILINX 公司提供的使用简单双端口 RAM IP 核。 1.3.1 实现方式

Everspin MRAM优化系统能耗

自闭症网瘾萝莉.ら 提交于 2020-08-18 11:37:35
本篇文章介绍Everspin MRAM优化系统能耗。 与EEPROM或闪存相比,诸如MRAM之类的技术可以显着降低系统总能耗。对于许多无线和便携式应用程序,尤其是在不断增长的物联网中,能源预算(一段时间内消耗的总功率)是至关重要的组成部分。在计算设计的功耗预算时,工程师通常会查看设备的额定功耗。但是,其他因素也可能起作用。例如,对于非易失性存储器,写电流远高于读或待机电流。因此,在对功耗敏感的应用中,尤其是在需要频繁进行内存写入的系统中,需要考虑写入时间。与EEPROM或闪存相比,MRAM之类的技术具有快速写入和上电写入时间,可以显着降低系统总能耗。在本文中,我们比较了使用闪存的典型数据采集系统的系统能耗,EEPROM或MRAM。 总体而言,比较表明: •非易失性存储器的写入时间是导致整个系统能耗的主要因素。因此MRAM的较短写入时间实际上可以减少总能耗。 •使用具有 MRAM 的电源门控架构,可以进一步降低系统能耗,因为其更快的上电写入时间可使MRAM待机功耗降低到零。 典型系统 图1中的示意图代表低压差稳压器(LDO),微控制器(MCU),非易失性存储器和去耦电容器,通常用于数据采集应用,例如医疗监视器,数据记录器等。其他系统组件,例如因为没有考虑传感器及其功耗。 假定该MCU处于低功耗睡眠状态,并且具有定期唤醒以进行数据采集。所获取的数据存储在非易失性存储器中

Hacker News 中文简讯 2020-06-28

ぐ巨炮叔叔 提交于 2020-08-09 16:53:43
Hacker News 是一家关于计算机 黑客 和 创业公司 的 社会化新闻 网站,由 保罗·格雷厄姆 的创业孵化器 Y Combinator 创建。与其它社会化新闻网站不同的是 Hacker News 没有踩或反对一条提交新闻的选项(不过评论还是可以被有足够 Karma 的用户投反对票);只可以赞或是完全不投票。简而言之,Hacker News 允许提交任何可以被理解为“任何满足人们求知欲”的新闻 ——wikipedia 更新时间: 2020-06-28 04:29 Lemmy (open source federated Reddit alternative) secures funding for development - (lemmy.ml) Lemmy(开源联邦Reddit替代方案)确保开发资金 得分/评论:66/25 How Does Sqlite Work? (2014) - (jvns.ca) Sqlite是如何工作的?(2014年) 得分/评论:207/30 Xi-Editor Retrospective - (raphlinus.github.io) Xi-编辑回顾展 得分/评论:87/15 Sensors detect rise in nuclear particles on Baltic Sea - (reuters.com)

基于MIG IP核的DDR3控制器(二)

此生再无相见时 提交于 2020-04-29 19:03:16
上一节中,记录到了ddr控制器的整体架构,在本节中,准备把ddr控制器的各个模块完善一下。 可以看到上一节中介绍了DDR控制器的整体架构,因为这几周事情多,又要课设什么的麻烦,今天抽点时间把这个记录完了,不然以后都忘了DDR该咋去控制了。 从本次实验的整体功能模块可以看出,最终我们只需要用户操作的信号为用户写入的256bit数据wr_ddr_data,写开始信号wr_start,数据请求信号data_req,读开始信号rd_start,读出的数据rd_ddr_data,读数据有效信号rd_data_vld,读结束和写结束信号rd_done、wr_done,ddr忙碌信号ddr_busy; 接下来我们将从顶层模块开始介绍各个模块实现的功能。 1) 顶层模块: 在顶层模块中,我们主要介绍用户相关的接口,在DDR3 存储器一侧的信号不做过多介绍 端口名称 I/O 位宽 备注 wr_ddr_data I 256 用户写入的256bit数据 data_req O 1 向上游模块请求数据信号 wr_start I 1 一次写ddr开始信号 wr_done O 1 一次写ddr结束信号 rd_start I 1 读开始信号 rd_data_vld O 1 读出数据有效信号 rd_ddr_data O 256 读出的有效数据 rd_done O 1 一次突发读数据结束信号 ddr_busy O 1

目标反射回波检测算法及其FPGA实现 之二:互相关/卷积/FIR电路的FPGA实现

非 Y 不嫁゛ 提交于 2020-04-26 04:33:35
目标反射回波检测算法及其FPGA实现 之二: 互相关/卷积/FIR电路的 FPGA 实现 前段时间,接触了一个声呐目标反射回波检测的项目。声呐接收机要实现的核心功能是在含有大量噪声的反射回波中,识别出发射机发出的激励信号的回波。我会分几篇文章分享这个基于FPGA的回波识别算法的开发过程和原码,欢迎大家不吝赐教。以下原创内容欢迎网友转载,但请注明出处: https://www.cnblogs.com/helesheng 。 在本系列博文的第一篇中,根据仿真结果,我认为采用“反射回波和激励信号互相关”来计算目标距离的算法具有较高性能和计算效率。作为系列文章的第二篇,本文将介绍算法的核心功能——互相关的FPGA实现方法。本文会以数据结构的实现方式为主线,综合考虑电路的计算实时性、灵活性和成本效率等方面问题。 要实现的互相关运算在连续域的描述方式为: (1) 其中M(t)为激励信号,s(t)为反射回波信号。在FPGA中实现上式时必须将其离散化,并限制在有限的时间长度内。好在激励信号M(t)本来就是有限时长的,对其实施一个满足奈奎斯特采样定理的离散化后【 注:作为算法的验证,我们在预备篇中使用了采样率仅为50KSPS的ADC:MCP3202,但这并不妨碍我们验证算法的正确性。实际的声呐系统中采样率可能远超过50KSPS 】,可以将上式简化为FPGA能够实现的形式: 其中N为激励信号的长度

ZYNQ自定义AXI总线IP应用——PWM实现呼吸灯效果

[亡魂溺海] 提交于 2020-04-22 08:42:06
一、前言    在实时性要求较高的场合中,CPU软件执行的方式显然不能满足需求,这时需要硬件逻辑实现部分功能。要想使自定义IP核被CPU访问,就必须带有总线接口。ZYNQ采用AXI BUS实现PS和PL之间的数据交互。本文以PWM为例设计了自定义AXI总线IP,来演示如何灵活运用ARM+FPGA的架构。 功能定义:在上一篇ZYNQ入门实例博文讲解的系统中添加自定义IP核,其输出驱动LED等实现呼吸灯效果。并且软件通过配置寄存器方式对其进行使能、打开/关闭配置以及选择占空比变化步长。另外,可以按键操作完成占空比变化步长的增减。 平台:米联客 MIZ702N (ZYNQ-7020) 软件:VIVADO+SDK 2017 注:自定义IP逻辑设计采用明德扬至简设计法 二、PWM IP设计   PWM无非就是通过控制周期脉冲信号的占空比,也就是改变高电平在一段固定周期内的持续时间来达到控制目的。脉冲周期需要一个计数器来定时,占空比由低变高和由高变低两种模式同样需要一个计数器来指示,因此这里使用两个嵌套的计数器cnt_cyc和cnt_mode。cnt_mode的加一条件除了要等待cnt_cyc计数完成,还要考虑占空比的变化。   我们可以使用下降沿位置表示占空比,位置越靠近周期值占空比越高。在模式0中下降沿位置按照步长增大直至大于等于周期值,模式1中下降沿位置则按照步长递减直到小于步长

米联客 ZYNQ/SOC 精品教程 S02-CH15 AXI_Lite 总线详解

对着背影说爱祢 提交于 2019-11-29 00:27:45
软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛: www.osrc.cn 答疑解惑专栏开通,欢迎大家给我提问!! 15.1 概述 ZYNQ拥有ARM+FPGA这个神奇的架构,ARM和FPGA通过AXI4总线进行通信。本章对AXI总线源码进行分析,首先对总线和接口以及协议进行区别,其次通过分析AXI4-Lite,AXI4-Stream,AXI4总线的从机代码,进一步认识AXI协议,那么在后面学习AXI接口的IP时就不会有恐惧的心理。 这里需要特别说明一下AXI总线和AXI接口的关系。在ZYNQ中,支持AXI4-Lite,AXI4和AXI4-Stream三种总线协议,需要注意的是PS与PL之间的接口(AXI-GP接口,AXI-HP接口以及AXI-ACP接口)只支持AXI-Lite和AXI协议这两种总线协议。也就是说PL这边的AXI-Stream的接口是不能直接与PS对接的,需要经过AXI4或者AXI4-Lite的转换。比如后面将用到的VDMA IP ,它就实现了在PL内部AXI4到AXI-Stream的转换,VDMA利用的接口就是AXI-HP接口。 15.2 AXI总线与ZYNQ的关系 AXI(Advanced eXtensible Interface)本是由ARM公司提出的一种总线协议