「Verilog学习笔记」根据RTL图编写Verilog程序

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

观察题目给出的RTL图,主要的器件是两个D触发器,一个与门。D触发器含有异步复位信号,且为低电平有效。data_in输入到D触发器,D触发器的输出Q是前一时刻的data_in,即data_in打一拍得到data_in_reg。与门表示data_out = data_in && !data_in_reg。再通过一个D触发器输出,这样子处理使data_in上升沿出现的时候,data_out保持一个时钟的高电平。由此可见,RTL实现了求data_in上升沿的功能。

`timescale 1ns/1ns

module RTL(
	input clk,
	input rst_n,
	input data_in,
	output reg data_out
	);
	
	reg data_in_reg ;

	always @ (posedge clk or negedge rst_n) begin 
		if (~rst_n) data_in_reg <= 0 ; 
		else data_in_reg <= data_in ; 
	end

	always @ (posedge clk or negedge rst_n) begin 
		if (~rst_n) data_out <= 0 ; 
		else data_out <= data_in && ~data_in_reg ;
	end

endmodule

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-21 08:46:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-21 08:46:04       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-21 08:46:04       82 阅读
  4. Python语言-面向对象

    2023-12-21 08:46:04       91 阅读

热门阅读

  1. 第一章 绪论

    2023-12-21 08:46:04       50 阅读
  2. 服务器直接配置免密登录

    2023-12-21 08:46:04       62 阅读
  3. 自定义ORM(mybatis)源码(六)-类型处理器

    2023-12-21 08:46:04       57 阅读
  4. http通信 axios VS fetch

    2023-12-21 08:46:04       59 阅读