数字集成系统 第二讲

上传人:艾力 文档编号:35780979 上传时间:2018-03-20 格式:PDF 页数:54 大小:364.69KB
返回 下载 相关 举报
数字集成系统 第二讲_第1页
第1页 / 共54页
数字集成系统 第二讲_第2页
第2页 / 共54页
数字集成系统 第二讲_第3页
第3页 / 共54页
数字集成系统 第二讲_第4页
第4页 / 共54页
数字集成系统 第二讲_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《数字集成系统 第二讲》由会员分享,可在线阅读,更多相关《数字集成系统 第二讲(54页珍藏版)》请在金锄头文库上搜索。

1、系统级设计第二讲本讲大纲系统级设计的内容 设计实例1:移位乘法器 算法模型中考虑时序关系 硬件系统级模型的不同形式 设计实例2:三个模块组成的简单系统系统级设计的内容系统级设计的内容系统级设计目标系统级设计目标将电子系统(集成电路)的系统级自然 语言描述变换为可以仿真的(算法)模 型硬件的指标规范真值表系统级(算法)行为描述状态图系统级设计的步骤系统级设计的步骤把描述系统功能的文字分组,每组映射 为一个进程或块语句。这一步隐含着设 计的划分; 对每个进程确定激活进程的条件以及进 程激活后的动作; 写出VHDL源代码实现进程激活后的动 作。进程模型图PROC2: process(X, Y, Z)

2、 variable SVL, OVL: Std_logic; begin - 进程的行为描述 - 计算变量SVL和OVL的数值 S 0); elsif Add=1 then Accout C C C C C C C C Z); Daddr: in Std_logic_vector(4 downto 0); Maddr: out Std_logic_vector(4 downto 0) ); end ADD_Store;Daddr加法/存储模块 ADD_Store带的缓存寄存器 Buff_Reg随机存取 存储器 RAMResetENDavDi Strb CLKData_BusRam_AddrMe

3、mEn ReadWrite Rack WackADD_Store的算 法模型-结构体architecture ALG of ADD_Store is begin Control: process variable Data_Reg: Std_logic_vector(7 downto 0) ; begin Reset_loop: loop DataZ) after DIS_DEL; - CS0 wait until clkevent and clk=1; - if Reset = 1 then exit Reset_loop; end if; Run_loop: loop wait until

4、 clkevent and clk=1; - if reset = 1 then exit reset_loop; end if; wait until clkevent and clk=1 and Dav = 1; - EN Z) after DIS_DEL; wait until clkevent and clk=1; - end loop Run_loop; end loop Reset_loop; end process Control; end ALG;模块ADD_Store的进一步划分CLKResetDavDackWackEn ReadWriteDaddrMaddrD0CLK_Ge

5、nMemEn CS1 CS2 CS3 CS4 CS5588CUADU控制器部分数据路径部分加法单元ADU在的上升沿上检查控制信号CS2、CS3、CS4 和CS5,在这四个信号有效时该单元分别完成 下列操作: 加载数据寄存器; 执行加法运算; 输出存贮器地址; 把数据值送上数据总线。CLKResetDavDackWackEn ReadWriteDaddrMaddrD0CLK_GenMemEn CS1 CS2 CS3 CS4 CS5588CUADU控制器部分数据路径部分use IEEE.std_logic_1164.all; entity ADU is generic(DO_DEL, MA_DEL

6、: TIME); port(Clk : in Std_logic; CS2, CS3, CS4, CS5: in Std_logic; Data: inout Std_logic_vector(7 down to 0) := (others=Z); Daddr: in Std_logic_vector(4 downto 0); Maddr: out Std_logic_vector(4 downto 0) ); end ADU;Data_Reg := Data + Data_Reg; elsif CS3 = 1 then Maddr Z); endif; end process DU; end

7、 Behavior;architecture Behavior of ADU is begin DU: process(CS2, CS3, CS4, CS5); variable Data_Reg: Std_logic_vector(7 downto 0); begin wait until Clk=1 and ClkEvent; if CS2 = 1 then Data_Reg := Data; elsif CS4 = 1 then控制单元控制单元CU的的VHDL模型模型entity CU is generic(CS_DEL : TIME); port(Clk, Reset, Dav, Ra

8、ck, Wack: in Std_logic; CS1, CS2, CS3, CS4, CS5,MemEn : out Std_logic); end CU;architecture FSM of CU is type STATES is (Cstep0, Cstep1, Cstep2, Cstep3, Cstep4, Cstep5); signal State, Next_State : STATES; begin Compute: process(Reset, Dav, Rack, Wack, State) begin case State is when Cstep0 = if Dav=

9、1 then Next_State CS1 CS1 CS2 CS3 CS4 = 0; CS5 = 1; if Reset=1 then Next_State = Cstep0; elsif Wack=1 then Next_State = Cstep0; else Next_State = Cstep5;end if; MemEn = 1; end case; end process Compute;Update: process begin wait until Clk=1 and ClkEvent; State = Next_State; end process Update; end F

10、SM;实体CU的结构体FSM和 实体ADD_STORE的结构体ALG的比较实体ADD_STORE的结构体ALG是行为级代码,行为级代码的状 态是隐含表示的,而实体CU的结构体FSM的代码是寄存器级的有 限状态机模型,其状态是直接表示的; 行为级代码中,复位处理用exit 退出当前循环实现,但是这实际 上隐含着一个问题,就是复位处理只能在循环入口处进行,而寄 存器传输级代码中,每一个状态均有检查复位信号的代码,即复 位可以在任意状态下开始; 行为模型中,控制与运算处理结合在一起,而寄存器传输级代码 中,这两部分是分离的,控制器只负责输出控制信号,运算部件 由实体ADU的结构体Behavior给出

11、,它只负责在相应控制信号有 效时执行操作。之所以作这样的划分,是为了适应综合工具的要 求,因为综合工具在单独处理有限状态机和数据运算电路时能够 取得理想的综合结果。Q QQDCQDCQ QQDCQDCQ QQDCQDCQ QQDCQDCSRRRCS6CLKCLKCLKCLKCLKNRNRNRNRCS0F1DSRRRCS6CLKCLKCLKCLKCLKNRNRNRNRCS0F1DENCS2ENCS2CS3READC7 C9C1C2C3NDAVCS3READC7 C9C1C2C3NDAVQ QQDCQDCQ QQDCQDCQ QQDCQDCRRRCS4CLKCLKNRNR?RKCS4RRRCS4CLKCLKNRNR?RKCS4CS5WRITEC4C5RESETCS5WRITEC4C5RESETQ QQDCQDCQ QQDCQDCRRCS6CLKNR?WKC6RESETC0C10C12RRCS6CLKNR?WKC6RESETC0C10C12WACKCS6RESETNRWACKCS6RESETNRDAVNDAVDAVNDAVMEMENCS3CS5CS1MEMENCS3CS5CS1RACKRACK

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号