eda作业及实验报告。
姓名:许文祥学号:20091003791 班级:072093
第七章宏功能模块与ip应用。
7-5 将例7-4的顶层程序和例7-3的rom程序合并成为一个程序,要求用例化语句直接调用lpm模块altsyncram,编译验证,使之功能与原设计相同。
vhdl文件:
library ieee;
library altera_mf;
use altera_
use use
entity singt is
port ( clk : in std_logic;
dout : out std_logic_vector (7 downto 0) )
end;architecture dacc of singt is
component altsyncram
generic (
intended_device_family : string;
width_a : natural; widthad_a : natural;
numwords_a : natural; operation_mode : string;
outdata_reg_a : string; address_aclr_a : string;
outdata_aclr_a : string; width_byteena_a : natural;
init_file : string; lpm_hint : string;
lpm_type : string );
port ( clock0 : in std_logic ;
address_a : in std_logic_vector (5 downto 0);
q_a : out std_logic_vector (7 downto 0) )
end component;
signal q1 : std_logic_vector (5 downto 0);
beginprocess(clk )
beginif clk'event and clk = 1' then q1<=q1+1;
end if;
end process;
altsyncram_component : altsyncram
generic map ( intended_device_family =>cyclone",
width_a =>8,
widthad_a =>6,
numwords_a =>64,
operation_mode =>rom",outdata_reg_a =>unregistered",
address_aclr_a =>none",
outdata_aclr_a =>none",
width_byteena_a =>1,
init_file =>datahex/",
lpm_hint =>enable_runtime_mod=yes, instance_name=none",lpm_type =>altsyncram" )
port map(clock0=>clk,address_a=>q1,q_a=>dout);
end ;rtl文件:
实验与设计:
7-2(1) 8位十六进制频率计设计。
vhdl描述:
library ieee; -测频控制。
use use
entity ftctrl is
port ( clkk : in std_logic; -1hz
cnt_en,rst_cnt,load : out std_logic);
end ftctrl;
architecture beh** of ftctrl is
signal div2clk : std_logic;
beginprocess( clkk )
beginif clkk'event and clkk = 1' then div2clk <=not div2clk;
end if;
end process;
process (clkk, div2clk)
beginif clkk='0' and div2clk='0' then rst_cnt <=1';
else rst_cnt <=0'; end if;
end process;
load <=not div2clk ; cnt_en <=div2clk;
end beh**;
library ieee; -32位锁存器。
use entity reg32b is
port ( lk : in std_logic;
din :
in std_logic_vector(31 downto 0);
dout :
out std_logic_vector(31 downto 0) )
end reg32b;
architecture beh** of reg32b is
beginprocess(lk, din)
beginif lk'event and lk = 1' then dout <=din; -时钟到来时,锁存输入数据。
end if;
end process;
end beh**;
library ieee; -32位计数器。
use use
entity counter32b is
port ( enabl,clr,fin : in std_logic;
dout: out std_logic_vector(31 downto 0));
end counter32b;
architecture beh** of counter32b is
signal cqi : std_logic_vector(31 downto 0);
beginprocess( enabl,clr,fin )
beginif clr='1' then cqi <=others=>'0');清零。
elsif fin'event and fin='1' then
if enabl='1' then cqi<= cqi + 1;
end if;
end if;
end process;
dout <=cqi;
end beh**;
library ieee;
use entity preqtest is
port(clk1hz:in std_logic;
fsin:in std_logic;
dout:out std_logic_vector(31 downto 0));
end preqtest;
architecture struc of preqtest is
component ftctrl
port(clkk:in std_logic;
cnt_en:out std_logic;
rst_cnt:out std_logic;
load:out std_logic);
end component;
component counter32b
port(fin:in std_logic;
clr:in std_logic;
enabl:in std_logic;
dout:out std_logic_vector(31 downto 0));
end component;
component reg32b
port(lk:in std_logic;
din:in std_logic_vector(31 downto 0);
dout:out std_logic_vector(31 downto 0));
end component;
signal tsten1:std_logic;
signal clr_cnt1:std_logic;
signal load1:std_logic;
signal dt01:std_logic_vector(31 downto 0);
signal carry_out1:std_logic_vector(6 downto 0);
beginu1: ftctrl port map(clkk=>clk1hz,cnt_en=>tsten1,rst_cnt=>clr_cnt1,load=>load1);
u2:reg32b port map(lk=>load1,din=>dt01,dout=>dout);
u3:counter32b port map(fin=>fsin,clr=>clr_cnt1,enabl=>tsten1,dout=>dt01);
end struc;
rtl文件:
波形**:第八章状态机设计。
8-5 在不改变原**功能的条件下用两种方法改写例8-2,使其输出的控制信号(ale、start、oe、lock)没有毛刺。方法1:将输出信号锁存后输出;方法2:
使用状态码直接输出型状态机,并比较这三种状态机的特点。
EDA作业
电子电路基础 eda作业。multisim的应用之晶体管放大器的设计与调测。本实验的主要目的是熟悉multisim软件的使用,包括电路图编辑,虚拟仪器仪表的使用和掌握常见电路分析方法。能够运用multisim软件对模拟电路进行设计和性能分析,掌握eda设计的基本方法和步骤。熟练掌握有关单级放大电路有...
EDA作业
山东交通学院。eda电路 设计软件。设计报告。班级电气111 姓名罗汉林。学号 110812135 专业电气工程及其自动化 学院信电学院。简易频率计数器的设计。设计说明。频率的测量实际上就是在1个单位时间内 通常1s 对信号脉冲进行计数,计数值就是信号频率。1.设计目标。用at89s51设计一个数显...
EDA作业
控制灯亮灭的一个eda程序 library ieee use use 以上三条语句引入可用的函数库。entity light is 定义实体,名为light port clk1 in std logic 程序仅有时钟信号这一个输入。light buffer std logic vector 7 do...