8 bit códigos verilog UTA son necesarios

C

chooandmi

Guest
Hola!Estoy estudiando Ingeniería Elèctrica.Pero es difícil para mí.Es Ashame que coulnt ponerse al día.Se me dio la hw para completar los 8 bits utilizando aluminio ModelSim con
sumador, resta, multiplicador, la opción de la división y 2bit señal de seleccionar.
No tengo ni idea de cómo empezar.¿Puede usted progamming Ayuda asistente?Cuanto más pronto es el mejor

 
Este es el código de la muestra.
pero símbolo de operador de división de trabajo costumbre en Xilinx
para la división debe escribir usando el algoritmo sóloalu_code módulo (clk, reset, a, b, a, SEL);
CLK entrada, reajuste;
input [7:0] a, b;
input [1:0] sel;
de salida [8:0] out;
reg [8:0] out;siempre @ (clk posedge)
if (reset)
out = 9'bX_xxxx_xxxx;
algo más
caso (SEL)
00: a = a b;
01: a = a - b;
10: a = a * b;
11: a = a / b / / / / este operador no puede trabajar en Xilinx
endcase

endmodule

 
ALU tiene la versión de código diferente para las necesidades de diferentes!

 
Library ieee;
ieee.std_logic_1164.all uso;
ieee.std_logic_unsigned.all uso;
-------------------------------------------------- ----------
vhdl_alu entidad es
puerto
(a: in std_logic_vector (7 downto 0);
b: in std_logic_vector (7 downto 0);
sel: in std_logic_vector (3 downto 0);
cin: in std_logic;
Y: out std_logic_vector (7 downto 0));
vhdl_alu fin;
-------------------------------------------------- ----------
la arquitectura de flujo de datos es vhdl_alu
-------------------------------------------------- ----------
arith señal: std_logic_vector (7 downto 0);
la lógica de la señal: std_logic_vector (7 downto 0);
-------------------------------------------------- ----------
empezar
-------------------------------------------------- ----------
con sal (2 downto 0) seleccione

arith <= a cuando "000",
un 1 al "001",
A-1 cuando "010",
b cuando "011",
b 1, cuando "100",
b-1, cuando "101",
A B cuando "110",
a b cin cuando los demás;
-------------------------------------------------- ----------
con sal (2 downto 0) seleccione

lógica <= no, cuando "000",
b cuando no "001",
A y B, cuando "010",
A o B, cuando "011",
a b nand al "100",
A ni B, cuando "101",
A XOR B al "110",
(no un XOR b) cuando los demás;
-------------------------------------------------- ----------
con sal (3) Seleccione
y <= arith cuando '0 ',
lógica cuando los demás;
-------------------------------------------------- ----------
final de flujo de datos;usted puede agregar sus propias

 

Welcome to EDABoard.com

Sponsor

Back
Top