01 2021 档案
自定义IP之 ——为什么.tcl文件拷贝到ip目录下后打不开该IP
摘要:我自己写了个.v 模块,为了设计了一个自定义IP方便以后在qsys里面调用,我通过qsys工具封装成了IP,于是新产生了一个.tcl文件。 IP 的 HDL 文件是保存在工程根目录下的 ip 目录下的对应的 IP 核文件夹下的。而.tcl 脚本文件默认保存在工程根目录下 : 为了方便移植,我把 默认
阅读全文
自定义IP 之—— Avalon总线对寄存器的读写
摘要:同一个寄存器, 可以设置为可读可写。 寄存器基地址一样,通过偏移地址识别。
阅读全文
自定义IP之——Avalon MM slave 接口的IP 读数据(readdata)的控制信号read_n是必须的吗?
摘要:在 设计 avalon MM slave的 IP 时, 我在网络上看了一个资料,以为read_n 信号不是必须的,以为只要chipselect有效就可以将寄存器的值读到readdata端口上: 但是对比writedata,需要在write_n信号有效的情况下才能将writedata的数据写入IP寄存
阅读全文
Quartus 的 IP catalog 和 Platform Designer(Qsys) 的 IP catalog 有什么区别
摘要:这是 Quartus 的 IP catalog: 这是Platform Designer(Qsys) 的 IP catalog : Quartus 的 IP 很多是直接RTL code用的,当然也有些是带有 avalon 总线的。qsys里面大多是带总线的,可以通过NIOS 或者hps 控制。 另外
阅读全文
Platform Designer(qsys)添加自定义IP时提示错误:Missing connection end (try "Remove Dangling Connections")
摘要:Platform Designer(qsys)添加自定义IP时提示错误:Missing connection end (try "Remove Dangling Connections"), 大家可以看到下面截图里面 提示的信号其实明明有连接的: 于是我remove掉这个IP,然后再重新添加,问题就
阅读全文
DE1-SOC IR 红外发送接收案例中 IR 数据接收的代码解析——RX
摘要:今天来分析下 友晶科技 DE1-SOC 的CD 里面的 DE1-SoC__._._.__HWrev_.rev__SystemCD\Demonstrations\FPGA\DE1_SoC_IR 案例的IR 接收的代码。 首先大家要先百度 了解下 NEC IR 协议。 关于DE1-SOC IR 输出的代
阅读全文
DE1-SOC IR 红外发送接收案例中 IR 数据发送的代码解析——TX
摘要:首先大家要先百度 了解下 NEC IR 协议。 IR 接收的分析参考我后来的博客:https://www.cnblogs.com/DoreenLiu/p/14333437.html ##一、任务描述 今天来分析一下友晶科技 DE1-SOC 的CD 里面的 DE1-SoC__._._.__HWrev_
阅读全文
IR 发送数据的上升沿和下降沿的判断(FPGA的边沿检测电路实现)
摘要:关于IR 接收数据的上升沿和下降沿的判断, 其实可以画图来理解: 手动把电路画出来, 并且进行了推算: 上面输入的1010 是 IR 的那种 特殊传输方式, 560us低+560us高代表传输的是0 ,560us低+560us x3 高代表传输的是1 。 如果就拿普通的0101传输,推算如下: 边沿
阅读全文
IR(红外线) 接收器的 数据发送结束判断(结束码)
摘要:友晶科技的 《逻辑电路设计 DE2-115 实战宝典》的第7章节 有讲解 IR 接收器的原理以及 有对IR 接收数据的解析。 但是我看到代码里面提到IR 数据是否传输完成的判断是 : parameter IDLE_HIGH_DUR = 262143; // data_count 262143*0.0
阅读全文
并行输出的时候为何要加一级寄存器 (确保稳定输出)
摘要:并行输出的最后都加上了 一级寄存器, 这是什么目的呢? 首先看友晶科技 IR (红外线)控制章节第 294页(《逻辑电路设计——DE2-115 实战宝典》)代码: 这里提到是为了稳定输出。 为什么寄存一下就能稳定输出? 我们来看一下我在网络上找的关于 总线输出 最后加一级寄存器的教学PPT:里面解释
阅读全文
I2C通信协议中读数据时为何要设置一次W/R位为写? (是为了Dummy Write 哑写还是为了写内部地址?)
摘要:I2C(Inter-Integrated Circuit)是一种由飞利浦半导体(现为恩智浦半导体)在1980年代初开发的同步、串行的总线型通信协议。它主要用于短距离通信,特别是在同一块印刷电路板(PCB)上的集成电路(IC)之间进行通信。 I2C单个字节写时序:(截图来自友晶科技书籍《DE2-115
阅读全文
ModelSim 仿真 遇到提示 # ** Fatal: (vsim-3366) ... Ports cannot be connected by name when a module contains unnamed ports.
摘要:最近在写一个I2C master 写的 控制模块,在仿真的时候遇到错误提示: # ** Fatal: (vsim-3366) E:/Project/Quartus/LD/my_i2c/my_i2c_vlg_tst.v(51): Ports cannot be connected by name wh
阅读全文
更新 preloader 和 uboot 出现 Starting kernel 卡住的现象 (SOC EDS 版本问题)(DE0-Nano-SOC)
摘要:使用DE0-Nano-Soc开发板, 不更改GHRD 任何硬件配置,在17.1 的 SOC EDS 下重新编译preloader 和uboot (具体步骤参考:http://www.myfpga.org/discuz/forum.php?mod=viewthread&tid=190021)然后更新到
阅读全文
HPS 端外设的引脚 要不要分配? DE1-SOC
摘要:关于 HPS IO 复用 细节请参考我之前的博客: https://www.cnblogs.com/DoreenLiu/p/14012088.html 目录HPS端普通外设引脚分配(uart、spi、I2C、USB、GPIO、ethernet、SD card等)HPS 的 SDRAM 外设的引脚分配
阅读全文
Verilog 可综合和不可综合的理解
摘要:之前我看了一个很简单的Verilog代码,里面用到 initial: 然后综合得到如下电路: 我一直误解为这些不可综合的语句是不能出现在设计里面,只能出现在仿真里面的。我以为如果出现在设计里面了也会被忽略掉。但是我发现 initial 里面的语句实际中确实起了作用,它初始化了counter,我把代码
阅读全文
HPS 端外设引脚复用的 三种设置方法
摘要:目录一、 在qsys里面设置二、 在uboot源码里面设置三、直接在裸机程序里面设置 SOC FPGA 的HPS端外设引脚复用的设定最后是在preloader和uboot中起作用,不支持动态配置(即当linux系统起来以后,无法在Linux系统中修改)。 一、 在qsys里面设置 最简单的方法是在q
阅读全文