ÆþÌçVerilog HDLµ­½Ò¤Î²óÏ©¤Î¸¡¾Ú

ÆþÌçVerilog HDLµ­½Ò¤Î²óÏ©¤ò¸¡¾Ú¤·¤Æ¤ß¤¿¡£122¥Ú¡¼¥¸¤Î¥·¥ê¥¢¥ë¡¦¥Ñ¥é¥ì¥ëÊÑ´¹¤Ë¤Ä¤¤¤Æ¡¢Ç¼ÆÀ¤Ç¤­¤Ê¤¤µ­½Ò¤À¤Ã¤¿¤Î¤Ç¡¢¤ä¤Ã¤Æ¤ß¤¿¡£
µ­½Ò¤Ï¡¢
module Seri_Par(ck, res, en, si, q);
¡¡input ck;
¡¡input res;
¡¡input en;
¡¡input si;
¡¡output [3:0] q;
¡¡reg [3:0] q;
¡¡always @(posedge ck) begin
¡¡¡¡if (res)
¡¡¡¡¡¡q <= 4'h0;
¡¡¡¡else if (en) begin

¡¡¡¡¡¡q <= q << 1;
¡¡¡¡¡¡q[0] <= si;

¡¡¡¡end
¡¡end
endmodule

¤È¤¤¤¦¤â¤Î¡£¤É¤¦¤âq[0]¤Ë2²óÂåÆþ¤µ¤ì¤Æ¤¤¤ë¤Î¤¬µ¤¤Ë¤Ê¤ë¡£¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤·¤Æ¤ß¤¿¡£Æ°ºî¤ÏOK¡£
Seri_Par_Sim_OK_051124.jpg

XST¤ÇÏÀÍý¹çÀ®¸å¤ÎRTL²óÏ©¿Þ¤òɽ¼¨¤·¤Æ¤ß¤¿¡£
Seri_Par_OK_Cur_051124.jpg

¤¤¤¿¤Ã¤ÆÀµ¾ï¡£

¤³¤ì¤ÇÀĤÎÉôʬ¤ò²¼¤Î¤è¤¦¤ËÊѹ¹¤¹¤ë¤È¤À¤á¤À¤È¤¤¤¦¤³¤È¤À¡£
¡¡¡¡¡¡q[0] <= si;
¡¡¡¡¡¡q <= q << 1;

¤Ä¤Þ¤êµ­½Ò¤Î½çÈÖ¤òÊѤ¨¤ë¤È¤À¤á¡£¤³¤ì¤Ç¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤·¤Æ¤ß¤ë¤È
Seri_Par_Sim_NG_051124.jpg

³Î¤«¤Ë¤À¤á¤À¡£½ÐÎϤ¬½Ð¤Ê¤¤¡£
¼¡¤ËXST¤ÇÏÀÍý¹çÀ®¸å¤ÎRTL²óÏ©¿Þ¤Ï¡¢
Seri_Par_Cur_NG_051124.jpg

¤Ê¤ó¤À¤³¤ì¤Ï¡©¡¡q[0]¤¬GND¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¤À¤±¤À¡£

125¥Ú¡¼¥¸¤ÎÀµ²òÎã¤Ç¤Ï¡¢
¡¡¡¡¡¡q <= {q, si};
¤À¤Ã¤¿¤¬¡¢¤³¤ì¤â¼°¤Îº¸Êդȱ¦ÊդΥӥåÈÉý¤¬¹ç¤ï¤Ê¤¤¤Î¤Ç¡¢µ¤»ý¤Á°­¤¤¡£
VHDL¹¥¤­¤Ê»ä¤Ê¤é¤Ð¡¢¤³¤¦½ñ¤­¤¿¤¤¡£
¡¡¡¡¡¡q[3:1] <= q[2:0];
¡¡¡¡¡¡q[0] <= si;

¤â¤·¤¯¤Ï1¹Ô¤Ç½ñ¤¯¤Ê¤é¤Ð¤³¤¦¤«¡©
¡¡¡¡¡¡q <= {q[2:0], si};
Verilog½ñ¤¯»þ¤ÏËܤε­½Ò¤ÇÎɤ¤¤Î¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢»ä¤Ï²¼¤Î2Îã¤Î¤è¤¦¤Ë½ñ¤­¤¿¤¤¡£

COMMENT

- URL @
07/04¡¡19:26
.¡¡ÀΤε­»ö¤ËÂФ¹¤ë¥³¥á¥ó¥È¤Ç¿½¤·Ìõ¤¢¤ê¤Þ¤»¤ó¡£

VHDL¤«¤éÆþ¤Ã¤¿¼Ô¤Ç¤¹¤¬¡¢»ä¤â¤³¤Î½ñÀҤΤ³¤ÎÉôʬ¤Ç¡ÖÊÂÎóÂåÆþ¤Î¤¯¤»¤Ë¡¢±³¤À¤í¡¦¡¦¡©¡×¤È»×¤¤¤Þ¤·¤¿¡£
¤Þ¤º´Ö°ã¤¤¤Ê¤¯º®Í𤹤ë¤Î¤Ç¡¢»ä¤â¥Ó¥Ã¥È¤Î¥¹¥é¥¤¥¹¤ò»È¤Ã¤ÆÂåÆþ¤·¤Æ¤¤¤Þ¤¹¡£

Verilog¤ÈVHDL¤È¤É¤Á¤é¤«¤é»Ï¤á¤è¤¦¤«¤È»×¤Ã¤¿»þ¤Ë¡¢ÌÌÅݤ¯¤µ¤½¤¦¤À¤Ã¤¿VHDL¤«¤é»Ï¤á¤¿¤Î¤Ç¤¹¤¬¡¢ÌÌÅݤÊʬ¡¢¤«¤Ã¤Á¤ê¤·¤Æ¤¤¤Æ°Õ³°¤Ë¼ê¤ËÆëÀ÷¤ó¤Ç¤·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£



 

.

TRACKBACK http://marsee101.blog19.fc2.com/tb.php/74-8164f09e