EDA技术与VHDL(A卷答案)(2)

2020-06-19 09:28

2. 看下面原理图,写出相应VHDL描述(10分)

xinINPUTDFFORDFFDclkINPUTQDQOUTPUTyout

LIBARRY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY MYCIR IS PORT ( XIN, CLK : IN STD_LOGIC; YOUT : OUT STD_LOGIC); END MYCIR;

ARCHITECTURE ONE OF MYCIR IS SIGNAL A, B, C; BEGIN B <= XIN OR A; PROCESS (CLK) BEGIN IF CLK?EVENT AND CLK = ?1? THEN A <= C; C <= B; END IF; END PROCESS; YOUT <= C; END ONE;

第 6 页 共 8 页 六、综合题:(20分) (一) 已知状态机状态图如图(a)所示;完成下列各题: 得分 评阅人

1. 试判断该状态机类型,并说明理由。(2分)

该状态机为moore型状态机,输出数据outa和输入ina没有直接逻辑关系

2. 根据状态图,写出对应于结构图(b),分别由主控组合进程和主控时序进程组成的VHDL有限状态机描述。(10分)

Library ieee;

Use ieee.std_logic_1164.all; Entity mooreb is Port (clk, reset : in std_logic; Ina : in std_logic_vector (1 downto 0); Outa : out std_logic_vector (3 downto 0) ); End mooreb;

Architecture one of mooreb is Type ms_state is (st0, st1, st2, st3); Signal c_st, n_st : ms_state; Begin Process (clk, reset) Begin If reset = ?1? then c_st <= st0; Elsif clk?event and clk = ?1? then c_st <= n_st; End if; End process; Process (c_st) Begin

第 7 页 共 8 页

Case c_st is

When st0 => if ina = “00” then n_st <= st0; Else n_st <= st1; End if; Outa <= “0101”;

When st1 => if ina = “00” then n_st <= st1;

Else n_st <= st2; End if; Outa <= “1000”; When st2 => if ina = “11” then n_st <= st0; Else n_st <= st3; End if; Outa <= “1100”; When st3 => if ina = “11” then n_st <= st3; Else n_st <= st0; End if; Outa <= “1101”; When others => n_st <= st0; End case; End process;

End one;

第 8 页 共 8 页 (二)已知一个简单的波形发生器的数字部分系统框图如下图所示

图中lcnt、lrom都是在QuartusII中使用MegaWizard调用的LPM模块,其VHDL描述中Entity部分分别如下: ENTITY lcnt IS PORT ( clock : IN STD_LOGIC ; q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0)); END lcnt;

ENTITY lrom IS PORT ( address : IN STD_LOGIC_VECTOR (9 DOWNTO 0); q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0)); END lrom; 试用VHDL描述该系统的顶层设计(使用例化语句)。(8分) Library ieee;

Use ieee.std_logic_1164.all; Entity mysg is Port (clk : in std_logic; To_da : out std_logic_vector (9 downto 0) ); End mysq;

Architecture one of mysq is Signal addr : std_logic_vector (9 downto 0); Component lcnt Port (clock : in std_logic; Q : out std_logic_vector (9 downto 0) ); End component; Component lrom Port (address : in std_logic_vector (9 downto 0); Q : out std_logic_vector (9 downto 0) ); End component; Begin U1 : lcnt port map (clock => clk, q => addr); U2 : lrom port map (address => addr, q => to_da);

End one;

第 9 页 共 8 页


EDA技术与VHDL(A卷答案)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:进口商、出口商、工厂快速入门(LC CIF TT FOB)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: