Verilog编程练习
文章平均质量分 77
一只萌新_
这个作者很懒,什么都没留下…
展开
-
HDIbits答案
构造一个有限状态机检测data中的1101序列,如果检测到该序列,则将输出一直拉高直到同步复位信号为高。module top_module ( input clk, input reset, // Synchronous reset input data, output start_shifting); parameter idle=3'd0; parameter S0=3'd1; parameter S1=3'd2; ...原创 2021-09-11 09:47:36 · 248 阅读 · 0 评论 -
lemmings3
module top_module( input clk, input areset, // Freshly brainwashed Lemmings walk left. input bump_left, input bump_right, input ground, input dig, output walk_left, output walk_right, output aaah, output digging )...原创 2021-09-07 22:45:36 · 176 阅读 · 0 评论 -
有限状态机 lemmings2
module top_module( input clk, input areset, // Freshly brainwashed Lemmings walk left. input bump_left, input bump_right, input ground, output walk_left, output walk_right, output aaah ); parameter left=2'b00;...原创 2021-09-07 21:59:08 · 298 阅读 · 0 评论 -
有限状态机练习
n信号包含了一个起始位(0),8个数据位和一个停止位(1),开始in为1,也就是idle状态,当in为0时,进入start状态,然后经过8个周期,如果in为1,则进入stop状态,接着如果in为0,进入第二轮start状态,否则进入idle状态。module top_module( input clk, input in, input reset, // Synchronous reset output done); paramete...原创 2021-09-07 20:56:02 · 400 阅读 · 0 评论 -
Verilog中上升沿触发的理解
在HDLBits中有一道题,对于8位向量中的每一位,检测输入信号何时从一个时钟周期的0变化到下一个时钟周期的1(正边缘检测)。输出位应该在发生0到1转换后的周期,如下示意图所示:给出的答案为:module top_module ( input clk, input [7:0] in, output reg [7:0] temp_in, output reg [7:0] pedge); always @(posedge clk) begi...原创 2021-08-09 15:56:59 · 6881 阅读 · 0 评论 -
verilog产生时钟信号
一、变量初始化变量初始化的基本原则为:可综合代码中完成内部变量的初始化,Testbench中完成可综合代码所需的各类接口信号的初始化。初始化的方法有两种:一种是通过initial语句块初始化;另一种是在定义时直接初始化。当initial语句块中有多条语句时,需要用begin…end或者fork…join语句。直接初始化,如:reg [7:0] cnt = 8'b00000000;二、时钟信号的产生1、普通时钟信号:a. 基于initial语句的方法:parameterc.转载 2021-08-09 11:18:07 · 14258 阅读 · 1 评论 -
HDLBits D触发器题目答案(自己看)
1、创建一个16D触发器,有时我们仅需要修改部分触发器中的值。字节使能信号控制当前时钟周期中16个寄存器中哪个字节需被修改。byteena[1]控制高字节d[15:8],而byteena[0]控制低字节d[7:0]。resetn是一个同步,低复位信号。所有的D触发器由时钟的上升沿触发。module top_module ( input clk, input resetn, input [1:0] byteena, input [15:0] d, out...原创 2021-08-07 16:48:25 · 584 阅读 · 0 评论