- 博客(8)
- 资源 (1)
- 收藏
- 关注
原创 VL23 ROM的简单实现
2.设置reg变量out,当初是为了解决data为wire型无法在always块里被赋值,但是现在是:现将rom[addr]赋值给out,out再赋值给data,为何不去掉中间商呢?1.rom的赋值冗余,分析其目的就是想把rom的值保持为{0,2,4,6,8,10,12,14},可以考虑使用initial。总容量 = 深度 × 宽度 = 1024 × 8 = 8192 位 = 1 KB。“1K” 表示深度 = 1024(即有 1024 个地址);“×8” 表示宽度 = 8 位(每个地址输出 8 位数据);
2025-12-11 15:01:04
93
原创 VL22 根据状态转移图实现时序电路
3.清晰的两段式结构,一个always块计算new_state,另一个always块完成state的变化。1.new_state 的计算是组合逻辑,要用 =。2.在s2状态时候,Y和C有关系。去掉D1,D0更简洁。
2025-12-11 14:34:18
628
原创 【verilog】 VL2 异步复位的串联T触发器
块结束时”指的是 当前过程块(always 或 initial 块)中所有语句的执行逻辑完成之后,具体来说是非阻塞赋值(<=)的赋值动作被调度到仿真时间步的末尾才真正执行。计算 c <= a 的右边值(注意:这里用的是 a 的当前值,不是刚要被赋的新值)。2.立即更新:赋值右边计算后,左边变量立刻被更新,后续语句看到的是新值。1.并行调度:所有非阻塞赋值的右边先计算,等到块结束时再同时更新左边。2.延迟更新:在当前 always 块内,读取的仍是旧值。计算 a <= b 的右边值(即 b 的当前值)。
2025-12-10 20:52:42
397
原创 【verilog】VL5 位拆分与运算
本文比较了两种Verilog实现16位数据拆分运算的写法。第一种写法在组合逻辑中存储输入数据会产生锁存器(latch),而第二种写法使用时序逻辑(时钟触发)存储数据更合理。关键区别在于:1)组合逻辑中变量未在所有分支赋值会产生latch;2)存储数据应使用时序逻辑;3)输出波形显示sel和out同步变化,适合用组合逻辑。文中还分析了正确的数据采样方式,指出组合逻辑中不能使用非阻塞赋值(<=),并解释了时钟上升沿采样的时序关系。
2025-12-09 17:11:57
226
原创 VL3 奇偶校验
本文介绍了奇偶校验的基本原理及其在数字电路中的应用。奇偶校验通过计算数据中"1"的个数来判断奇偶性,并添加校验位。偶校验使总"1"数为偶数,奇校验使总"1"数为奇数。文章通过Verilog代码示例展示了具体实现方法,当sel=1时为偶校验(check=^bus),sel=0时为奇校验(check=~^bus)。该模块接收32位总线数据和控制信号,输出相应的校验位,可用于数据传输中的错误检测。
2025-12-09 17:09:18
331
表格拆分工具,按照表格中某列的值,拆分表格
2025-12-11
java Swing gui 信息管理系统
2020-10-31
中序线索二叉树报异常
2024-04-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅