【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL21

news2024/11/13 10:42:09

根据状态转移表实现时序电路

描述

某同步时序电路转换表如下,请使用D触发器和必要的逻辑门实现此同步时序电路,用Verilog语言描述。

电路的接口如下图所示。

输入描述:

      input                A   ,
      input                clk ,
      input                rst_n

输出描述:

      output   wire        Y  

解题思路:

①首先根据题干中的状态转换表,给出次态Q_1^{n+1},Q_0^{n+1}和输出Y的卡诺图,如下所示:

表达式为Q_1^{n+1}=Q_1^{n+1}\oplus Q_0^n \oplus A,Q_0^{n+1}=\overset{-}{Q_0^n},其中:

输出方程Y=Q_0^nQ_1^n

由于题干中所使用的触发器为D触发器,根据D触发器的特征方程Q_1^{n+1} = D_1, Q_0^{n+1} = D_0,得到其状态方程;

因此,激励方程D_1=Q_1^{n+1}\oplus Q_0^n \oplus A,D_0=\overset{-}{Q_0^n};

代码:

下面给出两种代码:

①寄存器未单独例化
`timescale 1ns/1ns

module seq_circuit(
      input                A   ,
      input                clk ,
      input                rst_n,
 
      output   wire        Y   
);

reg Q0, Q1;
always @(posedge clk or negedge rst_n)begin
   if(!rst_n)
      Q0 <= 1'b0;
   else
      Q0 <= ~Q0 ;
end 

always @(posedge clk or negedge rst_n)begin
   if(!rst_n)
      Q1 <= 1'b0;
   else
      Q1 <= Q1 ^ Q0 ^ A;
end

assign Y = Q1 & Q0;

endmodule

②将寄存器单独例化
`timescale 1ns/1ns

module seq_circuit(
      input                A   ,
      input                clk ,
      input                rst_n,
 
      output   wire        Y   
);

//代码二
wire q0, q1, d0, d1;
//激励方程
assign d0 = ~q0;
assign d1 = A ^ q0 ^ q1;
//状态方程
DFF D0 (.d(d0), .clk(clk), .rst_n(rst_n), .q(q0));
DFF D1 (.d(d1), .clk(clk), .rst_n(rst_n), .q(q1));
//输出方程
assign Y = q0 & q1;

endmodule

//带复位端的D触发器
module DFF(input        d, 
           input        clk, 
           input        rst_n,
           output   reg q);
    always @(posedge clk or negedge rst_n) begin

        if (!rst_n) q<= 1'b0;
        else q<= d; 

    end
endmodule

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2148870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp+renderJS+google map开发安卓版APP非小程序

背景需求 需要在uniapp中接入google地图,研究了一番,都没有找到合适的,现在说一下教程。 效果图 前期工作 这两点缺一不可,否则你啥也看不到。 1、电脑安装L-O-U梯 用于访问G-OO-G-LE的API或者创建google map key。 2、手机安装L-O-U梯 用于显示google地图。我就是手…

SpringCloud从零开始简单搭建 - JDK17

文章目录 SpringCloud Nacos从零开始简单搭建 - JDK17一、创建父项目二、创建子项目三、集成Nacos四、集成nacos配置中心 SpringCloud Nacos从零开始简单搭建 - JDK17 环境要求&#xff1a;JDK17、Spring Boot3、maven。 那么&#xff0c;如何从零开始搭建一个 SpringCloud …

DNS攻击频发,打造防劫持DNS需强化“数据治理”理念

数字化转型时代&#xff0c;“一物多址&#xff0c;万物互联”正依托于DNS&#xff08;域名系统&#xff09;实现&#xff0c;DNS的重要性不言而喻。然而传统DNS协议存在诸多安全隐患&#xff0c;整个明文传输过程几乎没有认证与保护&#xff0c;导致DNS报文易被篡改&#xff0…

VSCode调试Unity准备工作

一.Unity设置VSCode为默认编辑器 Unity编辑器中Edit-Preferences-External Tools中选择VSCode 二.VSCode安装Unity插件 三.Unity的Visual Studio Editor升至最新 Window->Package Manager->Visual Studio Editor 四.下载配置.Net 8.0 安装之前VSCode会提示你下载.Net …

maxwell 输出消息到 redis

文章目录 1、maxwell 输出消息到 redis1.1、启动一个Maxwell容器&#xff0c;它会连接到指定的MySQL数据库&#xff0c;捕获变更事件&#xff0c;并将这些事件以Redis发布/订阅的形式发送到指定的Redis服务器1.2、在已运行的 Redis 容器中执行 Redis 命令行界面&#xff08;CLI…

【2023工业异常检测文献】SimpleNet

SimpleNet:ASimpleNetworkforImageAnomalyDetectionandLocalization 1、Background 图像异常检测和定位主要任务是识别并定位图像中异常区域。 工业异常检测最大的难题在于异常样本少&#xff0c;一般采用无监督方法&#xff0c;在训练过程中只使用正常样本。 解决工业异常检…

【uni-app】小兔鲜项目-基础架构-请求和上传文件拦截器

注意事项 uni.request 请求封装 请求和上传文件拦截器 uniapp 拦截器&#xff1a; uni.addInterceptor 接口说明&#xff1a;接口文档 实现需求 拼接基础地址设置超时时间添加请求头标识添加 token 参考代码 // src/utils/http.ts// 请求基地址 const baseURL https://pca…

IM项目-----语音识别子服务

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、搭建思想二、服务器搭建1.继承speechService类,重写业务代码2.编写语音识别服务器类3.建造者类编写 三.测试 前言 语音转换子服务&#xff0c;用于调用语音…

字节跳动算法岗面试亲历:高效流程大公开,通关诀窍全掌握

最近这一两周看到不少互联网公司都已经开始秋招提前批了。 不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 个人情况 985 本硕项目一个论文一篇无实习经历 时间节点 7.2 技术面一面 …

探索Python的聊天机器人世界:errbot库的神秘面纱

文章目录 探索Python的聊天机器人世界&#xff1a;errbot库的神秘面纱背景&#xff1a;为何选择errbot&#xff1f;errbot是什么&#xff1f;如何安装errbot&#xff1f;简单库函数使用方法1. 创建机器人2. 响应消息3. 处理私聊4. 定时任务5. 错误处理 场景应用1. 会议提醒2. 天…

sheng的学习笔记-AI-FOIL(First-Order Inductive Learner)

AI目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 规则学习&#xff08;rule learning&#xff09;: sheng的学习笔记-AI-规则学习&#xff08;rule learning&#xff09;-CSDN博客 序贯覆盖(sequential covering):sheng的学习笔记-AI-序贯覆盖(sequential covering) 基础…

Java 方法重写(难)

目录 1&#xff0e;A类和B类都写一个相同的方法&#xff0c;先用static&#xff0c;两边都是一样的&#xff1a; 2&#xff0e;A类和B类都去掉static&#xff0c;出现了两个圆圈的符号&#xff0c;代表重写&#xff1a; 3&#xff0e;总结 4&#xff0e;为什么需要重写&…

maven模块管理和继承聚合

1.分模块设计与开发 分模块即为不同的模块实现不同的功能&#xff0c;方便项目开发和部署。 如下图&#xff1a;pojo为实体模块&#xff0c;tlias为业务模块&#xff0c;utils为功能模块 要在tlias模块中使用其他两个模块&#xff0c;需要在pom文件中加入对应的依赖。 如图&…

【OceanBase诊断调优】—— obdiag 一条命令搞定卡合并问题根因分析

1. 背景 卡合并是一个OceanBase中较为复杂的问题&#xff0c;可能由各种问题引入导致。当前是否卡合并无明确定义&#xff0c;一方面我们认为超过36小时没合完是合并超时&#xff08;RS会报ERROR日志&#xff09;&#xff0c;另一方面用户可能自己判断合并超时&#xff08;根据…

探索AI大模型:从入门到精通的学习路径

每日一句正能量 其实许多波折不过是成功道上的荆棘路&#xff0c;纵然今天不如意&#xff0c;但我们还有未来。 前言 随着人工智能技术的快速发展&#xff0c;AI大模型学习正成为一项备受关注的研究领域。为了提高模型的准确性和效率&#xff0c;研究者们需要具备深厚的数学基…

pc远程控制软件有哪些?4款热门远程控制软件推荐,总有一款适合你!

在数字化转型的浪潮中&#xff0c;远程控制已成为企业提升运营效率、实现远程办公的不可或缺的工具。 正所谓 "运筹帷幄之中&#xff0c;决胜千里之外" &#xff0c;PC端远程控制软件让企业管理者和员工能够跨越地域限制&#xff0c;高效协同工作。 今天&#xff0c…

excel 单元格一直显示年月日

excel 单元格一直显示年月日&#xff0c;在单元格上右键选择单元格格式&#xff0c;选择日期时单元格会显示成日期格式

Flink 与 Kubernetes (K8s)、YARN 和 Mesos集成对比

Flink 与 Kubernetes (K8s)、YARN 和 Mesos 的紧密集成&#xff0c;是 Flink 能够在不同分布式环境中高效运行的关键特性。 Flink 提供了与这些资源管理系统的深度集成&#xff0c;以便在多种集群管理环境下提交、运行和管理 Flink 作业。Flink 与 K8s、YARN 和 Mesos 集成的详…

前后端独立部署的企业级私有化文档管理系统丨无忧·企业文档

大家好&#xff0c;我是软件部长&#xff0c;今天给大家介绍一款企业级在线知识库项目-JVS的无忧企业文档。 JVS提供低代码、物联网、规则引擎、智能BI、逻辑引擎、无忧企业文档&#xff08;在线协同&#xff09;、无忧企业计划、无忧企业邮筒等平台&#xff0c;欢迎关注微信公…