- 博客(108)
- 资源 (6)
- 收藏
- 关注
原创 Leecode刷题【1数组专题4】80. 删除排序数组中的重复项II (以及通用解法)
Leecode刷题【1数组专题4】80. 删除排序数组中的重复项II (以及通用解法)
2022-10-13 19:33:54
894
原创 Leecode刷题 215. 数组中的第K个最大元素(基于堆排序的选择方法——二叉搜索树)——未完成,后面学完再来看吧
Leecode刷题 215. 数组中的第K个最大元素(基于堆排序的选择方法——二叉搜索树)——未完成,后面学完再来看吧
2022-09-23 21:25:52
449
原创 Leecode刷题 215. 数组中的第K个最大元素(快速排序法)
Leecode刷题 215. 数组中的第K个最大元素(快速排序法——如果有重复元素怎么办——另外多种方法,其中一种没有完全掌握,有疑问)
2022-09-22 20:03:17
1007
原创 Leecode刷题 412. Fizz Buzz——二级指针、字符串数组、malloc
Leecode刷题 412. Fizz Buzz——二级指针、字符串数组、malloc
2022-09-09 14:47:54
496
原创 基于51单片机控制的BUCK开关电源Proteus仿真
BUCK拓扑输出部分这里是给出的参考电路(如下图)使用了两路L293D的输出OUT1和OUT2,那么就会很疑惑。。。。关于两路L293D的输出呢?因为程序控制的时候,IN2始终由单片机输出0,所以底下这样也不像是差分,很难理解是为什么。理想的状态:当out1 =1,二极管不导通,上方电感充电,经过负载给下方电感充电,低电平时电感顺着二极管而上,续流。但是现实是有好几个问题需要考虑:(1)当L293D输入为0时候,OUT2是0,不是高阻态所以顺着L293D,单片机IO口会承受很大的灌电.
2022-06-14 07:26:09
8213
5
转载 使用单片机的定时器PWM数模转换
学习通:关于PWM实现DA转换电路设计.docSTM32学习心得二十七:PWM DAC数模转换实验及PWM知识复习基于LM358的PWM滤波实现数模转换电路介绍|壹芯微
2022-04-28 11:58:10
678
原创 FPGA开发中的各种仿真——行为仿真、功能仿真、时序仿真
之前一直觉得行为仿真和功能仿真是一个东东,今天查了下才有点明白。FPGA学习-RTL行为级仿真、综合后门级功能仿真和时序仿真的区别行为仿真写完设计源文件(.V或.VHDL)、tb文件之后,不综合,直接进行仿真,比如在vivado中,写完文件就是直接执行了了behavior仿真还没有综合,所以只是考虑了我们的HDL描述的功能是否符合设计要求,不考虑电路门延迟和线延迟。功能仿真这是综合之后进行的仿真。综合后门级功能仿真。绝大多数的综合工具除了可以输出一个标准网表文件以外,还可以输出Verilog
2022-04-28 10:04:10
9564
转载 Verilog语法——操作符“&”(缩减运算符、“&”和“&&”在硬件中的区别)
Verilog语法——操作符“&”单目运算符 &这里介绍一种特殊的用法,也就是&作为单目运算符:Verilog 递减运算符(缩减运算符)(Reduction operators),以及$display系统函数 ModelSim 仿真4 “&”操作符-FPGA笔试精解“&”操作符有两种用途,既可以作为单目操作符,也可以作为二目操作符:当“&” 作为单目操作符时, 是“缩位与”“&”和“&&”在硬件中的区别Verilog中
2022-04-27 20:38:59
13057
1
原创 VHDL实现 4-16编码器
4_16译码器一、编程设计RTL文件(.vhdl):将使用if和case的两种方式分别用两个architecture,使用configration选择library ieee;use ieee.std_logic_1164.all;entity decoder4_16 is port( a,b,c,d:in std_logic; -- q:out integer range 0 to 15); q:out std_logic_vect
2022-04-27 14:26:30
6326
原创 anaconda 安装 TensorFlow 过程记录
从官网下载的3.9版本的anaconda ,要安装TensorFlow ,但是anaconda安装特别慢,所以寻找教程。(一些指令比较多)Anaconda环境下Tensorflow的安装与卸载参考教程用管理员身份运行anaconda prompt(Windows从开始栏找)在 Anaconda下解决国内安装tensorflow等下载慢和中断,出错,异常问题的一点思路最后一行出错,换为下面的:https://storage.googleapis.com/tensorflow/windows/c
2022-04-26 17:07:35
3504
原创 51单片机必须加while(1)——51单片机IO配合定时器timer0中断产生一定频率的PWM波
目录问题修改原因分析验证分析--不严谨未解决疑惑点:在利用51定时器定时中断方式使用IO口产生一个PWM波时,遇到了一些bug:问题这段代码main里没有while1,导致定时器中断产生的PMW并没有输出。见下图void main(){ uchar x = 66; Init_LCD1602(); //LCD1602初始化 Timer0Init(); L293D_IN2 = 0; L293D_EN = 1; // while(1)// {//// LCD1602_Dis_One
2022-04-17 16:50:16
2535
2
原创 ZYNQ7020系列——PLL学习
32个BUFG,上下各16个,划分为Clock Region,每个块的时钟就是BUFR。BUFG可以通过Clock Backbone到达任意一个Clock Region,以及通过HROW到达Clock Region内部的每个时钟单元,路径延时低。当使用逻辑资源多时,必须使用BUFG,少的时候可以用BUFR。BUFH只能通过HROW在左右相邻的时钟域工作。BUFMR可以工作在相邻的时钟区域。CC是时钟管脚。BANK34SRCC 只能作用于本时钟区域,MRCC能作用于相邻的时钟区域,引脚分为P
2022-04-14 23:13:28
2207
原创 SocKit系列文章
目录SocKit系列文章资料汇总名词SocKit系列文章开发环境搭建资料汇总官方资料汇总SoCKit资料汇总学习路线(虽然是DE1的 板子)其他平台资料第2期软件篇:【2】FPGA开发环境搭建2_ QuartusII安装和配置名词HDSHPS基本概念及其设计Linux BSP(linux)BSP(板上支持包)概述GHRDGolden Hardware Reference Design,黄金硬件参考设计。GHRD 是 Golden Hardwar
2022-04-12 15:57:59
338
原创 SocKit系列——流水灯工程
新建工程新建文件夹如下。建立完工程之后,新建.v文件,module flow_led( input sys_clk , //系统时钟 input sys_rst_n, //系统复位,低电平有效 output reg [3:0] led //4个LED灯 6 ); //reg define reg [23:0] counter; //*****************************************************
2022-04-12 15:57:28
213
原创 大创建模经验——SW尺寸不完全标注与过标注问题
问题今天经历了一个很大的问题,尺寸的不完全标注与过标注问题。这个130,我想把它中间那部分变短点,但是修改完之后的效果后面没了。。。。。。。问题分析问题就是后面的尺寸标注不够完善,以及部分尺寸标注过多。有的尺寸是需要随动的,问题出在下面这里:这个线全黑,说明已经是完全定义,之前是中线固定了 ,删掉固定,然后移动,将两个线选中,进行中点的重合,即可在之后随意更改了,所以就是位置关系需要考虑好,固定!总结1.善用左侧的栏图层来显示和屏蔽,以观察清除。2.要多尝试修改,一般就是尺寸的标
2022-04-08 23:22:28
2744
原创 数字电路设计中亚稳态与MTBF
FPGA的亚稳态跟MTBFFPGA设计中的亚稳态及其缓解措施注意,亚稳态不一定会引发故障,而MTBF指的是无故障时间,所以二者不能画等号,也就是为什么,亚稳态与器件的工作频率无关,而MTBF与clk成反比。...
2022-03-27 09:11:05
1210
原创 Modelsim中信号波形自动分组
如果所有信号叠加在一起,不知道归属于哪个模块,可以依次使用“ctrl + a” -> “ctrl + g” 快捷键来对归属于各个模块的信号进行快速分组。
2022-03-17 14:07:36
3529
原创 Verilog实现4位按键分别控制蜂鸣器发出不同音阶(未完成,请指导)
实验任务:使用板载4位独立按键,进行4位按键消抖检测,当没有按键按下时不响,按下则发出声响,分别为 DO RE MI FA。实验思路还是有两个part,一个part用来检测按键是否按下,输入key_in,输出key_out,为第几位。第二个part用来运行蜂鸣器,根据按键值case,未按下的,不响,按下就DO RE MI FA四个输出。4位按键消抖一位按键的消抖很简单,就是设置一个20ms的计数器,检测按键只要为高电平就清零,如果低电平计数,如果能计数到20ms并且按键为低电平,就保持同时在CN
2022-03-13 18:09:31
3389
2
原创 Verilog实现4位按键消抖,分别控制一个LED
Verilog实现4位按键消抖,分别控制一个LED代码思路(完整代码在后)完整代码参考:(主要是第一篇,第二篇不严谨)《按键消抖与LED控制》实验的个人思考与总结 Verilog实现的多个按键消抖(具体模块可用)代码思路(完整代码在后)之前的一篇博文中,FPGA触摸按键控制LED——拓展:按下之后LED闪烁,再次按下停止闪烁介绍了使用下降沿来判断按键按下并做出反应的方式,那么这次有4个按键,其实同样可以使用这种方法进行采样。但是,这种方法有一个缺点,如果采样的时候有抖动,就会发生误判,只能寄希
2022-03-13 16:42:03
3585
原创 Solid Works——大创建模经验
对于圆角的处理:圆角不要太早加,不然会因为圆角导致一些操作,比如阵列等,或者其他的一些对尺寸敏感的操作,无法实现。
2022-03-09 20:18:13
1508
原创 Verilog实现4位流水PWM呼吸灯
Verilog实现4位流水呼吸灯基本思路Verilog代码代码思路解析1.呼吸灯2.流水灯的切换——拼接符{}的思路debug3.流水灯的切换——led_ctrl的条件debugTestbench仿真图在完成呼吸灯的基础上,尝试流水呼吸灯。基本思路首先流水灯部分代码基本上可以继续用,基本思路还是两个并行的部分,PWM呼吸灯的效果使用led变量赋值,一直运行;而流水部分,通过一个流水灯代码不停地移位,选择亮的那位,将led的值利用拼接符拼接即可。关于流水灯部分的思路,是受了自己一年前用spartan6
2022-03-06 23:02:03
5318
2
转载 Verilog 状态机的编码方式
独热码首先独热码因为每个状态只有 1bit 是不同的,所以在执行到 55 行时的(state == TWO)这条语句时,综合器会识别出这是一个比较器,而因为只有 1 比特为 1,所以综合器会进行智能优化为(state[2] == 1’b1),这就相当于把之前 3 比特的比较器变为了 1 比特的比较器, 大大节省了组合逻辑资源,但是付出的代价就是状态变量的位宽需要的比较多,而我们 FPGA 中组合逻辑资源相对较少,所以比较宝贵,而寄存器资源较多,所以很完美。二进制编码情况和独热码刚好相反,他因为使用了较
2022-03-06 15:37:24
489
原创 FPAG——实现双向流水灯的两种方法(含有一个失败方法)
目录设置一个方向位testbench失败方法:灵活使用{}拼接符,大大简化编程设置一个方向位判断方向时可以直接使用led_reg的最低位和最高位。//方法1:设置标志位module water_led_double#( parameter CNT_MAX = 25'd24_999_999)( input wire sys_clk , input wire sys_rst_n , output wire [3:0] led_out
2022-03-05 21:40:47
2419
3
原创 Modelsim联和仿真时tb文件出错之后,修改完简便操作继续运行,无需重启
Quartus II 使用 modelsim 仿真联和仿真的时候,如果tb文件有错,比如这里少了个分号,那work 下面直接没有tb文件,我改完之后只能关掉modelsim重新联和仿真,这样就太慢了,有什么其他快捷方法吗?答:在transcript里面按键盘↑键选择运行指令(一般都能编译成功), 如果不能再退出modelsim再运行。(解释看文章最开始给出的连接引用文章)...
2022-03-05 20:33:51
1538
原创 FPGA触摸按键控制LED——拓展:按下之后LED闪烁,再次按下停止闪烁
实现触摸按键触摸后 led 灯闪烁,再次触摸时 led 灯停止闪烁。基本思路是:两个part并行嘛,一个part实现LED闪烁的部分,一直运行,另一个part检测按键按下的下降沿;由更高一级的touch_en控制LED这一级。注意touch_en只是一个脉冲信号,所以不能用作条件赋值语句的条件,而是需要重新设置一个touch_flag变量,作为电平信号,方可使用。代码如下,亲测可行,未写testbench。//实现触摸按键触摸后 led 灯闪烁,再次触摸时 led 灯停止闪烁。//基本思路是,
2022-03-05 17:32:49
2511
1
原创 平衡小车PID学习
离散式PID:位置环:入口参数:位置测量值,编码器的位置测量值系统的参数调定要求:目标: 准确性,稳定性,快速性。指标: 最大超调量,响应时间,静差。最大超调量->稳定性响应时间 ->快速性静差 ->准确性参数:P:提高响应速度。KP大会减小静差,提高速度。但是过大会振荡(引入微分)KP小且KI为0时会出现静差I:减小静差。响应速度更快。弊端是if有误差,随着时间推移会越来越大。D:抑制振荡防止超调,减少振荡次数。弊端:响
2022-03-05 16:36:53
3658
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人