《电子设计自动化》课程设计题目:2位十进制四则运算器电路院(系)专业届别班级学号姓名任课老师摘要本次设计的目的是通过QuartusII软件实现输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果(发光二极管显示运算模式;调用LPM_MULT、LPM_CONSTANT及LPM_DIVIDE模块)。实现的方法是利用四则运算的规律进行初步设计,然后进行调整和修改。最终结果要求:随机的输入两个数,经过加法、减法、乘法和除法的运算,可以得到正确的运算结果。主要分为4大部分:一、2位十进制数模块;二、加减乘除四则运算四个小模块;三、加减乘除四则运算的选择模块;四、处理输出结果的模块。目录1系统设计 42单元电路设计 53软件设计 54系统测试 145结论 146参考文献 141、系统设计设计要求:输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果;发光二极管显示运算模式;可调用LPM_MULT及LPM_DIVIDE模块。系统设计方案:系统设计思路要完成2位十进制四则运算器电路,首先,需要生成2个两位的十进制数,其次,需要加减乘除四个运算,然后,四种运算的选择,最后,对输出结果的处理。2个2位十进制模块:法一,用两个100进制计数器构成;法二,用4个10进制计数器构成。因为add1模块(后面详细介绍)只有两个输入口,所以选择法一比较方便。加减乘除四则运算:①加法:写一个加法程序,制成模块,再分别取出它的各位、十位、百位。②减法:写一个减法程序,用调用LPM的方法制成一个模块,在分别取出它的各位、十位和符号位。③乘法:直接调用内部LPM,制成乘法模块。④除法:直接调用内部LPM,制成除法模块。加减乘除运算的选择:写一个4路选择器,分别选择加减乘除。对输出结果的处理:写一个程序,对应不同选择下的不同输出,注意位数(加法:输出在0~198之间,需3个LED灯来显示;减法:输出在0~99之间,需3个LED灯(其中一个符号位);乘法:输出在0~9801之间,需4个LED灯;除法:输出在0~99之间,需2个LED灯。综上可知,输出一共需4个LED灯)。总体方案的论证与比较该方案能够较好的实现本设计的功能。一些小模块可以有不同做法。如:2位十进制模块:法一,用两个100进制计数器构成;法二,用4个10进制计数器构成。因为add1模块(后面详细介绍)只有两个输入口,所以选择法一比较方便。加减乘除输出结果的处理:要求出各个位的数。(假设输出结果3位)法一:每次除以10,依次求出个位、十位、百位;法二:除以100,得百位,除以10得个位和十位。因为法二需要较多的LPM_DIVIDE和LPM_CONSTANT,所以,法一比较好。(3)各功能块的划分与组成(4)系统的工作原理对于随机输入的两个数,系统都会对其进行加减乘除四则运算,然后选择加法、减法、乘法或除法来作为输出,并验证其正确性。2、单元电路设计一、输入单元(2个2位十进制模块)输入单元设计中,用VHDL语言来实现该功能,然后制成模块。二、加法单元对两个输入的数进行加法运算,可用VHDL语言来实现该功能。其输出结果在0~198之间,将其结果显示在LED灯上,就需调用4个LPM_DIVIDE和4个LPM_CONSTANT来实现。三、减法单元对两个输入的数进行减法运算,可用VHDL语言来实现。结果有正、负之分,“F”来表示负号。输出范围在0~99之间,需2个LPM_DIVIDE和2个LPM_CONSTANT来将其结果显示在LED灯上。四、乘法单元乘法单元可调用LPM_MULT模块来实现。其输出结果在0—9801之间,需4个LPM_DIVIDE和4个LPM_CONSTANT来将其结果显示在LED灯上。五、除法单元除法单元直接调用3个LPM_DIVIDE和2个LPM_CONSTANT就可以实现其要求。选择模式单元用VHDL语言写一个四路选择器程序,然后制成模块。七、输出单元用VHDL语言写一个程序可实现该功能,然后制成模块。3、软件设计一、软件设计平台和开发工具在在QuartusII平台中用VHDL语言编程和调试。并调用其QuartusII的内部模块来实现设计要求。二、程序原理图①总程序图及其仿真波形②一百进制模块其程序为:libraryieee;;;entityt100isport(clk,rst,en:instd_logic;cq:outstd_logic_vector(6downto0); cout:outstd_logic);endt100;architecturebehavoft100isbeginprocess(clk,rst,en)variablecqi:s
EDA课程设计--2位十进制四则运算器电路 来自淘豆网m.daumloan.com转载请标明出处.