VHDL组合设计实例详解
1. 简单浮点编码器
在数字电路设计中,将定点数转换为浮点数格式是一个常见的问题。下面我们详细介绍简单浮点编码器的设计。
1.1 基本设计思路
确定浮点数的指数问题可以映射到MSI优先编码器,在HDL中则对应嵌套的“if”语句。以下是一个行为级的VHDL程序(表6 - 23),用于实现定点数到浮点数的转换:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
entity fpenc is
port (
B: in STD_LOGIC_VECTOR(10 downto 0); -- 定点数
M: out STD_LOGIC_VECTOR(3 downto 0); -- 浮点数尾数
E: out STD_LOGIC_VECTOR(2 downto 0) -- 浮点数指数
);
end fpenc;
architecture fpenc_arch of fpenc is
begin
process(B)
variable BU: UNSIGNED(10 downto 0);
begin
BU := UNSIGNED(B);
if BU < 16 then M <= B( 3 downto 0); E <= "000";
elsif BU < 32 then M <= B( 4 downto 1); E <= "001";
elsif BU < 64 then M
超级会员免费看
订阅专栏 解锁全文
759

被折叠的 条评论
为什么被折叠?



