请教一下vhdl

2025-04-10 14:31:50
推荐回答(2个)
回答1:

我知道你想要的意思:检测q端口输入值并取反产生时钟,若是1,则产生的时钟从0开始,若是0,则产生的时钟从1开始,也就是起始相位不同。
我也没弄出你要的效果来~对VHDL下的双向口操作这方面知识还是很欠缺,有空我会继续想想~
想不出来又无大侠出现的话,建议你去这个坛子里发个帖子问问,里面有不少高手:
http://www.ourdev.cn/bbs/bbs_list.jsp?bbs_id=1029

回答2:

nbsp;ieee;                    - 库引用
use ieee.std_logic_1164.ALL;     - 程序包引用 
use ieee.std_logic_unsigned.all; - 程序包引用 
 
entity fengpin is                - 实体定义,也就是一个电路模块的对外特性
port(clki:in std_logic;          - 输入时钟
clko:out std_logic);             - 分频输出
end fengpin; 

architecture a of fengpin is    - 结构体定义,也就是电路模块的内部功能
signal b:std_logic_wector(3 downto 0);   - 用来计数,实现分频
begin 
wait until clki='1';            - 等待信号clki上升沿到来
b<=b+1;                         - 然后将计数值b加1
end process; 
clko<=a(3);                     - 输出计数值b的最高位,每8个clki的上升沿变化一次,每16个clki的上升沿一个周期
end a ;