![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HDLBits
GitHDL
这个作者很懒,什么都没留下…
展开
-
HDLBits刷题合集—23 Verication: Writing Testbenches
HDLBits刷题合集—23 Verication: Writing TestbenchesHDLBits-176 Tb/clockProblem Statement为你提供了带有以下声明的模块:module dut ( input clk ) ;编写一个测试台,创建一个模块dut的实例(具有任何实例名称),并创建一个时钟信号来驱动模块的clk输入。 时钟周期为10 ps。 时钟应初始化为零,且其第一次转换为0到1。代码如下:module top_module ( );reg clk;翻译 2020-08-07 19:33:16 · 1761 阅读 · 0 评论 -
HDLBits刷题合集—22 Build a circuit from a simulation waveform
HDLBits刷题合集—22 Build a circuit from a simulation waveformHDLBits-166 Sim/circuit1Problem Statement这是一个组合电路。 阅读仿真波形以确定电路的功能,然后实现它。代码如下:module top_module ( input a, input b, output q ); assign q = a & b; endmoduleHDLBits-167 Si翻译 2020-08-07 19:33:02 · 1625 阅读 · 0 评论 -
HDLBits刷题合集—21 Finding bugs in code
HDLBits刷题合集—21 Finding bugs in codeHDLBits-160 Bugs mux2代码如下:module top_module ( input sel, input [7:0] a, input [7:0] b, output [7:0] out ); assign out = sel ? a : b;endmoduleHDLBits-161 Bugs nand3代码如下:module top_module ( i翻译 2020-08-07 19:32:45 · 929 阅读 · 1 评论 -
HDLBits刷题合集—20 Building Larger Circuits
HDLBits刷题合集—20 Building Larger CircuitsHDLBits-153 Exams/review2015 count1kProblem Statement建立一个计数器,其计数范围为0到999(含0和999),周期为1000。 复位输入是同步的,应将计数器复位到0。代码如下:module top_module( input clk, input reset, output [9:0] q); always @(posedge clk) be翻译 2020-08-07 19:31:59 · 942 阅读 · 0 评论 -
HDLBits刷题合集—19 Finite State Machines-5
HDLBits刷题合集—19 Finite State Machines-5HDLBits-146 Exams/m2014 q6bProblem Statement考虑下面显示的状态机,它有一个输入w和一个输出z。假设你希望使用三个触发器和状态码y [3:1] = 000、001,…,101分别用于状态A,B,…,F来实现FSM。 显示此FSM的状态分配表。 推导触发器y[2]的次态表达式。仅实现y[2]的下一状态逻辑。状态转换表如下所示:代码如下:module top_module (翻译 2020-08-01 21:09:29 · 1048 阅读 · 2 评论 -
HDLBits刷题合集—18 Finite State Machines-4
HDLBits刷题合集—18 Finite State Machines-4HDLBits-140 Exams/ece241 2013 q8Problem Statement实现一个Mealy型有限状态机,该状态机可以识别“101”序列,其输入信号命名为x。当检测到“101”序列时,状态机的输出信号将置为逻辑1。该状态机执行低电平有效的异步复位。它可能只有3个状态,而且可以识别重叠的序列。状态转换图如下:代码如下:module top_module ( input clk, i翻译 2020-08-01 10:49:28 · 648 阅读 · 0 评论 -
HDLBits刷题合集—17 Finite State Machines-3
HDLBits刷题合集—17 Finite State Machines-3HDLBits-133 Fsm onehotProblem Statement给定以下具有1个输入和2个输出的状态机:假设此状态机使用独热编码,其中state[0]至state[9]分别对应于状态S0至S9。 除非另有说明,否则输出为零。实现状态机的状态转换逻辑和输出逻辑部分(但不实现状态触发器)。 你将给定state[9:0]中的当前状态,并且必须产生next_state [9:0]和两个输出。通过假设独热编码,通过检验翻译 2020-07-26 18:57:05 · 1002 阅读 · 1 评论 -
HDLBits刷题合集—16 Finite State Machines-2 Lemmings
HDLBits刷题合集—15 Finite State Machines-2 LemmingsHDLBits-129 Lemmings1Problem StatementLemmings游戏涉及具有简单大脑的生物。 如此简单以至于我们将使用有限状态机对其进行建模。在Lemmings的2D世界中,Lemmings可以处于以下两种状态之一:向左行走或向右行走。 如果碰到障碍物,它将切换方向。 特别是,如果Lemmings在左侧发生碰撞,它将向右行走。 如果它撞到右边,它将向左走。 如果同时在两侧碰撞,它翻译 2020-06-26 21:02:13 · 736 阅读 · 2 评论 -
HDLBits刷题合集—14 More Circuits
HDLBits刷题合集—14 More CircuitsHDLBits-115 Rule90Problem StatementRule90是一个具有有趣性质的一维元胞自动机。规则很简单。有一个一维的元胞阵列(开或关)。在每个时间步中,每个单元的下一个状态是单元的两个当前相邻单元的异或。更详细的表达这个规则的方法是下表,其中一个单元格的下一个状态是它自己和它的两个邻居的函数:LeftCenterRightCenter’s next state11101101翻译 2020-06-25 14:57:48 · 1238 阅读 · 0 评论 -
HDLBits刷题合集—13 Shift Registers
HDLBits刷题合集—13 Shift RegistersHDLBits-106 Shift4Problem Statement构建一个4位移位寄存器(右移位),具有异步置位、同步置数和使能。areset:将移位寄存器置零。load:用data[3:0]载入移位寄存器而不是移位。ena:向右移位(q[3]变为零,q[0]被移出去,消失)。q:移位寄存器的输出。如果load和ena同时输入为1,则load具有更高的优先级。代码如下:module top_module( input翻译 2020-06-07 14:48:55 · 2064 阅读 · 0 评论 -
HDLBits刷题合集—8 Multiplexers
HDLBits刷题合集—8 MultiplexersHDLBits-61 Mux2to1Problem Statement创建一个1位宽的2选1数据选择器。当sel=0时,选择a;当sel=1时,选择b。代码如下:module top_module( input a, b, sel, output out ); assign out = sel ? b : a; //assign out = (sel & b) | (~sel & a);endm翻译 2020-05-28 09:11:39 · 1368 阅读 · 0 评论 -
HDLBits刷题合集—1 入门篇
HDLBits刷题HDLBits-1 Step one欢迎来到HDLBits !刚开始接触数字逻辑设计时,你可能会感到不知所措,因为你需要同时学习新的概念、新的硬件描述语言(例如Verilog)、几个新的软件包,通常还有一个FPGA板。HDLBits提供了一种方法来练习设计和调试简单的电路,只需单击“Simulate”即可。设计一个电路需要几个步骤:编写HDL (Verilog)代码,编译代码生成电路,然后模拟电路并修复bug。Writing Code编写代码的最简单方法是在下面的“代码编辑器”翻译 2020-05-17 12:02:27 · 3932 阅读 · 0 评论