麻烦大家解释下这段VHDL代码,谢谢

[复制链接]
 楼主| sdnd2000 发表于 2007-5-23 22:50 | 显示全部楼层 |阅读模式
8位16进制频率设计<br />原理:测定信号频率必须为一个脉宽为1秒得输入信号,1秒后,计数值锁入锁存器得锁存信号并为下一测频技术周期做准备得计数器清零信号。<br /><br />下面是测评器的代码,有几个地方没看明白,麻烦大家解释下。<br />library&nbsp;ieee;<br />use&nbsp;ieee.std_logic_1164.all;<br />use&nbsp;ieee.std_logic_unsigned.all;<br />entity&nbsp;ftctrl&nbsp;is&nbsp;<br />port&nbsp;(&nbsp;clkk:&nbsp;in&nbsp;std_logic;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt_en:out&nbsp;std_logic;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rst_cnt:out&nbsp;std_logic;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;load:&nbsp;out&nbsp;std_logic);<br />end&nbsp;ftctrl;<br />architecture&nbsp;behav&nbsp;of&nbsp;ftctrl&nbsp;is<br />&nbsp;signal&nbsp;Div2ckl:&nbsp;std_logic;<br />begin&nbsp;<br />process(clkk)<br />begin<br />if&nbsp;clkk'event&nbsp;and&nbsp;clkk='1'&nbsp;then&nbsp;<br />&nbsp;&nbsp;Div2clk&lt=&nbsp;not&nbsp;Div2clk;<br />end&nbsp;if;<br />end&nbsp;process;<br />process&nbsp;(clkk,&nbsp;Div2clk)<br />begin<br />if&nbsp;clkk='0'&nbsp;and&nbsp;Div2clk='0'&nbsp;then&nbsp;rst&nbsp;_cnt&lt='1';<br />else&nbsp;rst_cnt&lt='0';&nbsp;end&nbsp;if;<br />end&nbsp;process;<br />load&nbsp;&lt=not&nbsp;Div2clk;&nbsp;cnt_en&lt=Div2clk;<br />end&nbsp;behav;<br /><br />不明白Div2clk&lt=&nbsp;not&nbsp;Div2clk&nbsp;和&nbsp;load&nbsp;&lt=not&nbsp;Div2clk这两行为什么要取反?谢谢大家!
limee 发表于 2007-5-27 01:42 | 显示全部楼层

代码上没写注释吗?

  
frily 发表于 2007-6-2 19:25 | 显示全部楼层

~~~~~~

~~~~~~~~
yeluo 发表于 2007-6-10 10:48 | 显示全部楼层

这个不是潘松黄继业的书上的习题么

Div2clk&lt=&nbsp;not&nbsp;Div2clk这个是为了产生一秒的时钟使能信号,因为clkk周期为1秒,二分频后产生一秒的高电平。<br />&nbsp;load&nbsp;&lt=not&nbsp;Div2clk这个是为了让时钟使能信号的下降沿作为锁存器的上升沿存入计数结果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

17

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部