D
deepu_s_s
Guest
Hei kaverit,
Olen suunnittelussa 9 bit - 10 bit lisämäärää.Tämä on tehtävä katsoa eteenpäin lisämäärää.Tein että yksi käyttäen silmukan.Nyt ajattelin varten silmukan suunnittelussa on vähän kallis, joten päätin uudistaa suunnittelu ..
Olen välein muuttuja aiotaan muuttaa aina herkkyys luettelosta.Joten saada tuotantoa, se kestää 10 kierrosta.
En mukaan kellon, jotta se olisi puhtaasti monimuotoiset.Olen myös palauttaa asettaa joitakin alkuarvot.Mutta ei palauta lohko ei pystyvät, kukaan voi korjata ongelman?Tarvitsen sen hyvin nopeasti
"ajassa 1ns / 1PS
moduuli lisätoiminto (operand1, operand2, reset, summa);
input [8:0] operand1, operand2;
input reset;
output [9:0] summa;
reg [9:0] summa;
reg [8:0] g, p;
reg [9:0] tehdä;
reg [8:0] temp_sum;
reg overflow;
/ / wire temp;
integer i;aina @ (operand1 tai operand2 tai posedge Nollaa G tai P-tai I-tai harjoittaa tai temp_sum tai I-tai ylivuoto)
aloittaa
if (reset)
aloittaa
tehtävä = 10'b0000000000;
i = 0;
g = 9'b000000000;
p = 9'b000000000;
temp_sum = 9'b000000000;
loppu
muuten
aloittaa
if (i <=
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Viileä" border="0" />aloittaa
g = operand1 & operand2 ;
p = operand1 ^ operand2 ;
tehtävä [i 1] = (p & Carry ) | g ;
temp_sum = (p ^ hoitaa );
i = i 1;
loppu
muuten
aloittaa
overflow = tehtävä [9] ^ tehtävä [8];
summa = (ylivuoto == 1'b1)? (operand1 [8], temp_sum): (temp_sum [8], temp_sum);
loppu
loppu
loppuendmoduleThanks and regards
Paksu
Olen suunnittelussa 9 bit - 10 bit lisämäärää.Tämä on tehtävä katsoa eteenpäin lisämäärää.Tein että yksi käyttäen silmukan.Nyt ajattelin varten silmukan suunnittelussa on vähän kallis, joten päätin uudistaa suunnittelu ..
Olen välein muuttuja aiotaan muuttaa aina herkkyys luettelosta.Joten saada tuotantoa, se kestää 10 kierrosta.
En mukaan kellon, jotta se olisi puhtaasti monimuotoiset.Olen myös palauttaa asettaa joitakin alkuarvot.Mutta ei palauta lohko ei pystyvät, kukaan voi korjata ongelman?Tarvitsen sen hyvin nopeasti
"ajassa 1ns / 1PS
moduuli lisätoiminto (operand1, operand2, reset, summa);
input [8:0] operand1, operand2;
input reset;
output [9:0] summa;
reg [9:0] summa;
reg [8:0] g, p;
reg [9:0] tehdä;
reg [8:0] temp_sum;
reg overflow;
/ / wire temp;
integer i;aina @ (operand1 tai operand2 tai posedge Nollaa G tai P-tai I-tai harjoittaa tai temp_sum tai I-tai ylivuoto)
aloittaa
if (reset)
aloittaa
tehtävä = 10'b0000000000;
i = 0;
g = 9'b000000000;
p = 9'b000000000;
temp_sum = 9'b000000000;
loppu
muuten
aloittaa
if (i <=
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Viileä" border="0" />aloittaa
g = operand1 & operand2 ;
p = operand1 ^ operand2 ;
tehtävä [i 1] = (p & Carry ) | g ;
temp_sum = (p ^ hoitaa );
i = i 1;
loppu
muuten
aloittaa
overflow = tehtävä [9] ^ tehtävä [8];
summa = (ylivuoto == 1'b1)? (operand1 [8], temp_sum): (temp_sum [8], temp_sum);
loppu
loppu
loppuendmoduleThanks and regards
Paksu