HDLBits练习汇总
文章平均质量分 86
HDLBits练习汇总
Vuko-wxh
道阻且长 行则将至。
展开
-
HDLBits练习汇总-14-时序逻辑设计测试--状态机(二)
一个大水库的水为几个用户服务。为了保持足够高的水位,三个传感器以5英寸的间隔垂直放置。当水位高于最高传感器S3时,输入流量应为零。当液位低于最低传感器(Si)时,流量应处于最大(公称流量阀和补充流量阀均打开)。当水位在上下两个传感器之间时,流量由两个因素决定:水位和上次传感器变化前的水位。每个水位都有一个与之相关的名义流量,如下表所示。如果传感器的变化表明以前的水平低于当前水平,则应该发生名义流量。如果之前的水平高于当前水平,应通过打开补充流量阀(由AFR控制)来增加流量。画出水库控制器的摩尔模型状态图。原创 2023-01-01 15:28:46 · 1703 阅读 · 0 评论 -
HDLBits练习汇总-13-时序逻辑设计测试--状态机(一)
是一个摩尔状态机,具有两种状态,一种输入,一种输出。实现此状态机。请注意,重置状态为 B。使用异步复位。原创 2022-12-30 15:20:17 · 1330 阅读 · 2 评论 -
HDLBits练习汇总-12-时序逻辑设计测试--更多电路
Rule_90是一个具有有趣属性的一维元胞自动机。规则很简单。有一个一维单元格数组(开或关)。在每个时间步长,每个像元的下一个状态是像元的。在此电路中,创建一个 512 cell 系统 (q[511:0]),每个时钟周期按一个时间步长前进。负载输入指示系统的状态应加载数据[511:0]。假设边界(q[-1]和q[512])均为零(关闭)。原创 2022-12-14 13:24:09 · 930 阅读 · 0 评论 -
HDLBits练习汇总-11-时序逻辑设计测试--计数器
4 位二进制计数器构建一个 4 位二进制计数器,从 0 到 15(含)计数,周期为 16。复位输入是同步的,应将计数器复位为 0。Module Declarationmodule top_module ( input clk, input reset, // Synchronous active-high reset output [3:0] q);答案:module top_module ( input clk, input reset,原创 2021-09-29 17:26:54 · 1089 阅读 · 0 评论 -
HDLBits练习汇总-10-时序逻辑设计测试--锁存器和触发器
D触发器创建单个 D 触发器。D触发器是一种存储位并在时钟信号(通常)正沿处定期更新的电路。D 触发器在使用时钟始终块时由逻辑合成器创建。AD触发器是“组合逻辑块后跟触发器”的最简单形式,其中组合逻辑部分只是一条线。Module Declarationmodule top_module ( input clk, // Clocks are used in sequential circuits input d, output reg q );答案:module原创 2021-08-23 13:47:53 · 976 阅读 · 0 评论 -
HDLBits练习汇总-09-组合逻辑设计测试--卡诺图
3变量卡诺图实现下面卡诺图所描述的电路。Module Declarationmodule top_module( input a, input b, input c, output out ); 答案:module top_module( input a, input b, input c, output out ); assign out = ((!a & !b & !c )==1)? 0 : 1;原创 2021-08-18 13:23:51 · 1163 阅读 · 0 评论 -
HDLBits练习汇总-08-组合逻辑设计测试--加法器电路
半加器创建一个半加器。半加器将两位相加(没有进位)并产生一个两数之和和一个进位。Module Declarationmodule top_module( input a, b, output cout, sum );答案:module top_module( input a, b, output cout, sum ); assign {cout, sum}=a+b;endmodule全加器创建一个全加器。全加器将三位(包括进位)相加产生一个两原创 2021-08-18 12:40:22 · 533 阅读 · 0 评论 -
HDLBits练习汇总-07-组合逻辑设计测试--选择器电路
2选1数据选择器创建一个 1 位宽的 2 对 1 多路复用器。当sel=0时,选择a。当 sel=1 时,选择 b。Module Declarationmodule top_module( input a, b, sel, output out ); 答案:module top_module( input a, b, sel, output out ); assign out = (sel==0)?a:b;endmodule2选1数据选择器(向原创 2021-08-18 12:40:04 · 529 阅读 · 0 评论 -
HDLBits练习汇总-06-组合逻辑设计测试--基础门设计
wire实现下面的电路:Module Declarationmodule top_module ( input in, output out );答案module top_module ( input in, output out); assign out =in;endmoduleGND实现下面的电路:Module Declarationmodule top_module ( output out);答案module to原创 2021-08-10 13:55:25 · 780 阅读 · 0 评论 -
HDLBits练习汇总-05-Verilog语言--拓展部分
三目运算符Verilog 有一个三元条件运算符 ( ? : ) 很像 C:(condition ? if_true : if_false)这可用于根据一行上的条件(多路复用器)选择两个值之一,而无需在组合 always 块中使用 if-then。Examples:(0 ? 3 : 5) // This is 5 because the condition is false.(sel ? b : a) // A 2-to-1 multiplexer between a and b se原创 2021-08-04 14:27:26 · 946 阅读 · 0 评论 -
HDLBits练习汇总-04-Verilog语言--程序部分
always块(组合)由于数字电路是由用导线连接的逻辑门组成的,因此任何电路都可以表示为模块和赋值语句的某种组合。然而,有时这并不是描述电路的最方便的方式。过程(其中总是块是一个示例)提供了一种用于描述电路的替代语法。对于综合硬件,有两种类型的 always 块是相关的:组合:always @( * )时序逻辑:always @(posedge clk)组合always块等效于assign语句,因此总有一种方法可以双向表达组合电路。选择使用哪个,主要是哪个语法更方便的问题。程序块内部代码的语法与外原创 2021-07-23 20:41:43 · 1042 阅读 · 1 评论 -
HDLBits练习汇总-03-Verilog语言--模块层次结构
Module到目前为止,您已经熟悉了模块,它是一种通过输入和输出端口与外部交互的电路。更大、更复杂的电路是由更小的模块组成更大的模块,并将其他部分(如赋值语句和always块)连接在一起来构建的。这形成了一个层次结构,因为模块可以包含其他模块的实例。下图显示了一个非常简单的带有子模块的电路。在本练习中,创建模块mod_a的一个实例,然后将模块的三个引脚(in1、in2和out)连接到顶层模块的三个端口(连接a、b和out)。模块mod_a是为你提供的-你必须实例化它。连接模块时,只有模块上的端口是重要原创 2021-07-15 17:54:51 · 1750 阅读 · 0 评论 -
HDLBits练习汇总-02-Verilog语言--向量部分
Vector0向量用于使用一个名称对相关信号进行分组,以使其更易于操作。例如,电线[7:0] w; 声明一个名为w的8位向量,该向量在功能上等同于具有8条独立的导线。请注意,向量的声明将维放置在向量名称之前,这与C语法相比并不常见。然而,部分选择了尺寸后,如你所期望的矢量名称。wire [99:0] my_vector; // Declare a 100-element vectorassign out = my_vector[10]; // Part-select one bit out原创 2021-01-29 19:53:26 · 3727 阅读 · 0 评论 -
HDLBits练习汇总-01-Verilog语言--基础部分
写在前面之前看过跟多大神安利过这个网站,可以在线仿真运行Verilog代码,趁着这个机会刷一遍题,巩固下基础。HDLBits官网(可能比较慢)simple wire创建一个具有一个输入和一个输出的模块,其行为类似于导线。与物理电线不同,Verilog中的电线(和其他信号)是定向的。仅在一个方向上的该装置的信息流,从(一般是一个)源到汇(源极还通常称为驱动器即驱动器的值到一个线)。在Verilog“连续分配”(assign left_side = right_side;)中,右侧的信号值被驱动到左侧的原创 2021-01-27 14:11:29 · 739 阅读 · 0 评论