【P0】Logisim部件级实验/有限状态机
课上
过得十分狼狈。经鉴定孩子可能脑子拗
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赞成,0010和1000反对,所以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部件级实验/有限状态机的更多相关文章
- 高阶篇:4.1.2.2)产品部件级别的QFDII
本章目的:介绍产品部件级别的QFDII编写方法. 1.前言 这章接前面总成级别的QFDII. 产品部件级别的QFDII,其实就是将部件QFDII所得到的设计要求,进一步分配给部件其装配层级的零部件中. ...
- 高阶篇:4.1.2.3)产品零件级别的QFDII
本章目的:介绍产品零件级别的QFDII编写方法. 1.前言 这章接前面部件级别的QFDII. 产品零件级别的QFDII,其实就是将零件QFDII所得到的设计要求,进一步分配零件的特征(Part Cha ...
- logisim自动生成电路
之前再做有关logisim有关的实验时,一直在傻乎乎地连线,而我是看了mooc有关的视频时,才知道logisim有自动连线的功能. 自动连线需要事先知道输入与输出的真值表或者全部的表达式,将其填入lo ...
- CS(计算机科学)知识体
附 录 A CS( 计算机科学)知识体 计算教程 2001 报告的这篇附录定义了计算机科学本科教学计划中可能讲授的知识领域.该分类方案的依据及其历史.结构和应用的其 ...
- 大道至简、大智若愚—GO语言最佳详解实践
导读:2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Griesemer和Ken Thompson两位牛人,决定创造一种新语言来取代C++, 这就是Gol ...
- 你应该知道Go语言的几个优势
要说起GO语言的优势,我们就得从GO语言的历史讲起了-- 本文由腾讯技术工程官方号发表在腾讯云+社区 2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Grie ...
- 【黑金原创教程】【Modelsim】【第五章】仿真就是人生
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- 深度学习论文翻译解析(十):Visualizing and Understanding Convolutional Networks
论文标题:Visualizing and Understanding Convolutional Networks 标题翻译:可视化和理解卷积网络 论文作者:Matthew D. Zeiler Ro ...
- CVPR2020论文解读:手绘草图卷积网络语义分割
CVPR2020论文解读:手绘草图卷积网络语义分割 Sketch GCN: Semantic Sketch Segmentation with Graph Convolutional Networks ...
- CVPR2020无人驾驶论文摘要
CVPR2020无人驾驶论文摘要 无人 导读/ Starsky是一种比较独特的方案.它是在高速上自动驾驶,第一公里最后一公里采用远程驾驶的模式,Starsky的卡车可以由人类远程操作.没有使用较为昂贵 ...
随机推荐
- Go设置GOPROXY国内加速
go env -w GOFLAGS=-buildvcs=false 在 Linux 或 macOS 上面 需要运行下面命令(或者,可以把以下命令写到 .bashrc 或 .bash_profile 文 ...
- gitlab16 gitlab-runner
gitlab-runner verify --delete FederatedKMeansSecureModelInference gitlab-runner register --url http ...
- Arch Linux 安装完成后配置声音
安装完 Arch Linux 后,虽然已经装了 alsa-utils,但是仍然可能出现无法播放声音的情况,这里记录了一种解决方案,在我的 Dell 上成功. 如果使用 alsamixer 解除静音后还 ...
- 更改linux文件/目录的权限、拥有者及用户组
在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户.该文件用户可以修改该文件的拥有者及用户组,root用户可以修改任何文件的拥有者及用户组. 在Linux中,对于文件的权限(rwx), ...
- Mybatis plus 多表联查字段名重复报错 Column ‘id‘ in where clause is ambiguous
一.报错信息 Caused by: Column 'xxxx' in where clause is ambiguous 二.报错原因 表 person 和 表 class 都有字段 id 和 nam ...
- java正则表达式(find()和 matches())
1.find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数. matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为 ...
- Qt编写安防视频监控系统20-录像机管理
一.前言 录像机管理模块,在本系统中除了用来存储NVR信息以外,方便生成对应的摄像机树状列表,目前没有其他用处,一个考虑是为了方便后期拓展,比如改成SDK内核加载视频流和回放视频等,甚至还需要做一些人 ...
- NetCore开源项目,适合新手学习
VerEasy.Core 介绍 这是一个基于 .NET Core 的易开发的框架,附 vue3前端框架.提供了一个高效可扩展的API程序. 支持 JWT 认证.数据库操作.日志记录.异步处理等特性,能 ...
- [转]xmanager和xshell什么关系 xmanager怎么使用
xmanager是一款小巧实用且运行于Windows系统上的X服务器软件,可以帮助用户快速连接并访问Unix/Linux服务器.那xmanager和xshell什么关系,xmanager怎么使用,本文 ...
- pdf文件内容分析工具简介(研究pdf标准好帮手)
前言:PDF文件标准诞生于20年前,从今天的视角来看,标准设计理念有些过时了:然而,pdf文件生态已经形成,尾大不掉吧.纵然有各种缺点,但是不可否认的事实:pdf是当今应用最广泛的版式文件. pdf文 ...