怎么用VHDL写变频器

1.请问怎么用VHDL写个程序把频率从50MHz转换成40MHz啊

library ieee;

use ieee.std_logic_arith.all;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity PL_ASK is

port(clk : in std_logic;

start : in std_logic;

x : in std_logic;

y1 : out std_logic;

y : out std_logic

);

end;

architecture behav of PL_ASK is

signal q : integer range 0 to 3;

signal f : std_logic;

begin

process(clk)

begin

if clk'event and clk='1' then --分频计数器

if start='0' then

q

2.用VHDL语言编写程序

我用quartusⅡ已编译并且仿真都对的,我写的是0亮1灭,如果实际情况与这相反,你自己倒一下。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_SIGNED.ALL;

USE IEEE.numeric_std.all;

ENTITY test IS

PORT (clock: in std_logic; -----clock1加48MHz的信号

row: out std_logic_vector(0 to 7));

END test;

ARCHITECTURE behave OF test IS

CONSTANT fp_clka:INTEGER:=12000000; ---扫描信号频率为2Hz

SIGNAL a: INTEGER RANGE 0 TO 12000001;

signal saomiao :integer range 0 to 9;

SIGNAL clka: std_logic;

BEGIN

PROCESS (clock)

BEGIN

IF rising_edge(clock) THEN

IF a<fp_clka then --clka

a<=a+1;

clka<=clka;

ELSE

a<=0;

clka<= NOT clka;

end if;

end if;

end process;

process(clka)

BEGIN

IF rising_edge(clka) THEN

saomiao<=saomiao+1;

if saomiao=9 then

saomiao<=0;

end if;

case saomiao is ---'1'代表不亮,'0'代表亮

when 0 =>row<="01111111";

when 1 =>row<="10111111";

when 2 =>row<="11011111";

when 3 =>row<="11101111";

when 4 =>row<="11110111";

when 5 =>row<="11111011";

when 6 =>row<="11111101";

when 7 =>row<="11111110";

when 8 =>row<="00000000";

when others =>row<="11111111";

END CASE;

END IF;

end process;

END behave;

3.谁知道 怎么用vhdl 写个138

138是三线八线译码器吧,这个我仿真过了,可以用的

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY 74138 IS

PORT(CLK: IN STD_LOGIC;

datain: IN STD_LOGIC_VECTOR(2 DOWNTO 0);

dataout: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END ENTITY 74138;

ARCHITECTURE bhv OF 74138 IS

BEGIN

PROCESS(CLK,datain)

BEGIN

IF CLK'EVENT AND CLK='1' THEN

CASE datain IS

WHEN "000" => dataout WHEN "001" => dataout WHEN "010" => dataout WHEN "011" => dataout WHEN "100" => dataout WHEN "101" => dataout WHEN "110" => dataout WHEN "111" => dataout WHEN OTHERS =>dataout END CASE;

END IF;

END PROCESS;

END ARCHITECTURE bhv;

4.FPGA十分频程序,用VHDL写

我这个是可以实现多个分频的。

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY DVF IS

PORT(CLK:IN STD_LOGIC; ----时钟输入---

D:IN STD_LOGIC_VECTOR(7 DOWNTO 0); ----这个输入11111111-1010=1110101即是十分频----

FOUT:OUT STD_LOGIC); ----对CLK十分频后的输出----

END;

ARCHITECTURE ONE OF DVF IS

SIGNAL FULL:STD_LOGIC;

SIGNAL F_T:STD_LOGIC;

BEGIN

P_REG:PROCESS(CLK)

VARIABLE CNT8:STD_LOGIC_VECTOR(7 DOWNTO 0);

BEGIN

IF CLK'EVENT AND CLK='1' THEN

IF CNT8="11111111"THEN

CNT8:=D;

FULL&lt;='1';

ELSE CNT8:=CNT8+1;

FULL&lt;='0';

END IF;

END IF;

END PROCESS P_REG;

P_DIV:PROCESS(FULL)

VARIABLE CNT2:STD_LOGIC;

BEGIN

IF FULL'EVENT AND FULL='1' THEN

CNT2:=NOT CNT2;

IF CNT2='1' THEN

F_T&lt;='1';

ELSE F_T&lt;='0';

END IF;

END IF;

END PROCESS P_DIV;

FOUT&lt;=F_T;

END;

5.如果是用VHDL语言要怎么写呢

可以参考 xilinx 的 application note "Serial Code Conversion between BCD and Binary" ponent described above.bcdconvtb.vhd This contains a testbench which applies a serial binary input representing a range of binary numbers, and then writes out the corresponding BCD equivalents----------------------------------------------------------------------------------------------------- library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; use STD.textio.all; entity BCDConvTB is end; architecture Bench of BCDConvTB is component BCDConv generic (N : positive); port (Clock : in std_logic; Reset : in std_logic; Init : in std_logic; ModIn : in std_logic; ModOut : out std_logic; Q : out std_logic_vector(N*4-1 downto 0) ); end component; -- hold an array of BCD digits type BCDVectorT is array (natural range <>) of std_logic_vector(3 downto 0); -- number of digits implemented in this test bench constant N : positive := 5; -- BCD array as a single std_logic_vector (packed in 4 bits at a -- time) subtype BcdT is std_logic_vector(N*4-1 downto 0); signal Clock : std_logic; signal Reset : std_logic; signal Init : std_logic; -- Initialise BCD conversion signal ModIn : std_logic; -- modulus in, if we wanted to -- cascade lots of NDigits design entities signal ModOut : std_logic; -- modulus out, same reason as ModIn signal Q : BCDT; -- The outputs of the BCD conversion packed -- into a std_logic_vector -- Test bench control signal to ensure Clock stops when testing is over signal StopClock : boolean; -- Outputs of BCD conversion as an array of 4 bit digits. signal BCDVec : BcdVectorT(1 to N); -- Type to allow a table of test values type TableT is array (natural range <>) of Integer; -- some interesting values to test constant Table : TableT := (17,18,19,20,21,22,23,30,40,50, 60,70,80,90,91,92,93,94,95,96, 97,98,99,100,101,302, 555,707,9999,10100, 99999); signal TestInteger : Integer; begin UUT: BCDConv generic map (N => N) port map ( Clock => Clock, Reset => Reset, Init => Init, ModIn => ModIn, ModOut => ModOut, Q => Q); -- 100 ns clock. Clock loop stops automatically when the -- stimulus process has finished, using the boolean signal StopClock ClockGen: process begin while not StopClock loop Clock <= '0'; wait for 50 ns; Clock <= '1'; wait for 50 ns; end loop; wait; end process;-- -- Generate a set of values to test the Binary to BCD converter -- StimGen: process variable TestVal : BCDT; variable L : LINE; begin Reset <= '0'; ModIn <= '0'; Init <= '0'; wait until falling_edge(Clock); Reset <= '1'; wait until falling_edge(Clock); Reset <= '0';-- test all the values in the table write(L, STRING'("Expected:"), LEFT, 10); write(L, STRING'("Actual:"), LEFT, 10); writeline(OUTPUT,L); for I in Table'RANGE loop -- convert integer value to std_logic_vector TestVal := std_logic_vector(to_unsigned(Table(I), N*4)); -- assign the test value to an integer signal - easy to -- disply in the simulator TestInteger <= Table(I); write(L, Table(I), LEFT, 10); -- Loop round all the bits in the input vector for J in BCDT'RANGE loop -- initialise conversion if shifting 。

怎么用VHDL写变频器

转载请注明出处育才学习网 » 怎么用VHDL写变频器

知识

字幕产品广告怎么写

阅读(236)

本文主要为您介绍字幕产品广告怎么写,内容包括怎么写广告稿关于产品的··,怎么写一种产品的广告,广告词怎么写。电视广告文案的写作注意 电视广告所独具的蒙太奇思维和影视语言,决定电视广告文案(脚本)的写作既要遵循广告文案写作的一般规

知识

语cDIY怎么写

阅读(194)

本文主要为您介绍语cDIY怎么写,内容包括语cdiy是什么意思能外自戏的话可以有戏梗吧,中班简短童言稚语怎么写,幼儿园成长手册里的童言稚语怎么写。今天琪琪妈妈来接她回家,在幼儿园门口,琪琪妈妈问:“琪琪,今天上幼儿园开心吗?“琪琪:“不开心。“

知识

感情的尽头怎么写

阅读(251)

本文主要为您介绍感情的尽头怎么写,内容包括感情的尽头是什么,夫妻感情到尽头写首诗表达出分手的意,形容爱情,感情到尽头的古诗。你好,尊敬的百度知道用户朋友,很愿意为你问题作答东飞伯劳西飞燕,黄姑织女时相见。谁家女儿对门居,开颜发艳照里

知识

诚信与善意的谎言辨论稿怎么写

阅读(216)

本文主要为您介绍诚信与善意的谎言辨论稿怎么写,内容包括诚信与善意的谎言辩论怎么写,写一篇讲诚信与善意的谎言的辩论稿,诚信与善意的谎言辩论怎么写。善意的谎言是美丽的。当我们为了他人的幸福和希望适度地扯一些小谎的时候,谎言即变为理

知识

写文画模仿作文怎么写

阅读(206)

本文主要为您介绍写文画模仿作文怎么写,内容包括仿写作文怎么写啊,仿写文怎么写,仿写作文要模仿些什么呢。浅谈写好“仿写文”的几点感受 《语文课程标准》的颁布给我们的语文教学,包括作文教学带来了一股清新的气息,努力探索一条适应新课程

知识

农村自建房合同怎么写

阅读(241)

本文主要为您介绍农村自建房合同怎么写,内容包括农村建房施工合同怎么写,农村私人建房合同怎么写,农村自建房买卖合同怎么写。原发布者:知足常乐丶农村建房施工合同书甲方:姓名(或名称):身份证号:电话:乙方:姓名(或名称):身份证号:电话:甲方将位于的自住

知识

怎么写足球操的感受

阅读(263)

本文主要为您介绍怎么写足球操的感受,内容包括训练做足球操的感想作文400字,作文足球操训练的感受,训练做足球操的感想作文400字。在体育课上,每个同学都带了一个足球。有白的、黑的、红的、黄的各种颜色。五颜六色的足球像一个个大糖果,好看

知识

姿态的拍怎么写

阅读(197)

本文主要为您介绍姿态的拍怎么写,内容包括关于“姿态”的作文如何写,最美的姿态作文怎么写,最美的姿态作文怎么写,600字的。在静谧的夜晚,我喜欢捧上一本唐诗,或是一本宋词,伴着明亮的灯光却细细品味。从而爱上它们的主人,那些旷古的大写的人。

知识

零售代表的英文怎么写

阅读(272)

本文主要为您介绍零售代表的英文怎么写,内容包括零售的英文单词怎么写,零售的英文单词怎么写,零售药店代表英文怎么说。CS:Customer Satisfaction 顾客满意度4PS产品(Product)、价格(Price)、渠道(Place)、促销(

知识

评价电子公司怎么写

阅读(217)

本文主要为您介绍评价电子公司怎么写,内容包括电子厂年度考核个人总结及自我评价,电商类简历个人评价怎么写,参观一个公司对公司的评价怎么说。时间如箭一样地飞逝着。回顾到公司将近半年来,总在不知不觉中度过。我自己在工作中也是受益匪浅

知识

护理就业推荐表自我鉴定怎么写

阅读(237)

本文主要为您介绍护理就业推荐表自我鉴定怎么写,内容包括护理专业学生推荐表自我鉴定怎么写,护理就业推荐自我鉴定怎样写,护士推荐表自我鉴定300字。网上有推荐标的模版,你可以根据你的护理专业修改一下,例如:本人自入学以来,一直遵守学校的各

知识

苹果带字怎么写

阅读(210)

本文主要为您介绍苹果带字怎么写,内容包括带字苹果怎么做的,带字苹果怎么做的,关于苹果的作文怎么写。人见人爱的苹果我是人见人爱的苹果。秋天,是利于我们生长的美好季节。我们贪婪地吮吸着秋姑娘恩赐于我的甘露,在农民伯伯的精心照料下,茁壮

知识

1001.5大写怎么写

阅读(236)

本文主要为您介绍1001.5大写怎么写,内容包括11425大写怎么写,105000大写怎么写,119000大写怎么写。写成:壹佰捌拾陆圆。汉字“二、三、四、五、六、七、八、九、十、百、千”改为大写,用“壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟”

知识

会计账务处理错误怎么写说明

阅读(269)

本文主要为您介绍会计账务处理错误怎么写说明,内容包括会计科目记错调账说明怎么写哇,会计账务核算错误应怎么处理,会计科目记错调账说明怎么写哇。会计科目记错了的调账说明可以编写如下表格信息:表头需写:XX公司 会计差错更正或账务调整说

知识

vhdl右移怎么写

阅读(183)

本文主要为您介绍vhdl右移怎么写,内容包括vhdl怎么用算术左移,求高手,帮我看看VHDL描述八位右移移位寄存器哪里错了,用VHDL描述异步复位,同步置数和移位使能8位右移移位寄存器。library ieee;use ieee.std_logic_1164.all;use ieee.std_log

知识

vhdltestbench怎么写

阅读(256)

本文主要为您介绍vhdltestbench怎么写,内容包括怎样用VHDL写TESTBENCH,如何编写testbench来仿真VHDL程序,VHDLtestbench我要写16位串行数据接收,4000个怎么写。本文介绍如何写testbench来仿真VHDL程序。 通常testbench完成如下的任务:1. 实

知识

怎么用变频器

阅读(221)

本文主要为您介绍怎么用变频器,内容包括怎样正确使用变频器,怎样使用样变频器,变频器如何正确使用。我们要了解一台变频器的发热量大概是多少. 可以用以下公式估算: 发热量的近似值= 变频器容量(KW)*55 [W] 在这里, 如果变频器

知识

台达变频器报警OL问题

阅读(312)

台达变频器报警OL,OL指的是OverLoad,即过载的意思,因为负载过多发出警告,以免出现意外。OL即是通过软件比较计算后报出的保护电机或变频器的故障,可以通过调试解决,不涉及维修。造成OL可能原因:1.电网电压过低。2.电机额定电流设置不正确,偏大偏

知识

变频器的输出电压、电流问题

阅读(264)

1.变频器输出频率与输出电压之间对应关系:变频器输出频率与输出电压为正比。2.变频器输出频率与输入电流之间对应关系:变频器输出频率与输入电流的立方成正比。3.变频器的原理是先把交流电整流,变成直流电,然后再把直流电逆变成交流电,拖动负

知识

变频器工作频率与输出电压的关系

阅读(464)

变频器的输出频率与输出电压基本近似于平方的关系:1.变频器输出频率与输出电压之间对应关系:变频器输出频率与输出电压为正比。举例:当输出频率由五十赫兹调整为三十赫兹时,实测的输出电压为二百三十二伏。此时,输出频率为额定频率的百分之

知识

变频器和软启动的区别

阅读(251)

软起动器和变频器是两种完全不同用途的产品。变频器是用于需要调速的地方,其输出不但改变电压而且同时改变频率;软起动器实际上是个调压器,用于电机起动时,输出只改变电压并没有改变频率。变频器具备所有软起动器功能,但它的价格比软起动器贵

知识

AB、ABB、SIEMENS变频器分别是哪个国家的

阅读(272)

AB变频器是美国的,ABB变频器是瑞士的,SIEMENS变频器是德国的。AB变频器提供一种对电源、控制和操作员界面的灵活封装,用于满足空间、灵活性和可靠性要求,并提供丰富的作用。具有灵活性、节省空间和使用方便等特点。ABB变频器是由ABB集团研发

[/e:loop]