理学院。
school of science
电子设计自动化》课程。
考试程序设计。
一用vhdl语言设计八线—三线优先编码器。
library ieee;
use entity code is
port ( ain : in std_logic_vector(0 to 7);
output : out std_logic_vector(0 to 2));
end code;
architecture beh** of code is
signal sint : std_logic_vector(4 downto 0);
beginprocess(ain)
beginif (ain(7)='0') then output <=000";
elsif (ain(6)='0') then output <=100";
elsif (ain(5)='0') then output <=010";
elsif (ain(4)='0') then output <=110";
elsif (ain(3)='0') then output <=001";
elsif (ain(2)='0') then output <=101";
elsif (ain(1)='0') then output <=011";
else output <=111";
end if;
end process;
end beh**;
二用有限状态机设计可控**制计数器(有外来输入端,清零端)。
library ieee;
use entity state_4 is
port( up, con,reset, clk: in std_logic;
output: out integer range 0 to 3;
cout: out std_logic);
end state_4;
architecture one of state_4 is
type fsm_st is (s0,s1,s2,s3);
signal now_state,next_state:fsm_st;
signal q:std_logic;
beginreg:process(clk)
beginif reset='0' then now_state<=s0;
elsif clk'event and clk='1'
thenif con='1'then now_state<=next_state;
elsif con='0'
then now_state<=now_state;
if q='1' then cout<=q;
else cout<='0';
end if;
end if;
end if;
end process;
com:process(now_state,next_state)
beginif up='1'
thencase now_state is
when s0 =>next_state<=s1;output<=0;q<='0';
when s1 =>next_state<=s2;output<=1;q<='0';
when s2 =>next_state<=s3;output<=2;q<='0';
when s3 =>next_state<=s0;output<=3;q<='1';
when others =>next_state<=s0;q<='0';
end case;
elsif up='0'
thencase now_state is
when s0 =>next_state<=s3;output<=0;q<='1';
when s1 =>next_state<=s0;output<=1;q<='0';
when s2 =>next_state<=s1;output<=2;q<='0';
when s3 =>next_state<=s2;output<=3;q<='0';
when others =>next_state<=s3;q<='0';
end case;
end if;
end process;
end one;
三用原理图的方法将74161设计成十进制计数器,给出**结果。
四简述fpga与cpld的区别。
1. fpga采用sram进行功能配置,可重复编程,但系统掉电后,sram中的数据丢失。因此,需在fpga外加eprom,将配置数据写入其中,系统每次上电自动将数据引入sram中。cpld器件一般采用eeprom存储技术,可重复编程,并且系统掉电后,eeprom中的数据不会丢失,适于数据的保密。
2. fpga器件含有丰富的触发器资源,易于实现时序逻辑,如果要求实现较复杂的组合电路则需要几个clb结合起来实现。cpld的与或阵列结构,使其适于实现大规模的组合功能,但触发器资源相对较少。
3. fpga为细粒度结构,cpld为粗粒度结构。fpga内部有丰富连线资源,clb分块较小,芯片的利用率较高。cpld的宏单元的与或阵列较大,通常不能完全被应用,且宏单元之间主要通过高速数据通道连接,其容量有限,限制了器件的灵活布线,因此cpld利用率较fpga器件低。
4. fpga为非连续式布线,cpld为连续式布线。fpga器件在每次编程时实现的逻辑功能一样,但走的路线不同,因此延时不易控制,要求开发软件允许工程师对关键的路线给予限制。cpld每次布线路径一样,cpld的连续式互连结构利用具有同样长度的一些金属线实现逻辑单元之间的互连。
连续式互连结构消除了分段式互连结构在定时上的差异,并在逻辑单元之间提供快速且具有固定延时的通路。cpld的延时较小。
5. fpga基于sram的架构,集成度高,以le(包括查找表、触发器及其他)为基本单元,有内嵌memory、dsp等,支持io标准丰富。具有易挥发性,需要有上电加载过程。在实现复杂算法、队列调度、数据处理、高性能设计、大容量缓存设计等领域中有广泛应用,如altera stratix系列。
cpld基于eeprom工艺,集成度低,以microcell(包括组合部分与寄存器)为基本单元。具有非挥发特性,可以重复写入。
EDA课程设计
题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...
eda课程设计
哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...
eda课程设计
目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...