关于Quartus利用D触发器做二分频

作者分享了在设计过程中遇到的挑战,如使用D触发器和二分频,发现软件中内置的DFF(dff)。他们起初尝试修改.vt代码,但意识到只需在文件中设置条件。遇到问题时,建议检查初始值和可能隐藏的寄存器注释,以及如何查看硬件电路图的学习心得。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一开始我觉得会比较困难,因为要设计D触发器,然后再利用D触发器去做二分频,在看了大家的博客设计完D触发器后,我发现!!!

软件里自带D触发器,叫dff

不过也没关系,就当回顾知识了。

然后画完图我就干了一个很蠢的事情,在改.vt的代码

但其实有了电路图,我们只需要在vt文件里面给条件即可。

如果改完了初始值,但是依然没有图像的话,就可以参考我上面的。

把寄存器的注释掉。

还在别的博客那里学到了,如何打开硬件电路图

Quartus Prime软件中使用原理图设计实现74161模10计数器,首先你需要了解74161是一个八位二进制同步计数器,通常用于循环计数或者作为通用脉冲发生器。 步骤如下: 1. **设置项目**: - 打开Quartus Prime,创建一个新的VHDL或Verilog设计项目。 - 在设计文件中添加新模块,命名为例如`mod10_counter.vhd`或`mod10_counter.v`。 2. **设计原理图**: - 使用74161 IP核,将其拖放到原理图编辑器中。 - 连接适当的输入端口,如启动信号(ST)、复位信号(RS),以及8位数据输入端(Dn)。 - 设置74161的工作模式,通常是同步上升沿触发,即当有正向时钟脉冲(Clock)的上升沿到来并且RS为低时,计数器会递增。 3. **编写VHDL/Verilog代码**: - 编写初始化部分,配置计数器的初始状态。 - 实现计数逻辑,通过条件门电路控制输出,当计数达到9时,输出变为1,然后开始从0继续计数。 ```vhdl library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity mod10_counter is Port ( clock : in STD_LOGIC; rst : in STD_LOGIC; d_in : in STD_LOGIC_VECTOR(7 downto 0); out : out STD_LOGIC_VECTOR(7 downto 0)); end mod10_counter; architecture Behavioral of mod10_counter is begin process(clock, rst) variable count : integer range 0 to 9; begin if rising_edge(clock) and rst = '0' then count <= count + 1; if count = 10 then count := 0; -- 当count等于10时,重置计数器 end if; out <= std_logic_vector(to_unsigned(count, 8)); -- 将计数值转换为8位输出 end if; end process; end Behavioral; ``` 4. **编译和验证**: - 确保所有连接正确无误后,点击工具栏的"Build"按钮,选择"Synthesize"编译模块。 - 如果没有错误,生成的网表文件可以用于下载到硬件,如FPGA或数字信号处理器(DSP)。 5. **仿真**: - 在工具中选择"Simulate"选项,运行波形仿真,检查计数器的行为是否符合预期。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值