HDLbits
留存学习Verilog的痕迹
bici_1
这个作者很懒,什么都没留下…
展开
-
HDLBits_ Finite State Machines部分(Q3a到Q3c)
【代码】HDLBits_ Finite State Machines部分(Q3a到Q3c)原创 2024-04-23 12:43:08 · 343 阅读 · 1 评论 -
HDLBits_Build a circuit from a simulation waveform部分
【代码】HDLBits_Build a circuit from a simulation waveform部分。原创 2024-04-26 15:42:03 · 322 阅读 · 0 评论 -
HDL_bits:Finite State Machines部分(Exams/ece241 2014 q5a和Exams/ece241 2014 q5b)
【代码】HDL_bits:Finite State Machines部分(Exams/ece241 2014 q5a和Exams/ece241 2014 q5b)原创 2024-04-17 11:59:05 · 173 阅读 · 1 评论 -
HDLbits_Finite State Machines 部分(Fsm serial到Fsm serialdp)
代码如下:吭哧吭哧找半天错误在哪里,发给npy看,ta说我的parameter为什么出现了WAIT =2'd4,然后我改成了3'd4,运行结果就对了。还不能直接在脑子里画时序,把各个变量的时序图写写画画一下,留着后面好看,感觉写完这个题才对时序有那么一点点入门的感觉了,开心。代码如下:相比于上一题,这一题只是加了一个移位操作以及数据输出。原创 2024-04-22 16:18:14 · 530 阅读 · 0 评论 -
HDLBits_Finding bugs in code部分
这个组合电路应该能识别键盘 0 至 9 键的 8 位扫描码。它应显示 10 种情况中是否有一种被识别(有效),如果是,则显示检测到的是哪个键。使用提供的二对一多路复用器完成这个 4 对 1 多路复用器。这个 8 位宽 2 对 1 多路复用器不起作用。使用题中提供的模块完成三输入 NAND 逻辑门。比较简单,没什么好说的。原创 2024-04-26 11:40:10 · 220 阅读 · 0 评论 -
HDLBits_ Finite State Machines部分(最后四题)
【代码】HDLBits_ Finite State Machines部分(最后四题)原创 2024-04-24 16:22:24 · 120 阅读 · 0 评论 -
HDLBits_Finite State Machines(Fsm hdlc与Exams/ece241 2013 q8)
【代码】HDLBits_Finite State Machines(Fsm hdlc与Exams/ece241 2013 q8)原创 2024-04-22 21:43:55 · 239 阅读 · 0 评论 -
HDLBits_ Finite State Machines部分(Q6b到Q6)
代码如下:(代码是参考其他人的,不是很懂这题是在干什么)原创 2024-04-23 20:04:33 · 156 阅读 · 1 评论 -
HDLbits_Shift Register部分(代码都是能运行出来的但不一定是最简单的,谨慎参考)
建立一个 4 位移位寄存器(右移),具有异步复位、同步加载和使能功能。areset:将移位寄存器复位为零。load: 用数据[3:0]加载移位寄存器,而不是移位。ena: 右移(q[3] 变为 0,q[0] 被移出并消失)。q: 移位寄存器的内容。如果加载输入和 ena 输入都被置信(1),则加载输入的优先级更高。原创 2024-03-20 15:58:57 · 404 阅读 · 0 评论 -
HDLbits_Finite State Machines第一部分
与上一题不同的是,这一题使用同步复位。原创 2024-04-08 10:44:49 · 199 阅读 · 0 评论 -
HDLBits_Verification: Writing Testbenches部分
【代码】HDLBits_Verification: Writing Testbenches部分。原创 2024-05-09 20:55:00 · 189 阅读 · 1 评论 -
HDLBits_CS450部分
题目大概意思是,load信号作用时就加载外部信号然后开始倒数,一直到0,期间如果又有load信号了,则重新加载数据重新倒数,当倒数到0的时候,拉高tc信号直到下一个倒数信号进来。剩下两个 ,第一个上次写到这里了但是不知道为啥没有保存上。= 1时,计数器递增(最大为 3);= 0时,计数器递减(最小为 0)。最后一个不太想写了 好长的题目。= 0时,保持不变。下次想起来有耐心了再写。原创 2024-06-02 09:10:49 · 278 阅读 · 0 评论 -
HDL_bits Finite State Machines 部分(Lemmings1到Fsm ps2data)
写完忘记记录,直接点到下一题,再点回来代码就没有了,懒得再写一遍了。原创 2024-04-16 00:27:12 · 293 阅读 · 0 评论 -
HDLbits_Countbcd
问题出在对于时序逻辑掌握不到位,以个位代码的编写为例,else if语句中,当个位数等于9即q[3:0] == 4'd9时,ena[1]没有立刻被赋值为1,这是因为时序逻辑,需要等待下一个时钟上升沿到来,ena[1] 的值才会被更新。再下一个时钟上升沿时,十位数才会进行加1操作,此时个位数为1,ena[1]为0;修改后的代码中,仍然以个位为例,当个位数q[3:0]计数到9时,ena[1]同步被赋值为1,故下一个时钟沿到来时,个位数被置为0,十位数进行加一操作,同时ena[1]又重新更新为0。原创 2024-03-20 13:53:06 · 187 阅读 · 0 评论 -
HDLBits_More Circuits
题目要求:一串数据每一位的下一个状态是其左右两位的异或,数据左端点左侧与右端点右侧的状态假设为0,load信号是同步加载数据信号。原创 2024-04-22 16:21:06 · 200 阅读 · 0 评论 -
HDLbits_Dualedge
基本思想:always @(posedge clk or negedge clk)语句是不可编译的,但是题中之意又要同时捕获信号在时钟上升沿和下降沿的状态,故可以考虑分别取出时钟上升沿信号的值pos和时钟下降沿信号的值neg,后面再考虑如何操作来达到题中要求。题目要求:大家都熟悉在时钟正边或负边触发的触发器。双沿触发触发器在时钟的两个边沿都触发,构建一个在功能上类似于双沿触发触发器的电路。原创 2024-03-19 22:01:58 · 155 阅读 · 0 评论 -
HDLbits_Edgecapture
/符号|之前的语句意在捕捉输入信号的下降沿,或上out,即,若输出信号位已为1,则仍保持为1不变。原题目大意为,捕捉输入信号的下降沿并另输出信号对应位为1,在reset信号出现之前,输出信号为1的位值不变。原创 2024-03-19 16:31:02 · 192 阅读 · 0 评论