自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 不容错过的verilog注意事项

夏宇闻《从算法设计到硬线逻辑的实现》

2023-03-02 17:49:18 178

原创 c语言之共用体和枚举

共用体共用体类型,使几个不同类型的变量共享同一段类型的结构。就是共用体里面所描述的类型都是共享一个地址空间,并且同一个时刻只能用一个类型的值。union 共用体名{ int i; //成员列表 char ch; float f;}a,b,c; //变量列表union data{ int i; //成员列表 char ch; float f;}; //变量列表union data a,b,c; union //无名共用体{ int i;

2021-07-18 17:01:20 222

原创 74HC595芯片

芯片 74HC595该芯片的作用是移位寄存器,通过移位的方式,节省 FPGA 的管脚。原理移位寄存器芯片的作用就是将data端传进来的串行数据转化为并行输出。上图是模拟移位寄存器的结构。data数据端传进来的1001经过四个周期一级一级的传送后,每个触发器的Q端都有输出。所以四个周期后,D3,D2,D1,D0,都有数据输出,那么有个疑问,如果经过第三个周期呢,可以发现,D0的值是不确定的,也就是说,输出端不稳定,所以就需要加上开关,当每个触发器的Q端有值输出时,就可以打开开关,稳定的输出D3,D

2021-07-16 10:15:56 1361

原创 SPI协议_FLASH

SPI协议SPI(Serial Peripheral Interface,串行外围设备接口) 通讯协议,是 Motorola 公司提出的一种同步串行接口技术,是一种高速、全双工、同步通信总线,在芯片中只占用四根管脚用来控制及数据传输,广泛用于 EEPROM、 Flash、 ADC(数模转换器)、 DSP(数字信号处理器)以及数字信号解码器上,是常用的也是较为重要的通讯协议之一。SPI 通讯协议的优点是支持全双工通信,通讯方式较为简单,且相对数据传输速率较快;缺点是没有指定的流控制,没有应答机制确认数据是否

2021-06-22 15:14:02 1174

原创 DDS信号发生器

DDS 信号发生器 DDS 是直接数字式频率合成器( Direct Digital Synthesizer)的英文缩写,是一项关键的数字化技术。与传统的频率合成器相比, DDS 具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在电信与电子仪器领域,是实现设备全数字化的一个关键技术。作为设计人员,我们习惯称它为信号发生器,一般用它产生正弦、锯齿、方波等不同波形或不同频率的信号波形,在电子设计和测试中得到广泛应用。基本结构了解dds,下面的dds基本的结构需要了解清楚。DDS,无非就

2021-06-22 12:08:26 3962 2

原创 I2C协议_EEPROM

I2C**I2C 通讯协议(Inter-Integrated Circuit**)是由 Philips 公司开发的一种简单、双向二线制同步串行总线, 只需要两根线即可在连接于总线上的器件之间传送信息。I2C 通讯协议和通信接口在很多工程中有广泛的应用,如数据采集领域的串行 AD, 图像处理领域的摄像头配置,工业控制领域的 X 射线管配置等等。除此之外,由于 I2C 协议占用引脚特别少, 硬件实现简单, 可扩展型强, 现在被广泛地使用在系统内多个集成电路(IC)间的通讯。I2C总线可以进行

2021-06-18 21:17:23 686

原创 fir低通滤波器

fir 有限冲激响应( Finite Impulse Response, FIR)滤波器,又被称为非递归线性滤波器,是数字信号处理系统中最基本的元件。 FIR 滤波器的脉冲响应由有限个采样值构成,长度(抽头数)为 N、阶数为 N−1 的 FIR 系统的转移函数、差分方程和单位冲激响应分别如下列三式所示。 无限冲激响应( Infinite Impulse Response, IIR)滤波器,又被称为递归线性滤波器。顾名思义, FIR 和 IIR 是相对的,相比于 IIR, FIR 具备线性相位

2021-06-17 16:07:05 8349

原创 DDS与DA

信号发生器 信号发生器是一种能提供各种频率、输出电平的电信号的设备,又称信号源或振荡器。其在各种电信系统的振幅、频率、传输特性等电参数以及元器件的特性与参数的测量中得到了广泛的应用。直接数字式频率合成器( Direct Digital Synthesizer,DDS)是一项关键的数字化技术,其将先进的数字处理理论与方法引入频率合成技术,通过数/模转换器将一系列数字量形式的信号转换成模拟量形式的信号。DA9709芯片***DA9709芯片***是双通道,位宽 8bit 的芯片,速率高达 1

2021-06-16 22:14:07 2191 1

原创 简单操作matlab之图像

Image1.打开matlab就先把路径给切换好 准备的图片放在路径下,后面就可以随意用matlab来调取2.建立.m文件 建立脚本就可以任意输入命令,回车不运行。3.输入命令下面是我自己编的命令处理图像:以下命令主要是提取图片的rgb分量。图片是由三基色组成,RGB(红,绿,蓝)查看图片的信息:clc;clear;pic_rgb = imread('zz.jpg');从当前路径读取图片信息pic_r = pic_rgb;//赋值pic_g = pic_rgb;pi

2021-06-14 17:39:40 3988

原创 异步fifo

FIFOFIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。FIFO是非常重要的数字器件,用途非常多,像跨时钟域的处理,多比特的异步信号的处理。FIFO的IP核有同步的还有异步的,这取决于写数据和读数据采用的时钟。下面简单仿真一下异步FIFO的功能:异步FI

2021-06-14 15:41:23 221

原创 用状态机设计uart——顶层模块

顶层模块module uart_state( input wire sys_clk, input wire sys_rst_n, input wire rx, output wire tx);wire rx_data;wire data_value;wire [7:0] rcv_data;uart_rcv uart_rcv_inst1( . sys_clk (sys_clk), . sys_rst_n (sys_rst.

2021-05-20 15:46:42 688 1

原创 用状态机设计uart——发送模块

发送模块状态图:发送模块代码module uart_txd( input wire sys_clk , input wire sys_rst_n , input wire value_d , input [7:0] data_rx , output reg txd_data);parameter IDLE = 4'b0001 , START = 4'b0010 , ..

2021-05-20 15:29:47 851 1

原创 用状态机设计uart——接收模块

uart设计由于是自己通过不断仿真测试,进行对代码的修改,设计肯定不是完美的,请大家指出我的问题!!!也可以在评论区评论,指出问题!!!或者有疑问的提出来!!!本设计采用三段式状态机分析与综合后的状态图:接收模块代码:module uart_rcv( input wire sys_clk , input wire sys_rst_n , input wire rx_data , ou.

2021-05-19 21:38:14 1239

原创 Uart2

FPGA设计思路那rs232举例来说,它采用的是全双工,有两条数据线,rx和tx,每次只能传输1bit,用FPGA设计一个具有uart功能其实不难,只要了解它的功能是什么。uart功能就是:接收数据时。将串行数据转换成并行数据;在发送数据时,将并行的数据再转换成串行数据。我们只要在FPGA内部实现这个功能描述就可以了。一般只要两个模块就能解决,发送模块和接收模块。这两个模块分别诠释了uart的功能。野火的波形图教学非常好,明白了时序是怎样的,那么代码就游刃有余了,大家可以根据下图的.

2021-05-13 21:38:01 1225

原创 UART1

串口Uart,它是异步串行,一类协议,并不是一种协议(串口总称)Uart类型的接口有许多,像常见的rs232,rs422,rs485等,各自有自己的电平标准。为何说是异步的呢?Uart通常用来PC和外围设备就进行通行,但是使用的都是各自的时钟,不像SPI和I2C主机和从机使用相同的时钟来控制数据的传输。我们来讲讲rs232这种串行接口,有9个引脚,其中两个引脚是核心,RX和TX,处于2和3引脚,所以使用的数据线就这两条,位宽1bit,就是说在创数时只能一位一位的传。缺点就是传输距离短,速率低。

2021-05-12 23:26:47 1397

原创 FPGA之状态机

状态机1.状态机定义状态机的本质就是对具有逻辑顺序和时序规律的事件的一种描述方法,它有三个要素:状态、输入、输出:状态也叫做状态变量(比如可以用电机的不同转速作为状态),输出指在某一个状态的特定输出,输入指状态机中进入每个状态的条件。有限状态机(Finite State Machine, FSM),根据状态机的输出是否与输入有关,可分为Moore型状态机和Mealy型状态机。Moore型状态机输出仅仅与现态有关,Mealy型状态机不仅与现态有关,也与输入有关,所以会受到输入的干...

2021-05-02 22:34:25 1621

原创 大彻大悟之C语言数组_Part1

数组赋值在c语言中,常用的是一维数组和二维数组;数组其实就是存储一系列的数字或者,字符;首先讲一讲初始化,在赋值的过程中要注意什么。下面是我列举的例子:一维数组的赋值:int arr[5] = {1,2,3,4,5};//定义5个整型元素int arr[] = {1,2,3,4,5};//定义5个整型元素int arr[5] = {1,2,3};//定义的5个元素为1,2,3,0,0;char arr[5] = {'a','b','c'};//定义的5个元素为a,b,c,0,

2021-04-28 22:27:03 100

原创 “人生苦短,我用python”之小笔记

人生苦短,我用Python!学过C语言,相信python就很容易上手,主要是因为其表达方式简单,不繁琐。我来总结一下,python最最最基础的知识:No.1 变量变量就是用来存储那些数据的并可以任意更改的,像整型(int)、字符串(str)、浮点型(float)等。eg1:my_name= '小兔崽子';age = 30;注意点:变量名字;赋值符号;变量的名字:规定数字、字母、下划线来命名,但不能是数字开头,最好也不要用下划线开头!、赋值符号:=eg2:mengx..

2021-04-27 23:03:09 114

原创 与FPGA中亚稳态的‘量子纠缠’

亚稳态说实话,这玩意我也是琢磨许久,不搞懂心里难受!!!这也让我觉得匪夷所思的地方!!!这玩意不搞懂,我是睡不着觉的!!!!为啥会出现亚稳态?组合逻辑有吗?组合逻辑是靠电平触发,每次会有确定的电平值0或1,但组合逻辑会有个竞争冒险现象,这个现象与亚稳态一样是个小祸害,阻碍整个系统变得优秀!!!(我这说的委婉,可能会导致系统奔溃)那么在时序逻辑中呢?这涉及到很重要的数字器件,那就是触发器,它具有记忆功能还可以储存一位二进制数据。为什么提到触发器呢,因为它是导火索,所有亚稳态都与它有着千丝.

2021-04-25 23:25:44 251

原创 与C语言函数的邂逅

**Function**C语言中经常会提及到就是函数,有一大堆的库函数,以及程序员自己所编写的函数。这里推荐一个网站 www.cplusplus.com,这个网站可以用来学习C语言中所涉及到不同类型的函数。全英文文档,正好可以锻炼你们的英文。。。。。。函数需要什么?怎么定义的?怎么用?一般函数是由 如下三大要素构成:1. 函数的返回类型2. 函数名字3. 函数的参数其格式为:函数的返回类型 函数名字 (函数的参数)函数的返回类型具体看函数所实现的功能有关,需要返回的是什么类型,常用的

2021-04-23 23:47:25 219 4

原创 C语言之趣味小程序——电脑关机

电脑关机怎么使用C语言编写的代码让电脑关机呢?大家估计有人玩过,也挺有意思的。。。。我们知道在windows系统有一个命令窗口,可以输入命令操作的窗口,也叫dos窗口,如下图,快捷键windows+R,打开运行窗口,输入cmd,进入dos界面:输入命令 shutdown -s -t -60 表示电脑在60秒后关机。再输入命令 shutdown -a 表示取消关机的操作。分别对应下图操作与结果:...

2021-04-22 23:12:55 382

原创 Verilog之呼吸灯

呼吸灯我今天分享一个呼吸灯的代码,挺有意思的!呼吸灯字意就像人的呼吸一样的变化的灯,什么变化呢?指的是灯的暗慢慢变亮,再由亮慢慢变暗重复变化。生活中常见的呼吸灯也就是手机上来消息时那个灯一闪一闪的变化。我是怎么设计的这个呼吸灯的呢?其中涉及到了脉宽调制的手段,利用占空比的变化来改变灯的暗慢慢到亮的状态!具体请见如下代码:大家测试的时候需要用到FPGA的开发板,利用Altera或者Xilinx的开发环境将程序下载到FPGA芯片即可!程序哪有疑问可以找我哦,我会帮你解答的哦。m

2021-04-19 22:10:58 547

原创 浅谈自己对Verilog中阻塞赋值与非阻塞赋值

Verilog之阻塞赋值阻塞赋值与非阻塞赋值是Verilog语法中的赋值语句,理解起来并不难!换个思维,我们不能用以前编写C语言或者其他高级计算机语言的思维来理解Verilog中的代码。亲们,想想吧,Verilog是硬件描述语言,不是程序哦!写出来的语句我们可以称之为代码,而不是程序,思维要转变过来哟????像用来编写控制单片机的C语言程序是顺序执行的,因为利用的是CPU取指,译码,执行等一条条命令控制完成,这典型的按顺序去完成任务。而FPGA不一样,用Verilog语言编写好可以生成电路,电路啥概

2021-04-18 23:11:31 408 3

原创 凑C语言的热闹_指针1

C语言的指针类型关于指针,想当初开始学的时候感觉非常难,现在回顾一下看了某站视频,我来总结一下。搞懂指针首先需要理解电脑上的内存的概念。现在的电脑有32位或者64位的处理器,什么意思呢?就是代表PC有32根或者64根的地址线,一旦上电每根线上可以代表正电或者负电,也就是所谓的逻辑1或者逻辑0。我们想想,拿32位的平台举例,32根地址线可以表达多少种地址,我们可以把地址想象成一个房间,那房间肯定需要有编号,那么32位有多少地址编号呢?哈哈,我为了打字图方便,不用二进制表示,用16进制代表地址编号,从0

2021-04-17 22:33:33 176 1

空空如也

空空如也

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

TA关注的人

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