- 博客(17)
- 资源 (10)
- 收藏
- 关注
原创 Testbench的撰写,导致的数据与时钟异步问题研究
Testbench是测试平台,如下图所示。这个平台的作用就是产生测试激励给待测的设计DUV(Design Under Verification)。灌激励的时候可以写入预期值,检查被灌激励后的DUV的输出是否与预期值一致,从而实现验证RTL设计功能的目的。
2025-03-18 21:57:41
943
原创 Verilog企业真题-01哲K
题解中没有考虑一种情况:若clkb远大于clka,b产生的ack信号只有一个时钟周期,则可能出现a时钟域采集不到ack脉冲信号的情况。分享一个考虑此情况的思路:ack在检测到req的上升沿时取反,不再是单周期的脉冲信号,在clka时钟域对同步后的ack信号进行双边沿检测。用一个数据存储序列,不断移位,然后一直发送某一位。
2025-02-18 23:19:31
254
原创 Verilog快速入门-02组合逻辑
GS为有按键按下,即有0出现,所以对所有位与,然后取反。先写出==,>,<的逻辑,再替换门电路。A==B转换为门电路:~(A^B)A>B转换为门电路:(A^B)&A。A<B转换为门电路:(A^B)&B。慎用casez和casex。
2025-02-17 22:58:32
262
原创 Verilog快速入门-01基础语法
函数定义隐含声明了一个与函数同名的函数内部变量。函数定义通过将函数结果赋值给与函数同名的内部变量,来初始化函数的返回值。换句话说,在函数内部有一个隐含的变量,它的名称是函数的名称,可以在函数内部的表达式中使用。因此,在函数作用域内声明另一个与函数同名的对象是非法的。与D触发器不同,T触发器:当T = 0时,保持,T = 1时,翻转,这里的T就是图中触发器的输入;testbench设想的是子模块使用时序逻辑,然后例化三个比较器,所以结果相对于输入是延两拍;奇检测:输入的数据里有奇数个1就输出1;
2025-02-13 10:19:47
844
原创 FPGA行业技术点和学习路线
通过扎实的理论与实践结合,全面掌握 ZYNQ 开发中的硬件、软件、架构设计方法,为进入工业、通信或汽车行业的研发工作打下坚实基础。《金刚经》第五品:凡所有相,皆是虚妄。若见诸相非相,则见如来。第十品:应无所住,而生其心。
2024-12-26 10:19:38
551
原创 使用Vivado设计基于ARM Cortex-M3 DesignStart IP核的SoC
Vivado版本:2020.2Keil MDK版本:μVision V5.41.0.0。
2024-12-02 20:52:06
548
原创 关于Vivado-IP INTEGRATOR-Block Design(BD)中BRAM基地址编辑和大小修改。
工程需要多个BRAM使得PL与PS通信,在BD中添加了多个Block Memory Generator及对应连接的AXI BRAM Controller。当在Address Editor中修改某个BRAM的大小(Range)时,可能会出现下面两个错误。图1错误1图2错误2。
2024-07-10 16:41:52
939
原创 《Verilog数字系统设计教程》第2章 Verilog语法的基本概念
Verilog HDL语言作为一种结构化的语言非常适用于门级和开关级的模型设。Verilog HDL 的构造性语句可以精确地建立信号的模型;提供了用于建立表达式的算术运算符,逻辑运算符,位运算符;用延迟表达式或事件表达式来明确地控制过程的启动时间;通过命名的事件来触发其他过程里的激活行为或停止行为;提供了一套完整的表示组合逻辑的基本元件的原语;建立 MOS器件的电荷分享和电荷衰减动态模型;提供了可带参数且非零延续时间的任务程序结构;提供了可定义新的操作符的函数结构;提供了双向通路和电阻器件的原语;
2024-05-16 09:09:17
1602
原创 《Verilog数字系统设计教程》第1章 Verilog的基本知识
优点是:与工艺无关性,这使得工程师在功能设计,逻辑验证阶段,可以不必过多考虑门级及工艺实现的具体细节,只需要利用系统设计时对吧片的票求施加不同的约束条件,即可设计出实际电路。采用自项向下的设计方法:从系统级开始把系统划分为基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接用EDA 元件库中的基本元件来实现为止。这使得工程师在功能设计,逻辑验证阶段,可以不必过多考虑门级及工艺实现的具体细节,只需要利用系统设计时对芯片的要求,施加不同的约束条件,即可设计出实际电路。
2024-05-04 12:40:55
668
1
原创 《Verilog数字系统设计教程》绪论
通用微处理器芯片是为一般目的而设计的,运算的步骤必须通过程序编译后生成的机器码指令加载到存储器中,然后在微处理器芯片控制下,按时钟的节拍,逐条取出指令分析指令和执行指令,直到程序的结束。微处理器芯片中的内部总线和运算部件也是为通用目的而设计,即使是专为信号处理而设计的通用微处理器,因为它的通用性也不可能为某一特殊的算法来设计一系列的专用的运算电路而且其内部总线的宽度也不能随便的改变,只有通过改变程序,才能实现这个特殊的算法,因而其算法速度也受到限制所以要设计专用的信号处理电路。什么是信号处理电路?
2024-04-14 17:32:15
440
1
原创 Anaconda安装后添加右键点击.py文件后“Edit with IDLE”方法
Anaconda下载后右键点击.py并没有"Edit with IDLE"选项,网上大部分都是注册表手动添加,我总结了这个一键添加的方法。1.桌面新建IDLE.reg(名字无所谓)2.文本方式打开,复制下面的代码,并把路径改成自己的anaconda安装路径Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\SystemFileAssociations\.py\shell\EditwithIDLE]@="&Edit with ID
2021-01-31 18:46:27
542
原创 2020-10-28
遇到的问题新建工程文件编译出错,尝试了各种办法,因为原理上是没有问题的。看了两种芯片的说明。最后发现是由于Keil的编译器与CMSIS文件的匹配问题。解决办法这个bug我问了很多人,但是他们要不然就是说我添加HAL库文件添加少了,要不然就是说我Keil安装的问题。但是我都不相信,然后我觉得还是自己对HAL的文件结构不太清楚。我对照例程里,和自己新建的文件一点一点看。发现两个工程中的HAL库有些头文件有的宏定义的执行不一样。我又看了两个工程编译时的第一行*** Using Compiler ‘V5
2020-10-28 02:05:17
768
使用Vivado设计基于ARM Cortex-M3 DesignStart IP核的SoC及驱动验证程序
2024-12-02
vscode添加右键打开文件夹、文件
2022-02-12
KEIL黑色主题、VS风格文件global.prop
2021-02-24
Anaconda安装后添加右键点击.py文件后“Edit with IDLE”的IDLE.reg文件
2021-01-31
STM32信号发生器PCB和代码
2021-01-09
GL9例程源代码.rar
2020-04-07
C语言图形化编程工具.zip
2020-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人