Welcome Guest ( Log In | Register )

33 Pages « < 9 10 11 12 13 > » Bottom

Outline · [ Standard ] · Linear+

 Computer Engineering Thread, # 67 members already :D #

views
     
ikanayam
post Dec 3 2005, 01:31 PM

there are no pacts between fish and men
********
Senior Member
10,544 posts

Joined: Jan 2003
From: GMT +8:00

QUOTE(nUtZ` @ Dec 2 2005, 09:12 PM)
ahhh... memories.. biggrin.gif that stuff use to give me nightmares.... 24 hours in the lab.. smelly and squiting my eyes to see if there's any cross over wires...

as your project... why not build a Triple DES encryption chip?
*
That's the stuff that keeps me up man, i like it a lot. Once i start doing it i don't eat and i don't sleep. I only stop when my eyes start losing focus laugh.gif

Triple DES encryption... i'll keep that in mind, i still have a lot of time to think about it.
siaokia
post Dec 3 2005, 08:22 PM

HIii.. HikHikHik!!
Group Icon
VIP
1,811 posts

Joined: Jan 2003
From: ...too mUch...


Report in.. Final Year in Electronic Eng. smile.gif
X10A Freedom
post Dec 3 2005, 10:45 PM

ZGMF-X20A Strike Freedom Gundam
*******
Senior Member
3,875 posts

Joined: Jan 2003
From: SJ


QUOTE(charge-n-go @ Dec 3 2005, 09:59 AM)
lol, i was so blur to notice last nite tongue.gif
btw, i'm using a NAND b NAND l3 at 1st, but the NAND syntax doesnt allow me to do so, and the compiler asked me to put into bracket form.
thanx for your long feedback biggrin.gif
anyway, i think my de morgan should be ok (pls refer to the diagram attached). I've tested with a set of input and it is identical to the original AND-OR. Maybe i should try your method as quoted above wink.gif
Hmm... how about building custom gate with vhdl tongue.gif
maybe i'll js define NAND3 component with this function:
output <= NOT (x AND y AND z);

well, fishy, we not only celebrate here if u win, but oso in the pizza  thumbup.gif
*
from the bold sentence, this is due to the fact maxplus 2 doesn't have NAND3
it only has NAND2
theoratically(based on the actual standard), it should be supported......but u know, they done this to suite their hardware requirement, that's why sometimes people prefer to use hdl designer and modelsim to do their simulation because these tools are created to support the standard(and not like Altera etc which build the software to support their hardware)
building custom gates? i don't think it's possible with vhdl........unless they allow you to do UDP(User Defined Primitives) which so far MaxPlus2 isn't supported(and i think vhdl doesn't have these, only Verilog as far as i know)

QUOTE(charge-n-go @ Dec 3 2005, 10:51 AM)
btw, wat is "Quin-McClusky", hahaha.

Here is the comparison of this design and the mux approach.
*
better alternative to k-map
but i always use multisim to simplify my design(yah, i'm lazy), that software uses QM method

QUOTE(martianunlimited @ Dec 3 2005, 11:36 AM)
Quine McCluskey (I can never spell that properly, hence i keep using the name QM) is a reduction technique to reduce the logic to a SOP (sum of products). QM gives most benefit when you are dealing with a lot of outputs (eg. BCD convertor, LCD interface), otherwise K-Map would be easier (i suggested QM because you have 6 inputs, and it's not easy to build a 6 input K-Map)

http://en.wikipedia.org/wiki/Quine-McCluskey_algorithm
(Using QM on my digital clock circuit got me a A+ for "digital logic and design") tongue.gif (i didn't know that there was a 2 digit decimal->BCD then a BCD->LCD convertor and i actually did a 6 bit binary number -> LCD (14 outputs.. VERY painful to reduce... (especially for the LCD for the first digit)
*
actually, QM is more suited for odd number variable, if it's even number, k-map is easier, but no matter what, it's not as accurate as QM(k-map needs more practice to grasp the correct method, while QM is tedious, but more easier to pick up and highly accurate)



p/s: anyone modelled a RAM using Verilog b4? mine seems to have problem(minor delay when combined with the controller)

dual-port RAM
CODE

module ram_test4(data_out, data_in, r_add, w_add, clk, write_en, read_en);
output[5:0] data_out;  //data output for read signal
input[5:0] r_add, w_add;  //read and write address
input[5:0] data_in;   //data input to be written to RAM
input clk, write_en, read_en;    //enable write option

reg[5:0] mem[35:1];

assign data_out = read_en? mem[r_add]:5'bz;

always@(posedge write_en)
begin
if(write_en)
mem[w_add]<=data_in;
else
mem[w_add]<=mem[w_add];
end

endmodule


write controller
CODE

module write_control3(en_write1, en_write2, w_add, clk, reset, en);
output[5:0] w_add;
output en_write1, en_write2;
input clk, reset, en;

reg[6:0] count;
reg[5:0] w_add;
reg en_write1, en_write2;

always@(posedge reset or posedge clk)
begin
if(reset)
 count<=7'b0;

else if(~en)
 count <= count;

else if(count<35 && en==1)
 count <= count + 1;

else if(count<70 && en==1)
 count <= count + 1;

else if(count>69 && en==1)
 count <= 7'b1;
end

always@(en or clk)
begin
if(count<36)
begin
 w_add <= count[5:0];
 en_write1 <= en;
 en_write2 <= 1'b0;
end
else if(count<71)
begin
 w_add <= count[5:0]-35;
 en_write1 <= 1'b0;
 en_write2 <= en;
end
end
endmodule


read control
CODE

module read_control2(en_read1, en_read2, r_add, clk, reset, en);
output[5:0] r_add;
output en_read1, en_read2;
input clk, reset, en;

reg[6:0] count;
reg[5:0] r_add;
reg en_read1, en_read2;

always@(posedge reset or posedge clk)
begin
if(reset)
 count<=7'b0;

else if(~en)
begin
 count <= count;
 en_read1 <= 1'b0;
 en_read2 <= 1'b0;

 
end
else if(count<35 && en==1)
begin
 count <= count + 1;
 en_read1 <= 1'b1;
 en_read2 <= 1'b0;

end
else if(count<70 && en==1)
begin
 count <= count + 1;
 en_read1 <= 1'b0;
 en_read2 <= 1'b1;  

end
else if(count>69 && en==1)
 count <= 7'b1;
end

always@(en)
begin
if(count<36)
begin
 r_add <= 36 - count[5:0];

end
else if(count<71)
begin
 r_add <= 71 - count[5:0];

end
end
endmodule


problem with the simulation is that it supposed to store data 0-34
but upon reading out the data, it stored 1-35 doh.gif
i was wondering if there's a solution to it

This post has been edited by X10A Freedom: Dec 3 2005, 11:07 PM
ikanayam
post Dec 4 2005, 12:01 AM

there are no pacts between fish and men
********
Senior Member
10,544 posts

Joined: Jan 2003
From: GMT +8:00

QUOTE(X10A Freedom @ Dec 3 2005, 09:45 AM)
dual-port RAM
CODE

module ram_test4(data_out, data_in, r_add, w_add, clk, write_en, read_en);
output[5:0] data_out;  //data output for read signal
input[5:0] r_add, w_add;  //read and write address
input[5:0] data_in;   //data input to be written to RAM
input clk, write_en, read_en;    //enable write option

reg[5:0] [B]mem[35:1];[/B]

assign data_out = read_en? mem[r_add]:5'bz;

always@(posedge write_en)
begin
if(write_en)
mem[w_add]<=data_in;
else
mem[w_add]<=mem[w_add];
end

endmodule


problem with the simulation is that it supposed to store data 0-34
but upon reading out the data, it stored 1-35 doh.gif
i was wondering if there's a solution to it
*
Could it be because of what i highlighted? or you really meant it to be that way? (too lazy to read the entire thing tongue.gif )
jinaun
post Dec 4 2005, 12:24 AM

where are my stars???
Group Icon
Elite
6,139 posts

Joined: Jan 2003
emm.. 1 noob question here..

you guys uses programming languages to design dies physically?

how does it gets from codes on screen to gates/transistors level on silicon?

i've checked abit here http://www.cadence.com/ and i seems nowdays chips are software designed... right?

all along i tot it was design on broadsheets of papers..etc etc like electronics circuits diagrams

This post has been edited by jinaun: Dec 4 2005, 12:31 AM
X10A Freedom
post Dec 4 2005, 12:34 AM

ZGMF-X20A Strike Freedom Gundam
*******
Senior Member
3,875 posts

Joined: Jan 2003
From: SJ


QUOTE(ikanayam @ Dec 4 2005, 12:01 AM)
Could it be because of what i highlighted? or you really meant it to be that way? (too lazy to read the entire thing tongue.gif )
*
it was meant to be this way
but it might be it, i haven't check that though
the reason i make it that way coz the write controller(it's actually a counter) always starts from 1 when it receices a posedge(which means you'll never get a 0 at posedge)
and i make the write address to be the same as the counter
therefore i made the mem depth to 35:1 instead of 34:0

QUOTE(jinaun @ Dec 4 2005, 12:24 AM)
emm.. 1 noob question here..

you guys uses programming languages to design dies physically?

how does it gets from codes on screen to gates/transistors level on silicon?
*
use synthesis tools
but u're code needs to be in RTL form instead of behavioral form since synthesis tool cannot synthesize behavioral coding
traditional method is to convert it manually(that means u have to know the logic circuit based on the codes and then convert it to transistor level)
silkworm
post Dec 4 2005, 08:56 AM

Enthusiast
Group Icon
Elite
965 posts

Joined: Jan 2003
From: Kajang


Never used verilog and VHDL lessons were 8 years ago, but I'll give it my 2 sen...
address is 6 bits wide, but memory depth is only 35 words, what's up with that?
you're using the same counter as the address and data input? then address 0 will never be accessed and the first data will always be 1.
you can make your controllers easier by having an extra 1 address bit and then using the most significant bit to flip EN to enable RAM bank number 2, but that'd only work if you let the counter run the full length of the addressable range (0-63).

This post has been edited by silkworm: Dec 4 2005, 12:29 PM
TScharge-n-go
post Dec 4 2005, 09:46 AM

Look at all my stars!!
*******
Senior Member
4,060 posts

Joined: Jan 2003
From: Penang / PJ

QUOTE(X10A Freedom @ Dec 3 2005, 10:45 PM)
from the bold sentence, this is due to the fact maxplus 2 doesn't have NAND3
it only has NAND2
theoratically(based on the actual standard), it should be supported......but u know, they done this to suite their hardware requirement, that's why sometimes people prefer to use hdl designer and modelsim to do their simulation because these tools are created to support the standard(and not like Altera etc which build the software to support their hardware)
building custom gates? i don't think it's possible with vhdl........unless they allow you to do UDP(User Defined Primitives) which so far MaxPlus2 isn't supported(and i think vhdl doesn't have these, only Verilog as far as i know)
I've successfully 'built' NAND_3 and NAND_4. It's quite easy actually, hahah. (it's better to say 'described' a new gate) tongue.gif

CODE
LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY nand_3 IS
PORT(
  x, y, z : IN STD_LOGIC;
  output  : OUT STD_LOGIC
 );
END ENTITY;


ARCHITECTURE n3 OF nand_3 IS

BEGIN
output <= NOT(x AND y AND z);

END n3;

X10A Freedom
post Dec 4 2005, 01:19 PM

ZGMF-X20A Strike Freedom Gundam
*******
Senior Member
3,875 posts

Joined: Jan 2003
From: SJ


QUOTE(silkworm @ Dec 4 2005, 08:56 AM)
Never used verilog and VHDL lessons were 8 years ago, but I'll give it my 2 sen...
address is 6 bits wide, but memory depth is only 35 words, what's up with that?
you're using the same counter as the address and data input? then address 0 will never be accessed and the first data will always be 1.
you can make your controllers easier by having an extra 1 address bit and then using the most significant bit to flip EN to enable RAM bank number 2, but that'd only work if you let the counter run the full length of the addressable range (0-63).
*
35 = 100011 which is 6-bit
i never meant to access address 0
that's why i put my ram depth [35:1]
unless putting it that way still make the first address 000000
i'll check and see if the first address is still 000000, but that could be the problem though
the problem is that i need to run the counter till 70
the first 35 to store the first set of data, the subsequent to store the 2nd set
any ideas of making the controller easier other than the things u suggested?

This post has been edited by X10A Freedom: Dec 4 2005, 01:20 PM
silkworm
post Dec 4 2005, 03:15 PM

Enthusiast
Group Icon
Elite
965 posts

Joined: Jan 2003
From: Kajang


any particular reason why your dataset/memory depth is not a power of 2 other than "it says so on the question paper" ? tongue.gif
can try an oddball addressing scheme, like using gray codes instead of a straight binary sequence, but that'd only complicate things more laugh.gif
X10A Freedom
post Dec 4 2005, 04:49 PM

ZGMF-X20A Strike Freedom Gundam
*******
Senior Member
3,875 posts

Joined: Jan 2003
From: SJ


QUOTE(silkworm @ Dec 4 2005, 03:15 PM)
any particular reason why your dataset/memory depth is not a power of 2 other than "it says so on the question paper" ? tongue.gif
can try an oddball addressing scheme, like using gray codes instead of a straight binary sequence, but that'd only complicate things more laugh.gif
*
gray code?! nah, i need the data in sequence and i don't need to make my design any complicated again, gotta rush this behavioral coding to structural one as i think i'm running out of time tongue.gif
it's not said so in the question paper though(coz there's no question paper at all laugh.gif XD)
it's the requirement of my viterbi decoder
it's 35 because the decoder will process data every 35 time frames and each time frame it'll need to store a value that was processed within a certain section, hence accumulating 35 values after 35 times frames for the other section to process the data

anyways, memory depth is power 2 of wat? i didn't knew there were such restriction/criteria

anyways, i've already solve the problem, seems like it's due to the clock edge not being able to detect the first data, therefore i synchronize the data input with the write controller smile.gif

QUOTE(charge-n-go @ Dec 4 2005, 09:46 AM)
I've successfully 'built' NAND_3 and NAND_4. It's quite easy actually, hahah. (it's better to say 'described' a new gate) tongue.gif

CODE
LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY nand_3 IS
PORT(
  x, y, z : IN STD_LOGIC;
  output  : OUT STD_LOGIC
 );
END ENTITY;
ARCHITECTURE n3 OF nand_3 IS

BEGIN
output <= NOT(x AND y AND z);

END n3;

*
haha, that's not really creating a UDP(User Defined Primitive) coz the transistor count is different tongue.gif (3 input NAND has 6 transistor while 3 input AND with NOT will have 8)
maybe u should at least try Quartus 2 or HDL designer & Modelsim, it's better than Maxplus2 tongue.gif

This post has been edited by X10A Freedom: Dec 4 2005, 04:59 PM
TScharge-n-go
post Dec 4 2005, 08:02 PM

Look at all my stars!!
*******
Senior Member
4,060 posts

Joined: Jan 2003
From: Penang / PJ

QUOTE
haha, that's not really creating a UDP(User Defined Primitive) coz the transistor count is different tongue.gif (3 input NAND has 6 transistor while 3 input AND with NOT will have 8)
maybe u should at least try Quartus 2 or HDL designer & Modelsim, it's better than Maxplus2 tongue.gif
lol, u r right. but my project requirement is Max Plus 2 as the main simulation tool. I js wanna prove that AND-OR combination can be reduced to NAND.
pakau
post Dec 6 2005, 12:30 AM

New Member
*
Junior Member
20 posts

Joined: Jan 2003
From: AlorSetar>>Ipoh>>AlorSetar


can i join dis club? biggrin.gif biggrin.gif biggrin.gif
E&E Universiti Teknologi Petronas,dis jan06 shud be in 4th year 1st sem
ikanayam
post Dec 9 2005, 02:44 PM

there are no pacts between fish and men
********
Senior Member
10,544 posts

Joined: Jan 2003
From: GMT +8:00

Metal transistor gates? Should be very interesting to ECE people smile.gif

http://news.com.com/Intel+aims+for+faster,...ml?tag=nefd.top
martianunlimited
post Dec 10 2005, 08:02 AM

The original Martian
******
Senior Member
1,521 posts

Joined: Jan 2005
From: New Zealand



Haha.. Ikan, I see you are in to process technology, this news is slightly older. It appears tweedledum and tweedledee (the nick name given to Intel and AMD by theInquirer.net) are trying to go one up against each other. Who do you think have the better technology?

Shall we see the first chip using those technologies by 2010? with 30+nm technology? (SOI is very expensive to produce... but i am not sure how well can they scale the transistors with the new dopants only time will etll i guess wink.gif

improvement on SOI http://news.zdnet.com/2100-9584_22-5982887...g=zdfd.newsfeed

In other news, Infineon is going to spin off their DRAM business. Looks like only the microprocessors iare doing well. FLASH and DRAM isn't doing so hot (Samsung got sued, infienon spinning off, Agilent spun off, Spansion IPO-ing)
evangelion
post Dec 10 2005, 07:25 PM

The Ancient Ones
******
Senior Member
1,057 posts

Joined: Jan 2003
Help me to find the value of the DC output from 240V input ->380v AC voltage


Attached thumbnail(s)
Attached Image
ikanayam
post Dec 10 2005, 07:28 PM

there are no pacts between fish and men
********
Senior Member
10,544 posts

Joined: Jan 2003
From: GMT +8:00

How about showing us what you've done so far?
evangelion
post Dec 10 2005, 07:34 PM

The Ancient Ones
******
Senior Member
1,057 posts

Joined: Jan 2003
tell me the answer...quick lah!!
Shouldn't be that hard, got 533v for the DC........Assuming the input is in rms value
ikanayam
post Dec 10 2005, 07:35 PM

there are no pacts between fish and men
********
Senior Member
10,544 posts

Joined: Jan 2003
From: GMT +8:00

QUOTE(evangelion @ Dec 10 2005, 06:34 AM)
tell me the answer...quick lah!!
Shouldn't be that hard, got  533v for the DC........Assuming the input is in rms value
*
I'm sorry but this is not a do my homework thread.
evangelion
post Dec 10 2005, 07:37 PM

The Ancient Ones
******
Senior Member
1,057 posts

Joined: Jan 2003
this is not homework.it's a bloody bet on who is right with my uncle

33 Pages « < 9 10 11 12 13 > » Top
 

Change to:
| Lo-Fi Version
0.0239sec    1.26    6 queries    GZIP Disabled
Time is now: 23rd December 2025 - 08:37 AM