vhdl计算机语言,vhdl语言编程实例.doc

news/2025/2/7 6:50:47/

vhdl语言编程实例

实现各种逻辑功能:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY louji1a IS

PORT(S: IN STD_LOGIC_VECTOR(2 DOWNTO 0);

C: IN STD_LOGIC;

A: IN STD_LOGIC_VECTOR(4 DOWNTO 0);

B: IN STD_LOGIC_VECTOR(4 DOWNTO 0);

F: OUT STD_LOGIC_VECTOR(4 DOWNTO 0)

);

END ENTITY louji1a;

ARCHITECTURE ONE OF louji1a IS

BEGIN

F<=A WHEN S="000" ELSE

A-B WHEN S="001" ELSE

A-1 WHEN (S="010" AND C='0') ELSE

A+1 WHEN (S="011" AND C='0') ELSE

A AND B WHEN S="100" ELSE

A OR B WHEN S="101" ELSE

A XOR B WHEN S="110" ELSE

NOT A WHEN S="111" ELSE

NULL;

END ARCHITECTURE ONE;

38译码器:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY yimaqi1a IS

PORT(A: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

B: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)

);

END ENTITY yimaqi1a;

ARCHITECTURE one OF yimaqi1a IS

--SIGNAL abc:STD_LOGIC_VECTOR(3 DOWNTO 0);

--SIGNAL def:STD_LOGIC_VECTOR(6 DOWNTO 0);

BEGIN

--abc<=A3&A2&A1&A0;

--def<=g&f&e&d&c&b&a;

PROCESS (A)

BEGIN

case A IS

WHEN"0000"=>B<="0111111";

WHEN"0001"=>B<="0000110";

WHEN"0010"=>B<="1011011";

WHEN"0011"=>B<="1001111";

WHEN"0100"=>B<="1100110";

WHEN"0101"=>B<="1101101";

WHEN"0110"=>B<="1111101";

WHEN"0111"=>B<="0000111";

WHEN"1000"=>B<="1111111";

WHEN"1001"=>B<="1101111";

WHEN"1010"=>B<="1110111";

WHEN"1011"=>B<="1111100";

WHEN"1100"=>B<="0111001";

WHEN"1101"=>B<="1011110";

WHEN"1110"=>B<="1111001";

WHEN"1111"=>B<="1110001";

WHEN OTHERS =>NULL;

END CASE ;

END PROCESS;

END ARCHITECTURE ONE;

十进制计数器:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY jishuqi1a IS

PORT(CLK,EN,CTRL,CLR:IN STD_LOGIC;

Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

CO:OUT STD_LOGIC);

END ENTITY jishuqi1a;

ARCHITECTURE BHV OF jishuqi1a IS

SIGNAL QQ :STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

PROCESS(CLK,EN,CTRL,CLR)

--VARIABLE QQ :STD_LOGIC_VECTOR(3 DOWNTO 0);

BEGIN

IF CLR='0' THEN QQ<="0000";

ELSIF CTRL='0' THEN QQ<="0000";

ELSIF CLK'EVENT AND CLK='1'

THEN IF EN='1' THEN IF QQ<9 THEN QQ<=QQ+1;E


http://www.ppmy.cn/news/866356.html

相关文章

vhdl语言基础篇-for

1、for语法使用规则 标号:for 循环变量 in 离散范围 generate <并行语句>; end generate 标号; 代码示例如下&#xff1a; signal data_7p4bit : std_logic_vector(7*4-1 downto 0); signal data_7p_bit : std_logic_vector(6 downto 0); G_04deg : for I i…

VHDL语言基础-VHDL程序的基本结构与主要构件

目录 VHDL程序的基本结构&#xff1a; 一个完整的VHDL程序包括&#xff1a; Example&#xff1a; VHDL的主要构件&#xff1a; VHDL程序的基本构件&#xff1a; 主要构件&#xff1a; VHDL的主要构件—库&#xff1a; 使用格式&#xff1a; Example&#xff1a; VHDL的…

笔记:FPGA与VHDL语言学习1

FPGA与VHDL语言学习1 目录 1.EDA,fpga,asic 2.CPLD与FPGA 3.设计一个三选一FPGA程序 4.使用由半加器与全加器程序生成一个f_adder全加器图形模块。试用4个f_adder模块组成一个4位全加器。 5.4&#xff5e;16译码器 6.设计乘法器 1.EDA技术与ASIC设计和FPGA开发有什么关系&am…

vhdl计算机语言,八周造个CPU(1):VHDL语言的实现和仿真方法,简单PC模块的实现和仿真...

鄙系有一门很著名的课,《计算机组成原理》,教你三周造台计算机。我们组今年眼瞎,选了挑战性课程,也就是教你一学期造台32位MIPS架构的计算机。前段时间全组人都被软工和编译原理所困扰(实际上,今天是编译原理第二次大作业的deadline,但我还没做完,但是我仍然在这里悠闲地…

根据以下原理图使用VHDL语言编写完整程序。

要求&#xff1a; &#xff08;1&#xff09;完成1164库文件程序编写。 &#xff08;2&#xff09;实体名为&#xff1a;gate&#xff0c;输入信号&#xff1a;A, B, C, D&#xff1b; 输出信号&#xff1a;Y&#xff1b;完成实体程序编写。 &#xff08;3&#xff09;根据…

c19级m序列VHDL语言,m序列详解及VHDL语言实现

目录 m序列的产生 简介 线性反馈移位寄存器 VHDL语言实现 代码 仿真图 m序列的产生 简介 m序列是最长线性反馈移位寄存器序列的简称,是由带线性反馈的移位寄存器产生的周期最长的序列。下图是一个4级线性反馈移位寄存器。 假若初始状态为( a 3 , a 2 , a 1 , a 0 ) = ( 1 , 0 …

用VHDL语言实现电子计时时钟

1. 目 录 2. 设计任务及要求 3. 课题总体设计 4. 模块设计 5. 系统仿真及结果 6. 设计总结 一、设计任务及要求 1.1设计任务 利用VHDL语言,实现电子计时时钟,要求能够显示分钟、秒钟,显示输出为共阴极数码管,要求: 1、电子计时时钟具有清零功能 2、驱动的数码管为共阴极…

VHDL语言的学习

FPGA设计语言VHDL的学习 语言简述VHDL与Verilog语言对比VHDL学习资料总结附录 语言简述 VHDL是较早的硬件描述语句&#xff0c;其逻辑严谨、抽象描述能力强是其特点。但是由于语法复杂学的人也变得少了起来&#xff0c;致使大多数同学学习verilog语言。但是&#xff0c;VHDL语…