自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (3)
  • 收藏
  • 关注

原创 【SpinalHDL】3.奇淫技巧

在SpinalHDL中采用this.setDefinitionName达到module名称的目的,请看scala代码。这样就会将SpinalHDL生成的“zz”前缀替换为“tmp”啦,简单又使用的技巧就此获得。最终module名称为"sum_stage0_n2_w8",和SpinalHDL的设定一致。

2024-02-06 17:35:35 247

原创 【SpinalHDL】2.数据类型SpinalEnum

重点生成Verilog时,SpinalConfig的使用,其中enumPrefixEnable = false不生成变量前的前缀,enumGlobalEnable = true将enum默认生成的是define宏,withoutEnumString()则不生成仿真时的string描述,对比下就知道了,下面默认的生成结果。其中object Enum对象实现的基本的SpinalEnum类的定义,注意其中的编码方式,为自定义的编码方式。类Demo Enum初始化一个寄存器enum,并将其初始化为a。

2024-02-06 17:30:00 452

原创 【SpinalHDL】1. Getting Started

继承自Component组件的module_xxx类定义了一个类似verilog中module的模块,内部为module的具体的实现,这里暂时不做具体的阐述;最后object对象定义的main函数为scala语言的入口函数,SpinalVerilog语句实现了将Scala语句转换为Verilog语句的功能。当然也可以不指定版本,每次都使用最近的SpinalHDL版本,build.sbt可以做如下的修改。其中verision为build.sbt的版本号,一般不需要修改;以一个简单的例子做说明吧。

2024-02-06 17:27:08 1467

原创 【Scala 】3. 类和对象

scala是一种面向对象的函数,其中一部分就是scala语言中支持类的实现。子类继承父类的函数的实现,不再声明返回值类型,采用extends关键字;但是面积的实现方式覆盖父类的实现,采用override关键字。上面的例子中声明一个类继承字Shape类,内部变量进行拓展。类中包含实现面积的计算方法。

2024-02-06 17:25:06 725

原创 【Scala】 2. 函数

scala运算符、if …两部分和C语言类型,这里不再赘述,这里从for循环开始讲讲scala和c/c++的不同之处。和c语言类似,基本可以作为参考,智能在于可以直接不写访问值和return关键字实现,下面举例说明。scala中主要包含to和until两个关键字,下面分别看看两者的用法,看例子就行了。此时调用时若需要采用缺省值,变量b可以不赋值。该结果和C语言中使用的方式是一致的。包含return值和返回值类型。包含return关键字。

2024-02-06 17:23:02 820

原创 【Scala】1. 变量和数据类型

不加f关键字,则必定是Double的类型的数据,只有加了在浮点数后加了f关键字后,才表示数据为单精度浮点数,即是32bit的浮点数类型。println函数中添加f关键字起到格式化字符串打印的效果,这个和c语言不同,同时还可以添加s关键字执行特定的表达式。(2)在Scala中,Char关键字表示无符号的16bit数据,数据范围为0~65535。与f类似,若要表示数据为长整型(long)的数据,需要在后面加上L或l关键字作为补充。可以不添加返回值类型,scala自动推断,下面输出的结果是一致的。

2024-02-06 17:19:15 967

原创 15.基础实验(4)vga显示图像动态移动

vga显示图像动态移动一、实验内容实现vga显示中心200x200的方块动态移动。二、系统框图分辨率保持为640x480保持不变,200x200方块在屏幕上移动,总共有5个状态,将3个状态列出,绘制如下框图。state1:200x200的方块在显示屏上正常移动。state2:200x200的方块到达显示屏的底部,下一步开始从下往上移动。state3:200x200的方块到达显示屏的右部,下一步开始从右往左移动。三、设计分析简单来说,就是200x200的方块移动到显示屏的边缘时变换方向,可

2021-01-08 21:51:11 2895 3

原创 14.基础实验(3)vga显示

基础实验(3)vga显示一、实验内容实验要求实现vga接口显示,可以将需要发送的数据显示屏幕上。实验环境实验平台:特权同学Cy4_Altera开发板实验软件:Quartus 18.1 + Modelsim 10.7主控芯片:EP4CE6E22C8二、系统框图VGA实现的接口时序,即hsync和vsync都为高有效(其中一种)。不论是vsync,还是hsync,都是在addressable video区域输出有效的数据,而hsync是在front_porch后出现信号。三、设计分析根

2021-01-06 10:41:17 1320 1

原创 13.基础实验(2)异步串口收发的实现

异步串口收发的实现一、实验内容实现串口接收来自串口调试助手发送的数据,然后直接通过自己实现的串口程序将数据发送出去二、系统框图三、设计分析从串口接收开始,这个比较容易实现。参考链接串口通信协议不考虑奇偶校验位,一个字节的串口的发送过程,包含1个低电平的起始位,一个高电平的停止位,中间8个数据位,且数据位是从低位发送到高位。只要保证前一刻为高电平,下一时刻为低电平,则可以确定开始串口开始接收数据,因为不发送数据时,即空闲状态下相应的电平为高电平。从起始位开始,检测串口的数据的接收。延时一个半

2021-01-05 19:47:08 663

原创 12.基础实验(1)按键检测

基础实验(1)按键检测按键检测实际上是一个很简单的实验,关键在于画出时序图。设计分析时序图出来了,就搞定了。时序图如下。时序图设计的代码如下。{ signal: [ { name: "key", wave: "h..........lh.l.h..l...................................h.l.h..l.h.......", period:0.2 }, { name: "key_cnt", wave: "=..==============", dat

2020-12-21 22:12:55 1835

原创 11.SCCB接口时序的实现

练习8 SCCB接口时序的实现SCCB接口时序与IIC协议基本一致,是其简化版本,且SCCB协议兼容IIC协议。基本时序介绍最常用的时序是3线控制数据传输的方式,基本时序图如下。具体的控制信号,则是先发送起始信号,再发送数据,最后发送停止信号。其中,3相数据传输又是最常用的方式。起始信号为scl有效时,sda拉低。停止信号为scl有效时,sda拉高。正确的有效数据是scl为高电平时,sda保持不变,从而正确地读取数据,正好在时钟的上升沿读取有效数据。3相数据发送,即先发送器件地址,

2020-12-15 22:02:53 2608

原创 10.时序图绘制软件WaveDorm的使用

时序图绘制软件WaveDorm的使用参考路径:Hitchhiker 的 WaveDrom 指南github链接 信号的定义首先,从官方的参考开始分析。 官方的第一个例子如下。代码是这样的。{ signal: [{ name: 'Alfa', wave: '01.zx=ud.23.45' }] }获得的结果呢,是这样的。我们可以据此呢,得到一些答案。绘制成如下的表格。一个符号代表的是一个周期。时钟的定义还是官方的例子。代码...

2020-10-04 18:59:17 1547

原创 9.SDSoC 调试技巧

SDSoC 调试技巧SDSoC整合了HLS、Vivado和SDK三个软件,使得整个硬件加速变得简单,那么整个系统绝对不会显得很简单,这其中必然包括一些有效的调试技巧,下面一一进行介绍。下面的所有技巧都可以在ug1028文件中找到,可以仔细看看这篇文章。软硬件资源评估首先,在SDx Setting中,选中Estimate performance这个box 然后,build project编译完成后,可以看到如下的效果。上面的是硬件资源的评估暂用情况。点击其中的cl...

2020-10-04 18:47:11 453

原创 8.caffe环境搭建与使用

caffe环境搭建与使用一、Ubuntu17.10版本以后caffe环境搭建​ ubuntu17.10版本以后,caffe环境就嵌入了相应的环境中,不再需要独立编译和配置。具体可以参考以下的链接。​ 参考链接:ubuntu18.04安装caffeUbuntu18.04安装caffe(简单 快捷)​ 具体说来,就是apt-get install caffe-cpu ​ 或者apt...

2020-04-15 14:22:16 379

原创 7.STM32 HAL库实现UART的不定长度DMA数据传输(二)

STM32 HAL库实现UART的不定长度DMA数据传输(二)目录 STM32 HAL库实现UART的不定长度DMA数据传输(二)一、开发环境二、项目需求三、项目分析1.参考链接2. 实现分析四、练习步骤1.UART、DMA、时钟等基本配置2.不定长数据接收实现3.测试结果五、软件调试六、总结与讨论...

2020-01-09 11:18:23 2010

原创 6.STM32 HAL库实现UART的不定长度DMA数据传输(一)

STM32 HAL库实现UART的不定长度DMA数据传输(一)一、开发环境 软件环境:keil、STM32CubeMX 硬件环境:STM32F407VGT7 二、项目需求 实现UART的不定长度DMA数据传输 要求使用HAL库 三、实现步骤1.STM32CubeMX软件的基本配置(1)下载接口配置...

2020-01-08 15:46:58 2464

原创 5.FPGA边沿检测及亚稳态的消除

FPGA边沿检测及亚稳态的消除一、FPGA边沿检测的实现 边沿检测主要包括上升沿和下降沿的检测 1.原理 上升沿是指从低到高的电平转变,而下降沿是指从高到低的电平转变 上升沿 下降沿 那么如何判定上升沿和...

2019-10-08 23:21:21 586

原创 4.去除毛刺的一种方法

去除毛刺的一种方法在学习FPGA的过程中,我们一直在进步,也一直在同一个问题上有所突破。对于去除毛刺这个问题,我们一直在寻求更好、更简便的方式。最近,得一良方,现写出来进行分享。 说明 首先,需要说明的是,对于脉冲小于一个时钟周期的毛刺,只要不在数据的采集时刻(一般是在时钟的上升沿)进行干扰,可以...

2019-09-30 11:09:51 5143

原创 3.Quartus II FIFO IP的使用——以SCFIFO为例

3.Quartus II FIFO IP的使用——以SCFIFO为例参考链接FPGA基础学习(2) -- FIFO IP核(Quartus):https://www.cnblogs.com/rouwawa/p/7066635.html对altera的FIFO读写操作深入研究:https://www.cnblogs.com/estop-jfw/...

2019-05-27 18:16:24 4688

原创 2.cycloneIII系列FPGA下载模式的配置

2.cycloneIII系列FPGA下载模式的配置参考链接FPGA下载电路设置 AS 和JATG:https://www.cnblogs.com/LJWJL/archive/2013/03/12/2956678.htmlFPGA上电加载时序介绍:http://tech.oneyac.com/article/detail/51677.html...

2019-04-29 22:44:08 3082

原创 1. FPGA复位电路的实现——以cycloneIII系列芯片为例

1. FPGA复位电路的实现——以cycloneIII系列芯片为例 目录 参考链接:总计:方式一:普通IO口加上按键复位电路和上电自动复位电路方式二:nCONFIG引脚输入信号作为系统复位方式三:用其他MCU控制FPGA的上电复位,既可以将MCU的复位引脚和FPGA的复位引脚连在一起,也可以MCU单独引脚复位引脚对FPGA进行控制。总结与讨论:疑问:...

2019-04-29 11:11:48 4312

IMX222图像数据采集.pdf

IMX222图像数据采集

2021-07-31

caffe环境搭建与使用.pdf

ubuntu18.04caffe环境的配置和简单使用,实现了两层卷积层和一层全连接层的连接。好东西值得分享,需要多看看。

2020-04-15

开始使用Vitis软件工具.pdf

开始使用Vitis软件工具,主要是关于xilinx新软件vitis的一些简单看法,没有啥新的内容,这些内容从官网中也能看到。

2020-03-21

空空如也

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

TA关注的人

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