一 .(培训简介)
二.(项目内容介绍)
三.(内容实践)
第四关:无符号比较器设计(4位)
第8关:BCD计数器状态机设计
第13关:码表控制器状态机设计
第14关:码表控制器输出函数设计
一 .(培训简介)
从Logisim新手实验,构建7段数字管驱动电路,逻辑表达构建四位比较器,多路选择器,使用同步时序逻辑构建BCD计数器最终集成为运动代码表系统,实验从简单到困难,从装置到部件,从部件到系统,帮助学生理解数字逻辑设计的整个过程。实验框架设计:谭志虎;框架优化、在线测试生产、项目维护:曾西洋。
功能要求: 输入:4个按钮。输出:4个7段数字管显示数字。 具体功能: (1)当按下Start计时器清零,重新开始计时; (2)当按下Stop计时器停止计时,显示计时数据; (3)当按下Store当当前计时数据小于系统记录时,更新系统记录并显示当前计时数据;否则,系统记录不会更新,但会显示系统记录。 (4)当按下Reset复位、计时=0.00, 系统记录=99.99。
二.(项目内容介绍)
第一关:7段数码管驱动电路设计
第二关:2选1选择器设计(1位)
第三关:2选1选择器设计(16位)
第四关:无符号比较器设计(4位)
第五关:无符号比较器设计(16位)
第六关:并行加载寄存器(4位)
第七关:并行加载寄存器(16位)
第8关:BCD计数器状态机设计
第9关:BCD计数器输出函数设计
第10关:BCD计数器设计(1位十进制)
第11级:码表计数器设计(4位十进制)
第12关:码表显示驱动设计
第13关:码表控制器状态机设计
第14关:码表控制器输出函数设计
第15关:码表控制器设计
第16关:运动码表数据通路设计(系统集成)
三.(内容实践)
第4关:无符号比较器设计(4位)
利用组合逻辑分析电路表达式生成电路
X0 ~Y3 ~Y2 ~Y1 ~Y0 + X1 ~Y3 ~Y2 ~Y1 + X1 X0 ~Y3 ~Y2 ~Y0 + X2 ~Y3 ~Y2 + X2 X0 ~Y3 ~Y1 ~Y0 + X2 X1 ~Y3 ~Y1 + X2 X1 X0 ~Y3 ~Y0 + X3 ~Y3 + X3 X0 ~Y2 ~Y1 ~Y0 + X3 X1 ~Y2 ~Y1 + X3 X1 X0 ~Y2 ~Y0 + X3 X2 ~Y2 + X3 X2 X0 ~Y1 ~Y0 + X3 X2 X1 ~Y1 + X3 X2 X1 X0 ~Y0
~X3 ~X2 ~X1 ~X0 ~Y3 ~Y2 ~Y1 ~Y0 + ~X3 ~X2 ~X1 X0 ~Y3 ~Y2 ~Y1 Y0 + ~X3 ~X2 X1 ~X0 ~Y3 ~Y2 Y1 ~Y0 + ~X3 ~X2 X1 X0 ~Y3 ~Y2 Y1 Y0 + ~X3 X2 ~X1 ~X0 ~Y3 Y2 ~Y1 ~Y0 + ~X3 X2 ~X1 X0 ~Y3 Y2 ~Y1 Y0 + ~X3 X2 X1 ~X0 ~Y3 Y2 Y1 ~Y0 + ~X3 X2 X1 X0 ~Y3 Y2 Y1 Y0 + X3 ~X2 ~X1 ~X0 Y3 ~Y2 ~Y1 ~Y0 + X3 ~X2 ~X1 X0 Y3 ~Y2 ~Y1 Y0 + X3 ~X2 X1 ~X0 Y3 ~Y2 Y1 ~Y0 + X3 ~X2 X1 X0 Y3 ~Y2 Y1 Y0 + X3 X2 ~X1 ~X0 Y3 Y2 ~Y1 ~Y0 + X3 X2 ~X1 X0 Y3 Y2 ~Y1 Y0 + X3 X2 X1 ~X0 Y3 Y2 Y1 ~Y0 + X3 X2 X1 X0 Y3 Y2 Y1 Y0
~X3 ~X2 ~X1 ~X0 Y0 + ~X3 ~X2 ~X1 Y1 + ~X3 ~X2 ~X0 Y1 Y0 + ~X3 ~X2 Y2 + ~X3 ~X1 ~X0 Y2 Y0 + ~X3 ~X1 Y2 Y1 + ~X3 ~X0 Y2 Y1 Y0 + ~X3 Y3 + ~X2 ~X1 ~X0 Y3 Y0 + ~X2 ~X1 Y3 Y1 + ~X2 ~X0 Y3 Y1 Y0 + ~X2 Y3 Y2 + ~X1 ~X0 Y3 Y2 Y0 + ~X1 Y3 Y2 Y1 + ~X0 Y3 Y2 Y1 Y0
如下图
第8关:BCD计数器状态机设计
N3:
~S3 S2 S1 S0 + S3 ~S2 ~S1 ~S0
N2:
~S3 ~S2 S1 S0 + ~S3 S2 ~S1 + ~S3 S2 ~S0
N1:
~S3 ~S1 S0 + ~S3 S1 ~S0
N0:
~S3 ~S0 + ~S2 ~S1 ~S0
真值表如下
将真值表第九位(第十行紫框位置)置一即可
~start ~reset S2 ~S1 + ~reset S2 ~S1 ~S0 + ~start ~stop store ~reset ~S2 S1 S0 + store ~reset S2 ~S1 + stop ~reset S2 ~S1
~start ~store ~reset ~S2 S1 + ~reset ~S2 S1 ~S0 + stop ~reset ~S2 S1 + start ~stop ~store ~reset ~S2 ~S1 S0 + start store ~reset ~S2 S1
~start ~reset ~S1 + ~reset ~S1 ~S0 + ~store ~reset ~S2 S1 S0 + ~reset ~NewRecord ~S2 S1 S0 + ~reset S2 ~S1 + ~start stop ~store ~reset ~S2 + stop ~reset ~S2 S0 + start store ~reset ~S2 S0
SDSel:
S2 ~S1 ~S0
SDEN:
~S1 ~S0
DPSEL:
~S2 + ~S1 ~S0
TMen:
~S2 S1 ~S0
TMReset:
~S2 ~S1