- 博客(14)
- 收藏
- 关注
原创 FPGA拾忆_(11):按键控制呼吸灯_按键消抖_递进计时条件错误
对比之前我写的消抖逻辑,这次我减少了一些不必要变量,比如pose_flag,nege_flag(直接用edge_flag代替即可,不必判断是上升还是下降沿),优化了key_filter的输出逻辑(稳定后可以直接用key赋值给key_filter),具体对比可看代码。
2024-04-07 09:59:49
758
原创 数字IC学习路线总结
这个时候,你已经会使用FPGA了,但是还有很多事情做不了(比如,FIR滤波器、PID算法、OFDM等),因为理论没学好。大概地分几个方向供大家参考,后面跟的是要掌握的理论课。,参考书籍《CMOS VLSI Design A Circuits and Systems Perspective》、nMos/pMos、反相器输入输出响应、“0/1”定义,延时的定义,影响电路延时的因素(PVT)Cshell、Perl、Python学习资料挺多,不难找。--CMOS晶体管原理:半导体材料及。原理:基本组合逻辑单元、
2024-04-05 09:59:12
491
1
原创 解决用VScode写中文注释,Vivado打开之后是乱码的方法
这样就解决了中文注释乱码的问题,此外如果使用notepad++写verilog代码的话直接在notepad++上面将编码格式改为ANSI格式即可,更加方便快捷,所以此方法仅针对习惯用VScode写Verilog的同学,如果有其他好办法的话欢迎评论区补充。首先,VScode中的中文默认编码格式是UTF-8,然后Vivado的编码格式是vivado 默认的应该是ANSI编码格式,刚开始我先按照网上说明的,将VScode中的编码格式改为GBK格式(点击右下角->点击通过编码保存)。
2024-03-29 18:06:38
1533
2
原创 FPGA拾忆_(7):正点原子达芬奇pro板载资源与开发流程
在 FPGA 开发的过程中会产生很多不同功能的文件,为了方便随时查找到对应文件,所以在开始开发设计之前,第一个需要考虑的问题是工程内部各种文件的管理。1)开发过程中使用的辅助文档文件,比如一些器件的时序说明文件,绘图软件绘制的波形图文件等,该类文件存放的文件夹我们命名为 doc;4)仿真工程与仿真文件,(比如用modelsim仿真时产生的各种文件)该类文件存放的文件夹我们命名为 sim;3)开发过程中的 RTL 代码文件(各种模块代码),该类文件存放的文件夹我们命名为 rtl;
2024-03-23 21:52:59
421
2
原创 FPGA拾忆_(6):使用参数化设计实现模块的重用
parameter语句可用于设计文件和仿真文件中的参数不一致情况,比如为了减少仿真时间,需要将一些参数比如计数器计数值设置小一点,而实际的设计文件的目标计数值较大,此时可以通过parameter语句(放在设计文件)和defparam语句(放在仿真文件中的例化语句之后)来重定义参数;此外parameter也可以用于需要多次修改某个贯穿全代码的常量时,使用parameter定义常量可以方面快捷的进行修改,还可以通过设定有意义的名字来增加可读性。代码2:四个不同频率闪烁的led代码(调用四次实现)
2024-02-20 19:50:20
447
1
原创 FPGA拾忆_(5):通过计数器实现小灯闪烁_流水灯
如设置小灯闪烁时间为500ms(亮500ms,灭500ms),即周期为1s(但是周期无所谓,只看他需要多长时间翻转一次即可),而晶振频率为50MHz,时间为20ns,说明时钟周期为20ns,(如果占空比为50%,则clock信号每10ns翻转一次),目标每500ms翻转一次(即500ms来一次触发翻转的信号),则目标计数值为500ms/20ns=25000000。事实上只需要得到小灯周期的一半即可,因为小灯的周期是由亮的一半时间加上灭的一半时间得到的。(1):每计数500ms,Led
2024-02-20 00:49:07
368
1
原创 FPGA拾忆_(4):新手使用Vivado软件开发FPGA常见问题_窗口属性说明_操作说明
第一种 错误说明管脚电平未指定(通常为3.3V),第二种错误说明管脚未与芯片IO口绑定。
2024-02-19 20:08:35
448
1
原创 FPGA拾忆_(3):调用IP 计数器&BCD计数器
999之后再来cin信号,计数值错误,两个时钟之后,才恢复正常值,这是因为999+1=000,但是个位向十位传递进位时,需要一个周期,十位向百位传递进位时,也需要一个周期,所以出问题了,把cout的输出逻辑改为assign语句(即迅速传递进位信息),可以解决。通过搜索counter来添加计数器模块,需要设置的内容有:bit位(几位输出寄存器)、计数值、 加一or减一、使能方式(clock enable ,count enable)、计数方式(时钟 or carry in)、清零,置数,预载等功能。
2023-11-30 11:01:17
1194
1
原创 ZYNQ开发板相关知识----待补充
zynq是一个电路板,又有处理器(mcu)又有FPGA,分别对应PS端和PL端,可以直接在PS端写,像写stm32差不多。也可以直接在PL上写,就是平时写的FPGA。
2023-11-26 15:17:59
573
1
原创 FPGA拾忆_(2):多路选择器&仿真指导&3_8译码器
进行仿真前,如果是想在quartus中直接启动modelsim的功能仿真和时序仿真,则需要将工程的testbench仿真程序放入路径中,设置步骤:assignments-settings-EDA tools settings-simulation-设置工具名字以及testbench文件的路径,如果testbench是与工程文件夹放在一起的话,则每一次仿真时都需要选择路径,找到要仿真的testbench文件。与综合代码中的端口类型定义是不一致的,甚至可能是相反的。激励信号是reg类型!检测信号是wire型!
2023-11-26 15:15:45
491
1
原创 FPGA拾忆_(1):FPGA设计总流程
FPGA设计流程如下图所示: 设计定义:确定要实现的功能,如用按键来控制LED灯的亮灭,本质是设计一个 多路选择器(由一个按键控制两路信号),即 将功能抽象成基本电路的组合设计。 设计输入:确定输入信号与输出信号,使用硬件描述语音来描述功能。 分析和综合:综合是将抽象的RTL语言转变成具体的电路的过程,编译(Compile)与纠错过程。 功能仿真:RTL级别仿真,通过quartus II软件可以直接调用modelsim-altera进行,初下载的配置操作:(1)quartus-tool
2023-11-26 10:29:39
469
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人