课上

过得十分狼狈。经鉴定孩子可能脑子拗

T1 投票决议

组内投票,赞成>反对,则通过;组长拥有一票否决权。

信号名 方向 描述
[1:0] s Input 2'b00 赞成
2'b01 反对
2'b10 弃权
2'b11 一票否决
[1:0] t0
[1:0] t1
[1:0] t2
Input 2'b00 赞成
2'b01 2'b11 反对
2'b10 弃权
res Output 1 通过;0不通过

三种状态,天然没法被2进制表示存储计算。考察多状态表示处理。

  • 单独处理一票否决:在最后通过&解决
  • 统一处理三种状态:通过子模块逻辑区分出3种状态,分别统计构造“赞成数”、“反对数”(位合成);“赞成数”大于“反对数”则出1

然而其实根本无需特设子模块!目标就是状态码,那么独热码首当其冲:Decoder为2'bxx分配独热码,0001赞成,00101000反对,所以Decoder输出:第0位1对应“赞成”,第1、3位1对应“反对”

当时就对三状态的统一区分无头绪,慌张中想着通过三态Demultiplexer(DMX)分配0、1、 x(高阻态)实现。然而高阻态显然不是什么稳定的第三状态,多数元器件断然是不支持的。

人家5minAC,咱搭了近1h,心态整得做过山车一样,可能是真蠢。

然事后回看,可能是对“多状态的状态码分配”这普遍的方法论没有概念。Decoder没厘清应用本质,长久没用属于灯下黑了。

T2 字符自动机:2021或2011

  • 注意状态机跳转设置
  • “0 + 独热码”最适合Combinational Analysis自动生成;注意公式别打错(多打、漏打、顺序反)

基础mealy机,没什么好说的

T3 三元递推式求指定项

信号名 方向 描述
[4:0] N Input 求第N项的值\(S_{N}\)
[31:0] Nth Output \(S_{N}\)的值

时序电路,在64个周期内完成计算

\(
\begin{equation}
S_n=\left\{
\begin{aligned}
& 0 &,& n=0 \\
& 1 &,& n=1,2,3 \\
& S_{n-1} + S_{n-2} \wedge S_{n-3} &,& n \ge 4
\end{aligned}
\right.
\end{equation}
\)

吐槽:

\(\wedge\) 是“合取”而不是“异或”,要不然就全是1了,而且S0,S1,S2便不能按通项推出S3

\(+\) 是“相加”而不是“或”。符号系统混杂火死。

和Fibs那道题一模一样

//递推转移
now += pre1 & pre2;
pre1 = now;
pre2 = pre1;

主体框架(计数模块等省略)

其中 为自己建的可初始化寄存器

Logisim处的缺陷

1.很多元件直接unsigned处理了,感觉用到signed话很可能会混乱

【P0】Logisim部件级实验/有限状态机的更多相关文章

  1. 高阶篇:4.1.2.2)产品部件级别的QFDII

    本章目的:介绍产品部件级别的QFDII编写方法. 1.前言 这章接前面总成级别的QFDII. 产品部件级别的QFDII,其实就是将部件QFDII所得到的设计要求,进一步分配给部件其装配层级的零部件中. ...

  2. 高阶篇:4.1.2.3)产品零件级别的QFDII

    本章目的:介绍产品零件级别的QFDII编写方法. 1.前言 这章接前面部件级别的QFDII. 产品零件级别的QFDII,其实就是将零件QFDII所得到的设计要求,进一步分配零件的特征(Part Cha ...

  3. logisim自动生成电路

    之前再做有关logisim有关的实验时,一直在傻乎乎地连线,而我是看了mooc有关的视频时,才知道logisim有自动连线的功能. 自动连线需要事先知道输入与输出的真值表或者全部的表达式,将其填入lo ...

  4. CS(计算机科学)知识体

    附 录 A                   CS( 计算机科学)知识体 计算教程 2001 报告的这篇附录定义了计算机科学本科教学计划中可能讲授的知识领域.该分类方案的依据及其历史.结构和应用的其 ...

  5. 大道至简、大智若愚—GO语言最佳详解实践

      导读:2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Griesemer和Ken Thompson两位牛人,决定创造一种新语言来取代C++, 这就是Gol ...

  6. 你应该知道Go语言的几个优势

    要说起GO语言的优势,我们就得从GO语言的历史讲起了-- 本文由腾讯技术工程官方号发表在腾讯云+社区 2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Grie ...

  7. 【黑金原创教程】【Modelsim】【第五章】仿真就是人生

    声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...

  8. 深度学习论文翻译解析(十):Visualizing and Understanding Convolutional Networks

    论文标题:Visualizing and Understanding Convolutional Networks 标题翻译:可视化和理解卷积网络 论文作者:Matthew D. Zeiler  Ro ...

  9. CVPR2020论文解读:手绘草图卷积网络语义分割

    CVPR2020论文解读:手绘草图卷积网络语义分割 Sketch GCN: Semantic Sketch Segmentation with Graph Convolutional Networks ...

  10. CVPR2020无人驾驶论文摘要

    CVPR2020无人驾驶论文摘要 无人 导读/ Starsky是一种比较独特的方案.它是在高速上自动驾驶,第一公里最后一公里采用远程驾驶的模式,Starsky的卡车可以由人类远程操作.没有使用较为昂贵 ...

随机推荐

  1. intellij idea 自动生成test单元测试

    1. 创建测试类 打开IDEA,在任意类名,任意接口名上,按ctrl+shift+t选择Create New Test   image 然后根据提示操作(默认即可),点击确认,就在项目的/test/j ...

  2. Qt音视频开发35-Onvif图片参数

    一.前言 视频中的图片的配置参数一般有亮度.饱和度.对比度.锐度等,以前一直以为这些需要通过厂家的私有协议SDK来设置才行,后面通过研究Onvif Device Manager 和 Onvif Dev ...

  3. Win7/8/10操作系统之间通过“映射网络驱动器”映射共享目录或者网络磁盘,有的可以映射成功,有的不成功的原因和终极解决办法

    Win7/8/10操作系统相互之间通过"映射网络驱动器"映射共享目录或者网络磁盘,有的可以映射成功,有的不成功 原因: 待添加映射驱动器的计算机的"网络发现"和 ...

  4. Windows下的GDAL环境配置

    Windows下的GDAL环境配置 在Windows下GDAL环境的配置方式有很多种,我尝试了很多不同的配置方式,包括Anaconda. GISInternals.QGIS.OSGeo4W等, 我这里 ...

  5. 基于STC8G1K08的CH549单键进入USB下载模式实验

    一.实验原因 CH552或CH549进入USB下载,通常需要两个按键,一个控制电源的通断,一个通过串联电阻(一头接VCC或V33)冷启动时抬高UDP电平.时序上是这样的:断电--按下接UDP的轻触开关 ...

  6. x86平台SIMD编程入门(3):浮点指令

    1.算术指令 算术类型 函数示例 备注 加 _mm_add_sd._mm256_add_ps 减 _mm_sub_sd._mm256_sub_ps 乘 _mm_mul_sd._mm256_mul_ps ...

  7. C# 调用FFmpeg 合并视频和音频

    C#修改环境变量: string pathStr = System.Environment.GetEnvironmentVariable("Path", EnvironmentVa ...

  8. Java多进程多线程处理详解

    在Java编程中,多进程和多线程是两种常见的并发编程技术,用于提高程序的执行效率和响应速度.本文将详细介绍Java中的多进程和多线程处理,包括理论概述和代码示例.通过本文,你将了解如何在Java中实现 ...

  9. 网络通信协议:TCP(三次握手四次挥手)和UDP

    通信要素2:网络协议  网络通信协议计算机网络中实现通信必须有一些约定,即通信协议,对速率.传输代码.代码结构.传输控制步骤.出错控制等制定标准. 问题:网络协议太复杂计算机网络通信涉及内容很多, ...

  10. 0511-FileWrite字符输出流和JDK7中try..finally新的特性

    package A10_IOStream; import java.io.*; /* java.io.Writer:字符输出流,是所有字符数出流的最顶层抽象父类 共性方法 void write(int ...