Verilog刷题笔记50

server/2024/11/12 4:30:35/

题目:
Given the following state machine with 1 input and 2 outputs:
在这里插入图片描述
解题:

module top_module(input in,input [9:0] state,output [9:0] next_state,output out1,output out2);assign next_state[0]=~in&(state[0]|state[1]|state[2]|state[3]|state[4]|state[7]|state[8]|state[9]);assign next_state[1]=in&(state[0]|state[8]|state[9]);assign next_state[2]=in&state[1];assign next_state[3]=in&state[2];assign next_state[4]=in&state[3];assign next_state[5]=in&state[4];assign next_state[6]=in&state[5];assign next_state[7]=in&(state[6]|state[7]);assign next_state[8]=~in&state[5];assign next_state[9]=~in&state[6];assign out1=state[8]|state[9];assign out2=state[7]|state[9];endmodule

结果正确:
在这里插入图片描述

知识点:
通过查看状态转换图的转移的路径来导出独热码状态转换逻辑的逻辑方程式。
独热码的方法

独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。

有限状态机(Finite-State Machine,FSM),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。状态机不仅是一种电路的描述工具,而且也是一种思想方法,在电路设计的系统级和 RTL 级有着广泛的应用。Verilog 中状态机主要用于同步时序逻辑的设计,能够在有限个状态之间按一定要求和规律切换时序电路的状态。状态的切换方向不但取决于各个输入值,还取决于当前所在状态。状态机可分为 2 类:Moore 状态机和 Mealy 状态机。


http://www.ppmy.cn/server/104119.html

相关文章

C语言小练习(伍)

练习: 利用指针变量将一个数组中的数据反向输出。 void renew(int *p,int len) {for(int i len - 1;i > 0;i--){printf("%d",*(pi));} }int main() {int a[5] {1,2,3,4,5};int len1 sizeof(a) / sizeof(int);renew(a,len1);return 0; }运行结果: …

Maven命令传pom或者jar异常

上传命令:mvn deploy:deploy-file -Durlhttp://****:****/repository/chntdrools7741-releases -DrepositoryId**** -DfileD:/tempRepo/org/kie/kie-api-parent/7.69.0.Final/kie-api-parent-7.69.0.Final.pom -DpomFileD:/tempRepo/org/kie/kie-api-par…

2024年特种设备作业人员考试题库及答案(流动式起重机Q2)

一、单选题 371、轮式起重机吊重回转时会产生(),所以,起重机司机操纵回转时要特别慎重,回转速度不能过快。 A.向心力 B.咼心力 C.水平力 答案:B 372、为防止起重臂“后倾”造成折臂事故而设置(&#…

Windows系统命令

Windows系统命令 Windows 系统中的命令行工具是指令式编程语言,可以用来执行各种任务、管理文件和目录、监控系统状态等。下面是一个 Windows 命令应用实例: 1. 文件操作 cd:用于改变当前目录。例如,cd Documents 将当前目录更…

【Linux】如何快速查看 linux 服务器有几个cpu

如何快速查看 linux 服务器有几个cpu author: jayzhen date: 2024.08.22 文章目录 如何快速查看 linux 服务器有几个cpu1. 使用lscpu命令2. 使用nproc命令3. 使用/proc/cpuinfo文件4. 使用top或htop命令结论 在Linux服务器上,你可以通过多种方式快速查看系统中有几个…

【Mudo库】实战项目之服务器模块

文章目录 前言代码1. Socket1.1 Socket1.2 SSocket1.3 CSocket 2. Poller3. Channel4. Acceptor5. Time5.1 TimerTask5.1 TimerWheel 6. Buffer7. Any8. Connection9. Loop9.1 EventLoop9.2 Thread 10. TcpServer 尾序 前言 在上一篇文章当中对本项目的框架做了一个整体的介绍…

防勒索病毒|防被查盗版|隔离上网

深信达的SPN沙盒安全上网解决方案在防病毒、防被查盗版以及安全上网领域表现出色。该解决方案通过在企业内部部署一个隔离的沙盒环境,实现安全的互联网访问,从而保护本地数据的安全性,防止病毒和木马的入侵。它的核心优势包括: 1.…

删除Linux最近几条命令

删除Linux最近几条命令 1. 概述 本技术文档旨在指导用户如何在Linux系统中删除最近执行的几条命令。这在某些情况下(如敏感命令历史清理或误操作)可能非常有用。本文将详细介绍如何使用history命令及其相关功能来清理命令历史。 2. 适用范围 适用于所…