硬件结构设计.doc
《硬件结构设计.doc》由会员分享,可在线阅读,更多相关《硬件结构设计.doc(17页珍藏版)》请在咨信网上搜索。
。 目录 摘要: 3 硬件结构设计原理: 4 原理图: 5 管脚图: 6 微程序控制操作方法: 9 微程序: 10 Romc改编代码 10 data_bus改编代码 12 摘要: 本次实验的功能是进行两个4位数的加法运算,并进行结果输出。在本次实验中,我们用到data_bus作为总线进行传输,reg_74373作为寄存器进行数据的存储,alu_74181进行加法运算。romc作为译码器进行初始状态的设定。通过这个加法器的设计,能够对硬件结构设计有了更好的了解,同时也加深了对计算机组成原理课程的理解。 硬件结构设计原理: 1.把模块romc改为九位输出oen,we1,we2,gwe1,oen_n1,gwe2, oen_n2,gwe3,oen_n3; 2.把模块reg_74244改为四位输入Din(3 0)和四位输出Qout(3 0);3.把模块data_bus改为四位输入data_in1(3 0),Data_in2(3 0),四位输出data_out1(3 0),data_out2(3 0),data_out3(3 0); 4.把模块reg_74373改为四位输入Din(3 0)和四位输出Qout(3 0);5.把模块alu_74181改为四位输入A(3 0),B(3 0),S(3 0),和四位输出F(3 0) 6.由romc向reg_74244中分别输入两个四位二进制的数,通过九位romc微程序控制器,在进入data_bus后,两个数分别被写入两个reg_74373中,再进入alu_74181进行加法运算,将运算结果输入data_bus,再由另外一个reg_74373读出。 原理图: 管脚图: ###------------CLOCK----------- NET "clk" LOC = "L15"; ###-------------Atlys led output------------------- #NET "atlys_led[0]" LOC = U18; #Atlys LD0 #NET "atlys_led[1]" LOC = M14; #Atlys LD1 #NET "atlys_led[2]" LOC = N14; #Atlys LD2 #NET "atlys_led[3]" LOC = L14; #Atlys LD3 #NET "atlys_led[4]" LOC = M13; #Atlys LD4 #NET "atlys_led[5]" LOC = D4; #Atlys LD5 #NET "atlys_led[6]" LOC = P16; #Atlys LD6 #NET "atlys_led[7]" LOC = N12; #Atlys LD7 ###-----------Atlys Switch input------------------- #NET "atlys_sw[0]" LOC = A10; # Atlys sw0 #NET "atlys_sw[1]" LOC = D14; # Atlys sw1 #NET "atlys_sw[2]" LOC = C14; # Atlys sw2 #NET "atlys_sw[3]" LOC = P15; # Atlys sw3 #NET "atlys_sw[4]" LOC = P12; # Atlys sw4 #NET "atlys_sw[5]" LOC = R5; # Atlys sw5 #NET "atlys_sw[6]" LOC = T5; # Atlys sw6 #NET "atlys_sw[7]" LOC = E4; # Atlys sw7 ###------------EES261 switch input---------- NET "din[0]" LOC = "U11"; #SW20 NET "din[1]" LOC = "R10"; #SW19 NET "din[2]" LOC = "U10"; #SW18 NET "din[3]" LOC = "R8"; #SW17 NET "S[0]" LOC = "M8"; #SW16 NET "S[1]" LOC = "U8"; #SW15 NET "S[2]" LOC = "U7"; #SW14 NET "S[3]" LOC = "N7"; #SW13 #NET "C_n" LOC = "T6"; #SW12 #NET "C_n_Plus" LOC = "R7"; #SW11 #NET "XLXN_9" LOC = "N6"; #SW10 #NET "swt[8]" LOC = "U5"; #SW9 #NET "swt[7]" LOC = "V5"; #SW8 #NET "swt[6]" LOC = "P7"; #SW7 #NET "swt[5]" LOC = "T7"; #SW6 #NET "swt[4]" LOC = "V6"; #SW5 NET "s0" LOC = "P8"; #SW4 NET "s1" LOC = "V7"; #SW3 NET "s2" LOC = "V8"; #SW2 NET "s3" LOC = "N8"; #SW1 ##----------EES261 leds output------------ NET "XLXN_21<0>" LOC = "U16"; #LED1 NET "XLXN_21<1>" LOC = "U15"; #LED2 NET "XLXN_21<2>" LOC = "U13"; #LED3 NET "XLXN_21<3>" LOC = "M11"; #LED4 NET "XLXN_9" LOC = "R11"; #LED5 #NET "led<5>" LOC = "T12"; #LED6 #NET "led<6>" LOC = "N10"; #LED7 #NET "led<7>" LOC = "M10"; #LED8 ###-------hex7seg------------------- # NET "an<0>" LOC = "V16"; # NET "an<1>" LOC = "V15"; # NET "an<2>" LOC = "V13"; # NET "an<3>" LOC = "N11"; # NET "a_to_g<0>" LOC = "T8"; #a # NET "a_to_g<1>" LOC = "V10"; #b # NET "a_to_g<2>" LOC = "T10"; #c # NET "a_to_g<3>" LOC = "V11"; #d # NET "a_to_g<4>" LOC = "N9"; #e # NET "a_to_g<5>" LOC = "P11"; #f # NET "a_to_g<6>" LOC = "V12"; #g # NET "dp" LOC = "T11"; #dp ###--------------END--------- 微程序控制操作方法: s0 s1 s2 s3 oen we1 we2 gwe1 oen_n1 gwe2 oen_n2 gwe3 oen_n3 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 0 微程序: Romc改编代码 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_unsigned.all; entity romc is Port ( s0 : in STD_LOGIC; s1 : in STD_LOGIC; s2 : in STD_LOGIC; s3 : in STD_LOGIC; oen : out STD_LOGIC; we1 : out STD_LOGIC; we2 : out STD_LOGIC; gwe1 : out STD_LOGIC; oen_n1 : out STD_LOGIC; gwe2 : out STD_LOGIC; oen_n2: out STD_LOGIC; gwe3 : out STD_LOGIC; oen_n3 : out STD_LOGIC ); end romc; architecture Behavioral of romc is signal addr : std_logic_vector(1 downto 0); --input signal rdata : std_logic_vector(3 downto 0); --output begin addr <= s3 & s2 & s1 & s0 ; process(addr) begin case (addr) is when "0000" => rdata <= "100010101"; when "0001" => rdata <= "010010101"; when "0011" => rdata <= "010110101"; when "0010" => rdata <= "010011001"; when "0110" => rdata <= "010000001"; when "0100" => rdata <= "000010101"; when "0101" => rdata <= "001010101"; when "0111" => rdata <= "001010111"; when "1000" => rdata <= "001010110"; when others => rdata <= "000000000"; end case; end process; oen <= rdata(0); we1 <= rdata(1); we2 <= rdata(2); gwe1 <= rdata(3); oen_n1 <= rdata(4); gwe2 <= rdata(5); oen_n2 <= rdata(6); gwe3 <= rdata(7); oen_n3 <= rdata(8); end Behavioral; data_bus改编代码 ---------------------------------------------------------------------------------- -- Company: -- Engineer: -- -- Create Date: 16:56:32 03/08/2013 -- Design Name: -- Module Name: data_bus - Behavioral -- Project Name: -- Target Devices: -- Tool versions: -- Description: -- -- Dependencies: -- -- Revision: -- Revision 0.01 - File Created -- Additional Comments: -- ---------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; -- Uncomment the following library declaration if using -- arithmetic functions with Signed or Unsigned values --use IEEE.NUMERIC_STD.ALL; -- Uncomment the following library declaration if instantiating -- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity data_bus is Port ( clk : in STD_LOGIC; data_in1 : in STD_LOGIC_VECTOR (3 downto 0); data_in2 : in STD_LOGIC_VECTOR (3 downto 0); data_in3 : in STD_LOGIC_VECTOR (3 downto 0); data_in4 : in STD_LOGIC_VECTOR (3 downto 0); data_out1 : out STD_LOGIC_VECTOR (3 downto 0); data_out2 : out STD_LOGIC_VECTOR (3 downto 0); data_out3 : out STD_LOGIC_VECTOR (3 downto 0); data_out4 : out STD_LOGIC_VECTOR (3 downto 0); data_io1 : inout STD_LOGIC_VECTOR (3 downto 0); data_io2 : inout STD_LOGIC_VECTOR (3 downto 0); we1 : in STD_LOGIC; we2 : in STD_LOGIC; we3 : in STD_LOGIC; we4 : in STD_LOGIC; we_io1: in STD_LOGIC; we_io2: in STD_LOGIC); end data_bus; architecture Behavioral of data_bus is signal bus_data_reg : STD_LOGIC_VECTOR (3downto 0); signal out_en : STD_LOGIC; begin out_en <= '0' when (we1='1' or we2='1' or we3='1' or we4='1' or we_io1 = '1' or we_io2 = '1') else '1'; data_io1 <= bus_data_reg when out_en = '1' else "ZZZZ"; data_io2 <= bus_data_reg when out_en = '1' else "ZZZZ"; data_out1 <= bus_data_reg; data_out2 <= bus_data_reg; data_out3 <= bus_data_reg; data_out4 <= bus_data_reg; process(clk) begin if clk'event and clk = '1' then if we1 = '1' then bus_data_reg <= data_in1; elsif we2 = '1' then bus_data_reg <= data_in2; elsif we3 = '1' then bus_data_reg <= data_in3; elsif we4 = '1' then bus_data_reg <= data_in4; elsif we_io1 = '1' then bus_data_reg <= data_io1; elsif we_io2 = '1' then bus_data_reg <= data_io2; end if; end if; end process; end Behavioral; THANKS !!! 致力为企业和个人提供合同协议,策划案计划书,学习课件等等 打造全网一站式需求 欢迎您的下载,资料仅供参考 -可编辑修改-- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬件 结构设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文