- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 LVDS差分传输视频为什么是7:1而不是9:1或11:1
7:19:1 11:1原因:1、我们经常使用的RGB数据位宽为6bit 和8bit的,为了保证原设计不变(频率),只增加一条线的通道就可以实现6bit到8bit的数传输,对于FPGA编程,或则其他编程,节约了大量的调试时钟延迟的时间。2、如果这样采样的话,虽然line不变,但是频率变化了,很多显示设备可以支持多个line但是,由于帧率越大,频率必须提高,这样对硬件电路设计要求就更高,干扰也更大。...
2021-06-23 11:21:54 1289 1
原创 总结-既有发明又有实用新型的专利写成实用新型-经验
一、背景介绍我最近用FPGA做一个项目,功能是将输入的图像进行旋转,按照最小1°进行旋转,输入分辨率为720P@60Hz,输出要求也是720P@60Hz,图1是效果。我们需要提交交底书给代理公司。图1二、问题由于项目有资金预算,在100以内,包括FPGA、sram、sdram、pcb、电源芯片、串口芯片、jtag调试芯片、视频采集芯片、所以就有很多的限制。那么首先就是做框架,我以当时放弃的一个方案为例子,如图2,该方案除了显示效果差一点外,价格正好满足要求,采用临近插值。其中,.
2021-05-05 23:54:24 885
原创 基于FPGA的HDMI信号采样原理
一、基础HDMI 基于 TMDS的技术HDMI一般包括三个常规TMDS通道TMDS的数据格式以10bit为一个单位,进行编码组合,但是时钟通常只有1个时钟及时钟在25M优势:防止时钟干扰缺点,接受端需要5被的频率才能还原数据`二、应用...
2021-05-04 20:31:12 666
原创 wavedrom
使用步骤 基础指令p :表示时钟,大写表示上升沿时钟n:表示时钟,大写表示下降升沿时钟h:上拉电平为高电平l:下拉电平为低电平x:表示x态数字:表示颜色=:表示data| :表示缺省. :连续data:表示前面已有数据的名称{name: 'clk', wave: 'p..HL.........'},{name: 'test',wave: 'x2.34=x|=1',data:['red','blue','whate','ni']},...
2021-05-03 14:59:49 659
原创 fpga中用for与加法区建立乘法器的区别
/*目的:对比for得到的乘法器最高频率结论: 1、205M 远远高于for的80M,且资源分布均匀(加法器同时8个相加) 2、改为加法器4个相加流水线设计 频率升为211M 明显加法器不能太多 3、再改为2级加法器,375M 真是意外的惊喜*/module top(input clk,input [7:0] ...
2019-12-06 14:16:19 258
原创 fpga测试平台实现调取和存入数据
Top/*目的:熟练使用读写txt文件的功能结论:完美执行注意事项: data_in 文件要放在仿真文件下。同文件目录*/module top(input clk,input rst_n,input [7:0] a,input [7:0] b,output reg [15:0] q);reg [15:0] x,y,z,h;re...
2019-12-06 14:14:17 426
原创 python05元组字典
1、元组操作#将列表转成元组 优势 元组不可变list = [1,2,3]t15 = tuple(list)print(t15)#截取 .split(str= "*",num) 截取字符串遇到*号截取,num四几次str1 = "wan****quan*zui****shuai"str2 = str1.split("*",8)print(str2)#按行切割 split...
2019-10-13 18:31:09 156
原创 python05
1、break continue#break 语句#跳出for 和while的循环#注意只能跳出最近的上一层循环for i in range(1,10): print(i) if i == 5: break # 跳出整个for 功能 如if - else 都跳出#continue#作用跳出当前循环,然后执行下面的程序,不跳出上一层f...
2019-10-13 15:38:37 178
原创 python04字符串补充
#打印多行print( ''' good man you ''')# \t : 制表符 四个字符print("wan\tquan")# 当多个转义字符时,用 r 默认字符转义print(r"E:\huancun") #防止出现 \t \n之类的# eval 当成有效的“表达式”print(eval("1+2"))#prin...
2019-10-13 09:17:12 186
原创 python03运算符
运算符:按位与 : &按位或 : |异或 : ^ 相异为1 如 print(5^7) = 010取反 : ~ 按位取反左移运算符:<< 、 >>关系运算符 : == != > < >= <=逻辑与 and or not(事件)成员运算符: in 、not inin...
2019-10-12 02:41:32 150
原创 python02 标识符 变量
1、类型:数字:整数 浮点数 复数string字符串:Boolean布尔值:None空值:list列表:tuple元组:dict字典:set集合:2、标识符规则:由数字,下划线字母组成 且不能是关键字 :查看关键字方法 区分大小写,遵循驼峰原则作用:给变量、函数 命名补充:在python3中,非ASCII标识...
2019-10-11 00:32:20 140
原创 python01
开始学习1、安装 环境下载地址https://www.python.org/downloads/windows/下载文件DownloadWindows x86-64 executable installer安装方法https://jingyan.baidu.com/article/c45ad29c05c208051653e270.html2、修改pycharm的字体大...
2019-10-10 01:58:41 102
转载 modelsim ddr3仿真lattice diamond
转载大部分https://www.cnblogs.com/fhyfhy/p/5224208.html并对其中某些地方就行了改进自己使用平台:lattice diamond 3.5ddr3 ip版本1.5modelsim 10.1c(据说6.6以下仿真有问题)改进地方:在testbench中加入扩展文件,红色字体已标注一、 DDR3 的IP 核的生成1、 选...
2019-07-29 21:30:45 1554
原创 lattice ram_dp 读写的延时关系,以及怎么在代码中巧妙利用规则
以1080P图像存储为例1、使能像素点:1921位,而不是1920位2、地址有效位1920位:从0开始到1919结束3、写入延迟:写入内部ram延迟1T4、读出延迟:2T(且最后一位还得是使能高才能读出),有时会延时1个周期,是因为数据有延迟,第一个数不稳定,所以使用第二个数。5、关掉使能后:任然会输出最后一个地址的数,ram内部寄存器寄存了,写代码的时候要格外注意。6、...
2019-06-26 23:19:09 1478
原创 matlab图片转化为程序,生成8bit位宽的数据表格,可以通过串口发送到后端FPGA的
clear all;clc;%图片文件名pic_data = imread('./test800x600.jpg');pic_red = pic_data(:,:,1);pic_green = pic_data(:,:,2);pic_blue = pic_data(:,:,3);[ROW COL] = size(pic_red);%对原图像进行处理,将处理...
2019-04-28 23:08:22 775
原创 FPGA 控制SDRAM 256M 仿真方法sdram_model_plus
感谢邓堪文大佬sdram_model_plus 模块在https://download.csdn.net/download/qq_27841635/11131098平台:采用黑金spartan6板子,notepad编辑器,modelsim仿真工具sdram_model_plus文件太大放在资源里去了,自行下载,敲完代码,伐木累。给点支持吧初始化sdram_init模块...
2019-04-06 19:08:19 2206 4
转载 pll时钟延迟为问题
pll时钟延迟为问题这关系到pll的工作方式,如果pll内部使用的是鉴频器,则输入和输出将没有固定的相位差,就是每次锁定都锁定在某个相位,但每次都不一样。如果使用的是鉴相器,则输入和输出为0相位差。早期的器件内部为前者,但现在已经基本绝迹了。因此在不考虑抖动,在pll的输入和输出上相位是保持0相位差的。 在FPGA内部,pll的输出一般驱动全局时钟网络,全局时钟网络是一个树形结构,其目的是为了...
2019-01-21 23:33:05 1980
转载 BT.656
转自http://www.cnblogs.com/s_agapo/archive/2012/04/08/2437775.html凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号,那么,BT.656到底是何种格式呢? 本文将主要介绍 标准的 8bit BT656(4:2:2)YCbCr SDTV(标清) 数字视频信号格...
2019-01-21 22:17:59 142
原创 LCD LED OLED区别 以及RGB、YUV和HSV颜色空间模型
led 液晶本身不发光,而是有背光作为灯源,白色是由红绿蓝三色组成,黑色是,液晶挡住了led灯光穿过显示器。lcd比led更薄。oled:显示黑色时,灯是灭的,所以显示黑色更深,效果更好。这就不得不说一下中美显示器电视显示扫描的区别,“隔行扫描”和“逐行扫描”。逐行扫描(1920x1080P): PAL 模式: 每秒 50帧中国模式,因为中国用交流电是50HZ ...
2018-10-14 19:59:47 2669
转载 Lattice并购案和我国FPGA发展道路
引用http://www.cnblogs.com/alifpga/p/9292588.htmlFPGA作为通信、航天、军工等领域的关键核心器件,是保障国家战略安全的重要支撑基础。近年来,随着数字化、网络化和智能化的发展,FPGA的应用领域得到快速扩张。美国在FPGA领域拥有绝对的垄断优势,已成为制约他国的重要工具之一。基于保护国家战略资产的考虑,美国总统特朗普下达行政指令,宣布停止具有中资...
2018-10-07 21:28:26 357
原创 RAM和Flash区别
都是随机存储器,断电数据消失,但Flash有点不一样,它在消失数据之前,添加了一个“”性质“,这个性质能上电后再识别,且把这个信号返回到ram中,这样近似的把flash当成了eeprom来使用,就是这样,RAM芯片断电后数据会丢失,Flash芯片断电后数据不会丢失,但是RAM的读取数据速度远远快于Flash芯片。...
2018-08-10 21:23:08 16051
转载 M25P16中文版
转载:https://blog.csdn.net/weiweiliulu/article/details/236667171、M25P16概述 M25P16是一款带有先进写保护机制和高速SPI总线访问的2M字节串行Flash存储器,该存储器主要特点:2M字节的存储空间,分32个扇区,每个扇区256页,每页256字节;写入1页数据所需时间为1.4 ms(典型值);能单块擦除和整块擦除:2...
2018-08-05 14:06:37 7478 6
原创 ISE_pll_ip的建立
创建clk的ip核以及设置PLL的时钟输出原理:外部晶振输入50M的频率,由ip核输出想要的频率1、新建工程model再在“芯片”名称上建立clk的ip核2、设置输入写为50M3、设置想要的频率可多选4、之后完成即可 调用实例化pll_ip5、程序`timescale 1ns / 1ps///////////////////////////////...
2018-08-04 15:48:11 2170
原创 vivado源文件和仿真文件的建立
目的:做一个3输入,1输出模块;其中只要有2个输入为1则输出为1;1、打开vivado创建一个工程2、选择保存路径和名称3、选择创建rtl文件且勾选下面的选项4、选择芯片如xc7a35tift5、进入主界面打开设置勾选-bin文件6、创建源文件并命名为test7、finish后弹出创建引脚框自己添加引脚8、找到文件.v打开9、开始...
2018-08-04 10:17:23 23161 4
原创 verilog中24LC04B iic(i2c)读写通信设计步骤,以及程序常见写法错误。
板子使用的是黑金的是xilinx spartan—6开发板,首先准备一份24LC04B芯片资料,读懂资料后列出关键参数。如下:1、空闲状态为SDA和SCL都为高电平2、开始状态为:保持SCL,SDA高电平不变,SDA 保持最少4us,之后SDA为低,保持最少4us3、结束状态为:保持SCL为高、SDA为低电平不变,保持最少4us,SDA为高保持最少4us4、时间间隔4us要...
2018-07-22 15:39:13 3992
原创 FPGA中iic总线上,应答ACK解析
首先要明白一点,有效ACK是指第9位为低电平,第十位,十一位就管不着了,(我写的代码发现第九位为低电平,之后复位为高电平,开始没注意后来搞的很是头痛) 主机发ack和主机检测ack,主机发ack是在从机发数据给主机的时候,主机检测ack是在主机发完一个字节后从机发的ack,ack就是第九个时钟时sda为低电平,主机发ack就是拉低sda,主机检测ack就是从机拉低sda 空了慢慢...
2018-07-16 20:23:45 2541
转载 网络信息的传输过程
转自:https://zhidao.baidu.com/question/487510936.html比如你用QQ发送文本信息“你好”给对方。发送过程:1、QQ先把“你好”转换成ASCII码,并且生成一个报文,此时报文为:(QQ报文头)+(你好的ASCII码)2、QQ是应用层软件,,理论上应用层应该把报文交给它的下一层,表示层。此时报文变为(表示层报文头)+(QQ报文头)+(你好的ASCII码)不...
2018-07-14 10:06:49 4290 1
原创 verilog 除法器
verilog 除法器:利用二进制的除法翻译过来的硬件电路1.1 实现算法基于减法的除法器的算法: 对于32的无符号除法,被除数a除以除数b,他们的商和余数一定不会超过32位。首先将a转换成高32位为0,低32位为a的temp_a。把b转换成高32位为b,低32位为0的temp_b。在每个周期开始时,先将temp_a左移一位,末尾补0,然后与b比较,是否大于b,是则temp_a减去t...
2018-07-01 22:29:36 2863
转载 二进制 转换成十进制 BCD码(加3移位法)
“原来的二进制数十几位,则左移时就要左移几位” "二进制数调整BCD码的方法是将二进制码左移8次,每次移位后都检查低四位LSD+3是否大于7,如是则加3,否则不加,高4位MSD作同样处理"一、为什么左移8次原寄存器是存二进制数的,新寄存器是存十进制数的,当然要左移8次,把数据全部移进去。但这里要注意两件事,第一,如果只安排一个字节作十进制寄存器,原数据要小于 64H(即100)。第二,由于新寄存...
2018-06-30 20:54:23 4452
转载 关于Verilog中begin-end & fork-join
转载:http://blog.sina.com.cn/s/blog_6c7b6f030101cpgt.htmlbegin-end and fork-join are used to combine a group of statements in a single block. General syntax with begin-end is as follows:type_of_block ...
2018-06-27 15:40:35 6711
原创 spi、iic、can高速传输速度与选择
uart: 无限制,常用9600、115200bps等保证双方通信速度相同。iic: 通讯速率400Kbpscan: 一般为1MbpsSPI: 通信速率 fosc/4其传输速度可达几Mb/s缺点:抗干扰能力差。SPI采用的是单端非平衡的传输方式,即传输的数据位的电压电平是以公共地作为参考的。在这种传输方式中对于已进入信号中的干扰是无法消除...
2018-06-26 15:51:01 18732
转载 STM32定时器时间的计算方法
本文出自:https://wenku.baidu.com/view/e3bdfb7601f69e31433294c4.htmlSTM32定时器时间的计算方法STM32中的定时器有很多用法:(一)系统时钟(SysTick)设置非常简单,以下是产生1ms中断的设置,和产生10ms延时的函数:void RCC_Configuration(void){RCC_ClocksTypeDef RCC_Clock...
2018-06-22 09:32:17 3472
原创 Verilog HDL中的运算符关系
1,位运算符 按位运算的运算符是位运算符,原来的操作数有几位,结果就有几位,若两个操作数位数不同,则位数短的操作数左端会自动补0。 (1),按位取反:~ (2),按位与:& (3),按位或:| (4),按位异或:^ (5),按位同或:^~或~^ 2,缩位运算符(又称归约运算符) 缩位运算符是单目运算符,按位进行逻辑运算,结果是一位值! (1),与缩位运算符:& (2),或缩位运...
2018-06-13 10:41:06 3632
原创 正点原子stm32f103mini版串口下载BOOT0引脚与与CH340G芯片引脚RTS、DTR、的关系原理
在做串口实验时,一直搞不明白一键下载是怎么回事,于是自己就去捉摸CH340G这块芯片,那么这里我将详细的讲解一下这块芯片怎么与stm32配合使用的。1、由CH340G芯片资料可以知道这两个引脚的功能都为输出RTS#:信号输出,初始状态为高电平,表示芯片接收数据已经准备就绪,下载程序时会变成低电平。DTR#:信号输出,初始状态为高电平,下载程序时会变成低电平(但是,是在RTS变为低电...
2018-05-30 15:08:19 16369 1
sdram_model_plus 大小为256M 邓堪文sdram中用到的代码
2019-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人