VHDL——并转串程序(74LS165)

本文介绍了一个HC165寄存器的状态机设计过程,包括VHDL代码实现及仿真验证。讨论了同步加载数据的方法,并展示了具体的实现细节。

本来以为很好写,但写的时候发现有点问题。于是到网上搜索了下,发现这么简单的程序居然用到了状态机,对于我这样的新手看着可不怎么懂。

下面是仿真结果

PL为低的时候加载的数据,然后一位一位出来

 

代码里采用的是同步加载数据的方式,也就是说load进去的并行数据时在时钟上升沿的时候且PL为低是的数据,并不一定是PL上升沿前一刻的数据。仿真图里有点凑巧!

 

仿真 

PS:很想知道有什么更好可行的移位办法

### 设计思路 要实现一个异步24进制计数器,可以利用两个芯片:74LS160(十进制同步计数器)和74LS163(四位二进制同步计数器)。具体来说: - **74LS160** 是一个十进制计数器,能够完成从 0 到 9 的计数循环。 - **74LS163** 是一个四位二进制计数器,能够完成从 0 到 15 的计数循环。 由于目标是实现 24 进制计数器,可以通过级联这两个芯片来达到目的。以下是具体的实现方式。 --- ### 实现方案 #### 1. 使用 74LS160 完成低位计数 将第一个芯片设置为模 10 计数器,用于处理较低的十个数值 (0 至 9)。当该芯片计满时触发其进位信号 \(TC\) 输出到下一个芯片作为时钟输入。 #### 2. 使用 74LS163 处理高位计数 第二个芯片被配置为模 2 或者更高阶的计数模式,负责记录每轮低十次之后的状态变化。这里需要注意的是,在实际操作过程中需要额外逻辑控制使得整体结构只允许最多到达二十四状态之前重新初始化回初始条件。 #### 3. 设置清零机制 对于组合后的双层架构而言,一旦总数超过预定范围就需要及时复位至起始点。这通常借助外部门电路配合各阶段内部产生的特定地址线组合共同作用达成自动反馈效果。 --- ### 具体连接说明 - **电源与时钟** - 给两片 IC 提供相同的工作电压 Vcc 和 GND 接地端子。 - 把主振荡源或者脉冲发生装置链接向首个器件 CLK 输入针脚处充当基本驱动节奏来源[^1]。 - **第一级——74LS160** - 清除端 CLR' 应拉高维持正常工作状况下不激活强制归零指令除非特殊需求才施加低准态使其生效。 - 并行加载开关 PRE' 同样保持常开避免干扰序列进展流程。 - 数据总线 D0-D3 可随意设定因为当前仅采用行递增形式无需预先定义确切初值。 - 关键在于监视终端借由缓冲放大元件提取出来的溢出标志 OUT' ,此信号将会成为后续单元启动依据之一[^2]。 - **第二级——74LS163** - 类似前者一样做好基础供电准备动作之外还需特别留意几个参数调节选项: - LOAD' 默认情况下应当处于非活动区域也就是呈现高阻抗特性从而不影响常规运转轨迹走向; - ENT / ENP 对应使能位均需开启以便顺利接收来自前驱模块传递过来的有效边沿跳变事件通知消息并据此开展相应计算任务执行过程[^3]。 - **联动关系建立** - 最重要的一环便是确立两者之间相互协作关联纽带桥梁建设事宜。简单来讲就是把前面提到的那个代表结束时刻到来瞬间释放出去的通知讯号直接挂钩绑定到后面那个承接方那里去当作新一轮周期起点标记参照物使用即可形成完整的闭环控制系统布局框架体系结构模型雏形展现出来待进一步优化完善细节部分调整校正直至满足预期性能指标为止[^4]。 --- ### VHDL 示例代码片段 如果希望通过编程手段模拟验证上述硬件搭建成果的话,则可以用如下所示简化版VHDL描述语言编写对应行为算法程序清单予以辅助测试检验确认无误后再付诸实践应用层面当中去落实推广开来获得更大收益回报价值体现意义所在之处。 ```vhdl LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY cnt_24 IS PORT ( clk : IN STD_LOGIC; reset : IN STD_LOGIC; q_out : BUFFER INTEGER RANGE 0 TO 23 := 0 -- Output count value ); END ENTITY cnt_24; ARCHITECTURE behave OF cnt_24 IS BEGIN PROCESS(clk, reset) BEGIN IF(reset='0') THEN q_out<=0; ELSIF(rising_edge(clk))THEN IF(q_out<23)THEN q_out<=q_out+1; ELSE q_out<=0; END IF; END IF; END PROCESS; END ARCHITECTURE behave ; ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值