Verilog HDL
文章平均质量分 96
圣代奶油冰淇淋
FPGA 入门学习的小白
展开
-
【hdlbits】个人学习交流分享(带答案)——Reading Simulations和Writing Testbenches部分
out是8'b10001000,~out就是8'b01110111,if的()内进行的是布尔值的判断,这里~out的布尔值为true(逻辑1),所以会执行“result_is_zero = 1;虽然在很多情况下“逻辑与或非”和‘‘按位与或非’’都仿真综合得到正确的结果,但是这并不适用于所有情况,两者并不完全等价,所以要能够区分“逻辑与或非”和‘‘按位与或非’’当clock下降沿时候,q的数值同q,注意的是,下降沿出现的clk内,q数值就和变到p相同了,这里没有一个clk的时延,所以赋值要用阻塞赋值。原创 2024-09-03 09:02:18 · 862 阅读 · 0 评论 -
【hdlbits】个人学习交流分享(带答案)——finite state machines(FSM)
有限状态机部分难度比较大,在这一部分我花了比其他另外四个部分都多的时间,几乎占了我刷整个hdlbits一半的时间,死了很多脑细胞,写的我头昏脑胀。一个是很多有些题目作者的表达并不好,项目要求描述的并不清楚,最准确的还是时序图,时序图是不会说谎的。另外一个就是这一部分对初学者难度确实更大,先要弄懂作者题目的需求,然后根据需求要做出正确的状态机设计和输出逻辑的设计,这部分代码长一些,状态机部分也是整个hdlbits的精华内容,所以这部分除了代码,我写的分析的内容也会多一些。原创 2024-08-31 15:54:56 · 1221 阅读 · 0 评论 -
【hdlbits】个人学习交流分享(带答案)——sequential logic部分
捕获”意味着输出将保持 1,直到寄存器复位(同步复位,复位为0),复位reset为上升沿有效,如果上述两个事件同时发生,则复位reset具有最高优先权。第二种方法:要进行左右邻居的异或,将左邻居q[512:0]右移一位移到q[511:0]位置,将右邻居左移一位移到q[511:0]位置,这样将两组512位向量的所有位对齐了,然后对应位异或。因为逻辑移位是补0,所以也满足q[512]和q[-1]是0。每个十进制数字都使用 4 位进行编码:q[3:0] 是 1 位,q[7:4] 是十位,等等。原创 2024-08-27 15:32:31 · 1062 阅读 · 0 评论 -
【hdlbits】个人学习交流分享(带答案)——combinational logic部分
SEL=0 应选择 [3:0] 中的位,SEL=1 选择 [7:4] 中的位,SEL=2 选择 [11:8] 中的位,依此类推。设计电路时,我们还可以“倒着”思考问题,从输出开始,向前寻找满足条件的输入,当得到这种输出时候,对应可以有那些情况的输入条件,就是“输出→输入”的思考逻辑。ab=10输出mux_in[2],就是卡诺图第四列,输出什么取决于d,d是1时候输出是0,d是0时候输出是1;这种卡诺图,ab和cd是按照格雷码写的,里面的0和1全都不相邻,就是经典的各个元素异或,这是数电的知识。原创 2024-08-20 11:56:43 · 1196 阅读 · 0 评论 -
【hdlbits】个人学习交流分享(带答案)——verilog language部分
hdlbits是verilog的一个练习网站,该网站提供综合和仿真,作为一个verilog HDL的初学者,我将在此记录我的学习状况和刷hdlbits的答案和感想和大家交流。原创 2024-08-16 11:29:00 · 1269 阅读 · 3 评论