微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于基于FPGA的IRIG_B码编码器的设计

关于基于FPGA的IRIG_B码编码器的设计

时间:10-02 整理:3721RD 点击:

最近做的项目中有一个模块是做IRIG_B码的编码模块,部分程序:

case count100 is

when 1=>irig_b<=to_irig_b(secone(0));

when 2=>irig_b<=to_irig_b(secone(1));         --输出秒个位

when 3=>irig_b<=to_irig_b(secone(2));

when 4=>irig_b<=to_irig_b(secone(3));


when 6=>irig_b<=to_irig_b(secten(0));

when 7=>irig_b<=to_irig_b(secten(1));         --输出秒十位

when 8=>irig_b<=to_irig_b(secten(2));


when 10=>irig_b<=to_irig_b(minone(0));

when 11=>irig_b<=to_irig_b(minone(1));      

when 12=>irig_b<=to_irig_b(minone(2));        --输出分个位

when 13=>irig_b<=to_irig_b(minone(3));


when 15=>irig_b<=to_irig_b(minten(0));

when 16=>irig_b<=to_irig_b(minten(1));        --输出分十位

when 17=>irig_b<=to_irig_b(minten(2));


when 20=>irig_b<=to_irig_b(hourone(0));

when 21=>irig_b<=to_irig_b(hourone(1));

when 22=>irig_b<=to_irig_b(hourone(2));         --输出时个位

when 23=>irig_b<=to_irig_b(hourone(3));


when 25=>irig_b<=to_irig_b(hourten(0));          --输出时十位

when 26=>irig_b<=to_irig_b(hourten(1));


when 30=>irig_b<=to_irig_b(dayone(0));

when 31=>irig_b<=to_irig_b(dayone(1));

when 32=>irig_b<=to_irig_b(dayone(2));          --输出天个位

when 33=>irig_b<=to_irig_b(dayone(3));


when 35=>irig_b<=to_irig_b(dayten(0));

when 36=>irig_b<=to_irig_b(dayten(1));           --输出天十位

when 37=>irig_b<=to_irig_b(dayten(2));

when 38=>irig_b<=to_irig_b(dayten(3));


when 40=>irig_b<=to_irig_b(dayhundred(0));

when 41=>irig_b<=to_irig_b(dayhundred(1));         --输出天百位

我定义的irig_but std_logic_vector(9 downto 0); 这里输出天、时、分、秒信息,count100是100计数器。例:secone(0)=1,则相应的irig_b码为"1111100000",若=0,则相应的irig_b码为"0000000011",现在的问题是怎么把这么多(一共100)个irig_b码串在一起输出,就像这样1111111100  11111000000 0000000011 1111100000 1111111100 ...........

标题

    用移位寄存器

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top