当前位置: 首页 > article >正文

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

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

描述

某同步时序电路的状态转换图如下,→上表示“C/Y”,圆圈内现态,→指向次态

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

电路的接口如下图所示,C是单bit数据输入端。 

输入描述:

   input                C   ,
   input                clk ,
   input                rst_n

输出描述:

      output   wire        Y 

解题思路:

根据状态转换图画出功能表,如下所示:

其激励方程、状态方程和输出方程的判定方式与VL21一致;

代码如下:
`timescale 1ns/1ns

module seq_circuit(
   input                C   ,
   input                clk ,
   input                rst_n,
 
   output   wire        Y   
);
wire d0, d1, q0, q1;
//激励方程
assign d0 = q0&~C | ~q1&C;
assign d1 = q0&~C | q1&C;
//状态方程
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 | q1&C;

endmodule

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.kler.cn/a/317716.html

相关文章:

  • 鸿蒙next版开发:相机开发-适配不同折叠状态的摄像头变更(ArkTS)
  • Spring高手之路26——全方位掌握事务监听器
  • 比ChatGPT更酷的AI工具
  • 数据集标注txt文件读取小工具
  • C#发票识别、发票查验接口集成、电子发票(航空运输电子行程单)
  • 45.第二阶段x86游戏实战2-hook监控实时抓取游戏lua
  • 【Linux】生产者消费者模型:基于阻塞队列,使用互斥锁和条件变量维护互斥与同步关系
  • 高级java每日一道面试题-2024年9月20日-分布式篇-什么是CAP理论?
  • 【Java】Java开发全攻略:从环境搭建到高效编程
  • vulnhub-prime1
  • Android 检测图片抓拍, 聚焦图片后自动完成拍照,未对准图片的提示请将摄像头对准要拍照的图片
  • 红书 API 接口:笔记详情数据接口的接入与使用
  • IDEA 关闭自动补全功能(最新版本)
  • 【我的 PWN 学习手札】House of Botcake —— tcache key 绕过
  • 我从家庭提取的动态IP是独享的吗?
  • RK3568笔记六十二:使用V4L2读取摄像头并在LCD上显示
  • TypeScript-面向对象(接口、类、对象、泛型)
  • 1.5 计算机网络的性能指标
  • Git可视化工具和基础命令
  • vue3<script setup>中使用reactive包裹的对象被重新赋值失去响应式原因和解决方式
  • C#控件开发能够阅读的书籍
  • ESP8266+DHT11+Python制作一个物联网温湿度传感器
  • 基于C#+SQL Server2005(WinForm)图书管理系统
  • 多边形抠图 python
  • python爬虫案例——抓取链家租房信息
  • IPsec-Vpn